@@ -29,5 +29,7 @@ | |||
(5) multiqc | |||
(6) VcfStats | |||
注:可查询multiqc支持的指控模块,按需求添加 <https://multiqc.info/docs/#multiqc-modules> | |||
@@ -1,20 +1,26 @@ | |||
{ | |||
"{{ project_name }}.benchmarking_dir": "oss://chinese-quartet/quartet-result-data/NCTR_benchmarking_20181215/", | |||
"{{ project_name }}.vcfstat.docker": "registry-vpc.cn-shanghai.aliyuncs.com/pgx-docker-registry/rtg-hap:latest", | |||
"{{ project_name }}.fasta": "GRCh38.d1.vd1.fa", | |||
"{{ project_name }}.fastqc.disk_size": "150", | |||
"{{ project_name }}.benchmark.cluster_config": "OnDemand ecs.sn1ne.4xlarge img-ubuntu-vpc", | |||
"{{ project_name }}.fastqscreen.cluster_config": "OnDemand ecs.sn1ne.4xlarge img-ubuntu-vpc", | |||
"{{ project_name }}.fastqc.cluster_config": "OnDemand ecs.sn1ne.4xlarge img-ubuntu-vpc", | |||
"{{ project_name }}.benchmark.disk_size": "150", | |||
"{{ project_name }}.vcfstat.disk_size": "100", | |||
"{{ project_name }}.fastqc.docker": "registry.cn-shanghai.aliyuncs.com/pgx-docker-registry/fastqc:v0.11.5", | |||
"{{ project_name }}.benchmark.docker": "registry-vpc.cn-shanghai.aliyuncs.com/pgx-docker-registry/rtg-hap:latest", | |||
"{{ project_name }}.inputSamplesFile": "{{ inputSamplesFile }}", | |||
"{{ project_name }}.fastqscreen.docker": "registry.cn-shanghai.aliyuncs.com/pgx-docker-registry/fastqscreen:0.12.0", | |||
"{{ project_name }}.mergeNum.docker": "registry.cn-shanghai.aliyuncs.com/pgx-docker-registry/gatk:v2019.01", | |||
"{{ project_name }}.screen_ref_dir": "oss://pgx-reference-data/fastq_screen_reference/", | |||
"{{ project_name }}.mergeNum.disk_size": "100", | |||
"{{ project_name }}.fastq_screen_conf": "oss://pgx-reference-data/fastq_screen_reference/fastq_screen.conf", | |||
"{{ project_name }}.multiqc.cluster_config": "OnDemand ecs.sn1ne.4xlarge img-ubuntu-vpc", | |||
"{{ project_name }}.multiqc.docker": "registry-vpc.cn-shanghai.aliyuncs.com/pgx-docker-registry/multiqc:v1.8", | |||
"{{ project_name }}.mergeNum.cluster_config": "OnDemand ecs.sn1ne.xlarge img-ubuntu-vpc", | |||
"{{ project_name }}.bamqc.cluster_config": "OnDemand ecs.sn1ne.8xlarge img-ubuntu-vpc", | |||
"{{ project_name }}.vcfstat.cluster_config": "OnDemand ecs.sn1ne.4xlarge img-ubuntu-vpc", | |||
"{{ project_name }}.fastqscreen.disk_size": "100", | |||
"{{ project_name }}.bamqc.disk_size": "500", | |||
"{{ project_name }}.multiqc.disk_size": "100", |
@@ -10,8 +10,8 @@ task bamqc { | |||
set -o pipefail | |||
set -e | |||
nt=$(nproc) | |||
/opt/qualimap/qualimap bamqc -bam ${bam} -outformat PDF:HTML -nt $nt -outdir result --java-mem-size=32G | |||
tar -zcvf ${bamname}_qualimap.zip ./result | |||
/opt/qualimap/qualimap bamqc -bam ${bam} -outformat PDF:HTML -nt $nt -outdir ${bamname} --java-mem-size=32G | |||
tar -zcvf ${bamname}_qualimap.zip ${bamname} | |||
>>> | |||
runtime { |
@@ -0,0 +1,26 @@ | |||
task mergeNum { | |||
Array[File] vcfnumber | |||
String docker | |||
String cluster_config | |||
String disk_size | |||
command <<< | |||
set -o pipefail | |||
set -e | |||
for i in ${seq=" " vcfnumber} | |||
do | |||
cat $i | cut -d':' -f2 | tr '\n' '\t' | sed s'/\t$/\n/g' >> vcfstats | |||
done | |||
sed '1i\File\tFailed Filters\tPassed Filters\tSNPs\tMNPs\tInsertions\tDeletions\tIndels\tSame as reference\tSNP Transitions/Transversions\tTotal Het/Hom ratio\tSNP Het/Hom ratio\tMNP Het/Hom ratio\tInsertion Het/Hom ratio\tDeletion Het/Hom ratio\tIndel Het/Hom ratio\tInsertion/Deletion ratio\tIndel/SNP+MNP ratio' vcfstats > vcfstats.txt | |||
>>> | |||
runtime { | |||
docker:docker | |||
cluster:cluster_config | |||
systemDisk:"cloud_ssd 40" | |||
dataDisk:"cloud_ssd " + disk_size + " /cromwell_root/" | |||
} | |||
output { | |||
File vcfstat="vcfstats.txt" | |||
} | |||
} |
@@ -6,11 +6,7 @@ task multiqc { | |||
Array[File] txt1 | |||
Array[File] txt2 | |||
Array[File] genome_result | |||
Array[File] coverage | |||
Array[File] insert_size | |||
Array[File] genome_fraction | |||
Array[File] gc_dist | |||
Array[File] zip | |||
Array[File] summary | |||
@@ -28,8 +24,12 @@ task multiqc { | |||
cp ${sep=" " read1_zip} ${sep=" " read2_zip} /cromwell_root/tmp/fastqc | |||
cp ${sep=" " txt1} ${sep=" " txt2} /cromwell_root/tmp/fastqscreen | |||
cp ${sep=" " genome_result} ${sep=" " coverage} ${sep=" " insert_size} ${sep=" " genome_fraction} ${sep=" " gc_dist} /cromwell_root/tmp/bamqc | |||
cp ${sep=" " zip} /cromwell_root/tmp/bamqc | |||
cp ${sep=" " summary} /cromwell_root/tmp/benchmark | |||
for i in `ls /cromwell_root/tmp/bamqc` | |||
do | |||
tar -zxvf $i | |||
done | |||
multiqc /cromwell_root/tmp/ | |||
ls > filelist |
@@ -0,0 +1,22 @@ | |||
task vcfstat { | |||
File vcf | |||
String docker | |||
String cluster_config | |||
String disk_size | |||
command <<< | |||
set -o pipefail | |||
set -e | |||
rtg vcfstats ${vcf} > onestats.txt | |||
>>> | |||
runtime { | |||
docker:docker | |||
cluster:cluster_config | |||
systemDisk:"cloud_ssd 40" | |||
dataDisk:"cloud_ssd " + disk_size + " /cromwell_root/" | |||
} | |||
output { | |||
File vcfnumber="onestats.txt" | |||
} | |||
} |
@@ -3,6 +3,9 @@ import "./tasks/fastqscreen.wdl" as fastqscreen | |||
import "./tasks/bamqc.wdl" as bamqc | |||
import "./tasks/benchmark.wdl" as benchmark | |||
import "./tasks/multiqc.wdl" as multiqc | |||
import "./tasks/vcfstat.wdl" as vcfstat | |||
import "./tasks/mergeNum.wdl" as mergeNum | |||
workflow {{ project_name }} { | |||
@@ -43,6 +46,13 @@ workflow {{ project_name }} { | |||
sample_mark=sample[5], | |||
fasta=fasta | |||
} | |||
call vcfstat.vcfstat as vcfstat { | |||
input: | |||
vcf=sample[4] | |||
} | |||
} | |||
call multiqc.multiqc as multiqc { | |||
input: | |||
@@ -50,13 +60,14 @@ workflow {{ project_name }} { | |||
read2_zip=fastqc.read2_zip, | |||
txt1=fastqscreen.txt1, | |||
txt2=fastqscreen.txt2, | |||
genome_result=bamqc.genome_result, | |||
coverage=bamqc.coverage, | |||
insert_size=bamqc.insert_size, | |||
genome_fraction=bamqc.genome_fraction, | |||
gc_dist=bamqc.gc_dist, | |||
zip=bamqc.zip, | |||
summary=benchmark.summary | |||
} | |||
call mergeNum.mergeNum as mergeNum { | |||
input: | |||
vcfnumber=vcfstat.vcfnumber | |||
} | |||
} | |||