{ | |||||
"benchmarking_dir": "oss://pgx-result/renluyao/manuscript_v3.0/reference_datasets_v202103/", | |||||
"fasta": "GRCh38.d1.vd1.fa", | |||||
"BENCHMARKdocker": "registry-vpc.cn-shanghai.aliyuncs.com/pgx-docker-registry/rtg-hap:latest", | |||||
"BEDTOOLSdocker": "registry-internal.cn-shanghai.aliyuncs.com/pgx-docker-registry/bedtools:v2.27.1", | |||||
"disk_size": "500", | |||||
"SMALLcluster_config": "OnDemand bcs.ps.g.xlarge img-ubuntu-vpc", | |||||
"bed": "{{ bed }}", | |||||
"BIGcluster_config": "OnDemand bcs.ps.g.2xlarge img-ubuntu-vpc", | |||||
"benchmark_region": "oss://pgx-result/renluyao/manuscript_v3.0/reference_datasets_v202103/Quartet.high.confidence.region.v202103.bed", | |||||
"MENDELIANdocker": "registry-vpc.cn-shanghai.aliyuncs.com/pgx-docker-registry/vbt:v1.1", | |||||
"DIYdocker": "registry-vpc.cn-shanghai.aliyuncs.com/pgx-docker-registry/high_confidence_call_manuscript:v1.4", | |||||
"ref_dir": "oss://pgx-reference-data/GRCh38.d1.vd1/" | |||||
} |
{ | { | ||||
"{{ project_name }}.benchmarking_dir": "oss://pgx-result/renluyao/manuscript_v3.0/reference_datasets_v202103/", | |||||
"{{ project_name }}.fasta": "GRCh38.d1.vd1.fa", | |||||
"{{ project_name }}.BENCHMARKdocker": "registry-vpc.cn-shanghai.aliyuncs.com/pgx-docker-registry/rtg-hap:latest", | |||||
"{{ project_name }}.LCL6_1": "{{ LCL6_1 }}", | |||||
"{{ project_name }}.LCL5_3": "{{ LCL5_3 }}", | |||||
"{{ project_name }}.LCL8_2": "{{ LCL8_2 }}", | |||||
"{{ project_name }}.disk_size": "500", | |||||
"{{ project_name }}.LCL8_1": "{{ LCL8_1 }}", | |||||
"{{ project_name }}.LCL6_3": "{{ LCL6_3 }}", | |||||
"{{ project_name }}.benchmarking_dir": "{{ benchmarking_dir }}", | |||||
"{{ project_name }}.fasta": "{{ fasta }}", | |||||
"{{ project_name }}.BENCHMARKdocker": "{{ BENCHMARKdocker }}", | |||||
"{{ project_name }}.BEDTOOLSdocker": "{{ BEDTOOLSdocker }}", | |||||
"{{ project_name }}.disk_size": "{{ disk_size }}", | |||||
"{{ project_name }}.inputSamplesFile": "{{ inputSamplesFile }}", | |||||
"{{ project_name }}.project": "{{ project }}", | "{{ project_name }}.project": "{{ project }}", | ||||
"{{ project_name }}.LCL7_3": "{{ LCL7_3 }}", | |||||
"{{ project_name }}.LCL5_1": "{{ LCL5_1 }}", | |||||
"{{ project_name }}.SMALLcluster_config": "OnDemand bcs.ps.g.xlarge img-ubuntu-vpc", | |||||
"{{ project_name }}.LCL6_2": "{{ LCL6_2 }}", | |||||
"{{ project_name }}.BIGcluster_config": "OnDemand bcs.ps.g.2xlarge img-ubuntu-vpc", | |||||
"{{ project_name }}.LCL7_2": "{{ LCL7_2 }}", | |||||
"{{ project_name }}.LCL5_2": "{{ LCL5_2 }}", | |||||
"{{ project_name }}.LCL7_1": "{{ LCL7_1 }}", | |||||
"{{ project_name }}.MENDELIANdocker": "registry-vpc.cn-shanghai.aliyuncs.com/pgx-docker-registry/vbt:v1.1", | |||||
"{{ project_name }}.LCL8_3": "{{ LCL8_3 }}", | |||||
"{{ project_name }}.DIYdocker": "registry-vpc.cn-shanghai.aliyuncs.com/pgx-docker-registry/high_confidence_call_manuscript:v1.4", | |||||
"{{ project_name }}.ref_dir": "oss://pgx-reference-data/GRCh38.d1.vd1/" | |||||
"{{ project_name }}.SMALLcluster_config": "{{ SMALLcluster_config }}", | |||||
"{{ project_name }}.bed": "{{ bed }}", | |||||
"{{ project_name }}.BIGcluster_config": "{{ BIGcluster_config }}", | |||||
"{{ project_name }}.benchmark_region": "{{ benchmark_region }}", | |||||
"{{ project_name }}.MENDELIANdocker": "{{ MENDELIANdocker }}", | |||||
"{{ project_name }}.DIYdocker": "{{ DIYdocker }}", | |||||
"{{ project_name }}.ref_dir": "{{ ref_dir }}" | |||||
} | } |
File vcf | File vcf | ||||
File benchmarking_dir | File benchmarking_dir | ||||
File ref_dir | File ref_dir | ||||
File filtered_bed | |||||
String sample = basename(vcf,".vcf") | String sample = basename(vcf,".vcf") | ||||
String fasta | String fasta | ||||
String docker | String docker | ||||
echo -e "#CHROM\tPOS\tID\tREF\tALT\tQUAL\tFILTER\tINFO\tFORMAT\tLCL8" > LCL8_name | echo -e "#CHROM\tPOS\tID\tREF\tALT\tQUAL\tFILTER\tINFO\tFORMAT\tLCL8" > LCL8_name | ||||
if [[ ${sample} =~ "LCL5" ]];then | if [[ ${sample} =~ "LCL5" ]];then | ||||
/opt/hap.py/bin/hap.py /cromwell_root/tmp/reference_datasets_v202103/LCL5.high.confidence.calls.vcf ${vcf} -f /cromwell_root/tmp/reference_datasets_v202103/Quartet.high.confidence.region.v202103.bed --threads $nt -o ${sample} -r ${ref_dir}/${fasta} | |||||
/opt/hap.py/bin/hap.py /cromwell_root/tmp/reference_datasets_v202103/LCL5.high.confidence.calls.vcf ${vcf} -f ${filtered_bed} --threads $nt -o ${sample} -r ${ref_dir}/${fasta} | |||||
cat ${vcf} | grep '##' > header | cat ${vcf} | grep '##' > header | ||||
cat ${vcf} | grep -v '#' > body | cat ${vcf} | grep -v '#' > body | ||||
cat header LCL5_name body > LCL5.vcf | cat header LCL5_name body > LCL5.vcf | ||||
/opt/rtg-tools/dist/rtg-tools-3.10.1-4d58ead/rtg bgzip LCL5.vcf -c > ${sample}.reformed.vcf.gz | /opt/rtg-tools/dist/rtg-tools-3.10.1-4d58ead/rtg bgzip LCL5.vcf -c > ${sample}.reformed.vcf.gz | ||||
/opt/rtg-tools/dist/rtg-tools-3.10.1-4d58ead/rtg index -f vcf ${sample}.reformed.vcf.gz | /opt/rtg-tools/dist/rtg-tools-3.10.1-4d58ead/rtg index -f vcf ${sample}.reformed.vcf.gz | ||||
elif [[ ${sample} =~ "LCL6" ]]; then | elif [[ ${sample} =~ "LCL6" ]]; then | ||||
/opt/hap.py/bin/hap.py /cromwell_root/tmp/reference_datasets_v202103/LCL6.high.confidence.calls.vcf ${vcf} -f /cromwell_root/tmp/reference_datasets_v202103/Quartet.high.confidence.region.v202103.bed --threads $nt -o ${sample} -r ${ref_dir}/${fasta} | |||||
/opt/hap.py/bin/hap.py /cromwell_root/tmp/reference_datasets_v202103/LCL6.high.confidence.calls.vcf ${vcf} -f ${filtered_bed} --threads $nt -o ${sample} -r ${ref_dir}/${fasta} | |||||
cat ${vcf} | grep '##' > header | cat ${vcf} | grep '##' > header | ||||
cat ${vcf} | grep -v '#' > body | cat ${vcf} | grep -v '#' > body | ||||
cat header LCL6_name body > LCL6.vcf | cat header LCL6_name body > LCL6.vcf | ||||
/opt/rtg-tools/dist/rtg-tools-3.10.1-4d58ead/rtg bgzip LCL6.vcf -c > ${sample}.reformed.vcf.gz | /opt/rtg-tools/dist/rtg-tools-3.10.1-4d58ead/rtg bgzip LCL6.vcf -c > ${sample}.reformed.vcf.gz | ||||
/opt/rtg-tools/dist/rtg-tools-3.10.1-4d58ead/rtg index -f vcf ${sample}.reformed.vcf.gz | /opt/rtg-tools/dist/rtg-tools-3.10.1-4d58ead/rtg index -f vcf ${sample}.reformed.vcf.gz | ||||
elif [[ ${sample} =~ "LCL7" ]]; then | elif [[ ${sample} =~ "LCL7" ]]; then | ||||
/opt/hap.py/bin/hap.py /cromwell_root/tmp/reference_datasets_v202103/LCL7.high.confidence.calls.vcf ${vcf} -f /cromwell_root/tmp/reference_datasets_v202103/Quartet.high.confidence.region.v202103.bed --threads $nt -o ${sample} -r ${ref_dir}/${fasta} | |||||
/opt/hap.py/bin/hap.py /cromwell_root/tmp/reference_datasets_v202103/LCL7.high.confidence.calls.vcf ${vcf} -f ${filtered_bed} --threads $nt -o ${sample} -r ${ref_dir}/${fasta} | |||||
cat ${vcf} | grep '##' > header | cat ${vcf} | grep '##' > header | ||||
cat ${vcf} | grep -v '#' > body | cat ${vcf} | grep -v '#' > body | ||||
cat header LCL7_name body > LCL7.vcf | cat header LCL7_name body > LCL7.vcf | ||||
/opt/rtg-tools/dist/rtg-tools-3.10.1-4d58ead/rtg bgzip LCL7.vcf -c > ${sample}.reformed.vcf.gz | /opt/rtg-tools/dist/rtg-tools-3.10.1-4d58ead/rtg bgzip LCL7.vcf -c > ${sample}.reformed.vcf.gz | ||||
/opt/rtg-tools/dist/rtg-tools-3.10.1-4d58ead/rtg index -f vcf ${sample}.reformed.vcf.gz | /opt/rtg-tools/dist/rtg-tools-3.10.1-4d58ead/rtg index -f vcf ${sample}.reformed.vcf.gz | ||||
elif [[ ${sample} =~ "LCL8" ]]; then | elif [[ ${sample} =~ "LCL8" ]]; then | ||||
/opt/hap.py/bin/hap.py /cromwell_root/tmp/reference_datasets_v202103/LCL8.high.confidence.calls.vcf ${vcf} -f /cromwell_root/tmp/reference_datasets_v202103/Quartet.high.confidence.region.v202103.bed --threads $nt -o ${sample} -r ${ref_dir}/${fasta} | |||||
/opt/hap.py/bin/hap.py /cromwell_root/tmp/reference_datasets_v202103/LCL8.high.confidence.calls.vcf ${vcf} -f ${filtered_bed} --threads $nt -o ${sample} -r ${ref_dir}/${fasta} | |||||
cat ${vcf} | grep '##' > header | cat ${vcf} | grep '##' > header | ||||
cat ${vcf} | grep -v '#' > body | cat ${vcf} | grep -v '#' > body | ||||
cat header LCL8_name body > LCL8.vcf | cat header LCL8_name body > LCL8.vcf |
task filter_bed { | |||||
File bed | |||||
File benchmark_region | |||||
String docker | |||||
String cluster_config | |||||
String disk_size | |||||
command <<< | |||||
/opt/ccdg/bedtools-2.27.1/bin/bedtools intersect -a ${benchmark_region} -b ${bed} > benchmark_region_query_bed.bed | |||||
>>> | |||||
runtime { | |||||
docker:docker | |||||
cluster: cluster_config | |||||
systemDisk: "cloud_ssd 40" | |||||
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/" | |||||
} | |||||
output { | |||||
File filtered_bed = "benchmark_region_query_bed.bed" | |||||
} | |||||
} |
task quartet_mendelian { | task quartet_mendelian { | ||||
File summary_1 | |||||
File summary_2 | |||||
File summary_3 | |||||
File LCL5_hap_1 | |||||
File LCL5_hap_2 | |||||
File LCL5_hap_3 | |||||
File LCL6_hap_1 | |||||
File LCL6_hap_2 | |||||
File LCL6_hap_3 | |||||
File LCL7_hap_1 | |||||
File LCL7_hap_2 | |||||
File LCL7_hap_3 | |||||
File LCL8_hap_1 | |||||
File LCL8_hap_2 | |||||
File LCL8_hap_3 | |||||
Array[File] summary | |||||
Array[File] LCL5_hap | |||||
Array[File] LCL6_hap | |||||
Array[File] LCL7_hap | |||||
Array[File] LCL8_hap | |||||
String docker | String docker | ||||
String project | String project | ||||
String cluster_config | String cluster_config | ||||
String disk_size | String disk_size | ||||
command <<< | command <<< | ||||
cat ${summary_1} ${summary_2} ${summary_3} | grep -v 'Family'> mendelian.summary | |||||
cat ${sep=" " summary} | grep -v 'Family'> mendelian.summary | |||||
sed '1iFamily\tTotal_Variants\tMendelian_Concordant_Variants\tMendelian_Concordance_Rate' mendelian.summary > mendelian.txt | sed '1iFamily\tTotal_Variants\tMendelian_Concordant_Variants\tMendelian_Concordance_Rate' mendelian.summary > mendelian.txt | ||||
cat mendelian.txt | grep 'INDEL' | cut -f4 | grep -v 'Mendelian_Concordance_Rate' | awk '{for(i=1;i<=NF;i++) {sum[i] += $i; sumsq[i] += ($i)^2}} | cat mendelian.txt | grep 'INDEL' | cut -f4 | grep -v 'Mendelian_Concordance_Rate' | awk '{for(i=1;i<=NF;i++) {sum[i] += $i; sumsq[i] += ($i)^2}} | ||||
printf "%f %f \n", sum[i]/NR, sqrt((sumsq[i]-sum[i]^2/NR)/NR)} | printf "%f %f \n", sum[i]/NR, sqrt((sumsq[i]-sum[i]^2/NR)/NR)} | ||||
}' >> quartet_snv_aver-std.txt | }' >> quartet_snv_aver-std.txt | ||||
cat ${LCL5_hap_1} ${LCL5_hap_2} ${LCL5_hap_3} ${LCL6_hap_1} ${LCL6_hap_2} ${LCL6_hap_3} ${LCL7_hap_1} ${LCL7_hap_2} ${LCL7_hap_3} ${LCL8_hap_1} ${LCL8_hap_2} ${LCL8_hap_3} | grep ALL | sed s'/,/\t/g' > hap.summary | |||||
cat ${sep=" " LCL5_hap} ${sep=" " LCL6_hap} ${sep=" " LCL7_hap} ${sep=" " LCL8_hap} | grep ALL | sed s'/,/\t/g' > hap.summary | |||||
sed '1i\Type\tFilter\tTRUTH.TOTAL\tTRUTH.TP\tTRUTH.FN\tQUERY.TOTAL\tQUERY.FP\tQUERY.UNK\tFP.gt\tMETRIC.Recall\tMETRIC.Precision\tMETRIC.Frac_NA\tMETRIC.F1_Score\tTRUTH.TOTAL.TiTv_ratio\tQUERY.TOTAL.TiTv_ratio\tTRUTH.TOTAL.het_hom_ratio\tQUERY.TOTAL.het_hom_ratio' hap.summary > precision_recall | sed '1i\Type\tFilter\tTRUTH.TOTAL\tTRUTH.TP\tTRUTH.FN\tQUERY.TOTAL\tQUERY.FP\tQUERY.UNK\tFP.gt\tMETRIC.Recall\tMETRIC.Precision\tMETRIC.Frac_NA\tMETRIC.F1_Score\tTRUTH.TOTAL.TiTv_ratio\tQUERY.TOTAL.TiTv_ratio\tTRUTH.TOTAL.het_hom_ratio\tQUERY.TOTAL.het_hom_ratio' hap.summary > precision_recall | ||||
python /opt/hap_summary.py -hap precision_recall -name ${project} | python /opt/hap_summary.py -hap precision_recall -name ${project} |
import "./tasks/benchmark.wdl" as benchmark | import "./tasks/benchmark.wdl" as benchmark | ||||
import "./tasks/filter_bed.wdl" as filter_bed | |||||
import "./tasks/mendelian.wdl" as mendelian | import "./tasks/mendelian.wdl" as mendelian | ||||
import "./tasks/merge_mendelian.wdl" as merge_mendelian | import "./tasks/merge_mendelian.wdl" as merge_mendelian | ||||
import "./tasks/merge_family.wdl" as merge_family | import "./tasks/merge_family.wdl" as merge_family | ||||
import "./tasks/quartet_mendelian.wdl" as quartet_mendelian | import "./tasks/quartet_mendelian.wdl" as quartet_mendelian | ||||
workflow project_name { | |||||
workflow {{ project_name }} { | |||||
File LCL5_1 | |||||
File LCL6_1 | |||||
File LCL7_1 | |||||
File LCL8_1 | |||||
File LCL5_2 | |||||
File LCL6_2 | |||||
File LCL7_2 | |||||
File LCL8_2 | |||||
File LCL5_3 | |||||
File LCL6_3 | |||||
File LCL7_3 | |||||
File LCL8_3 | |||||
File inputSamplesFile | |||||
Array[Array[File]] inputSamples = read_tsv(inputSamplesFile) | |||||
String BENCHMARKdocker | String BENCHMARKdocker | ||||
String MENDELIANdocker | String MENDELIANdocker | ||||
String DIYdocker | String DIYdocker | ||||
String BEDTOOLSdocker | |||||
String fasta | String fasta | ||||
File ref_dir | File ref_dir | ||||
File benchmark_region | |||||
File bed | |||||
File benchmarking_dir | File benchmarking_dir | ||||
String BIGcluster_config | String BIGcluster_config | ||||
String SMALLcluster_config | String SMALLcluster_config | ||||
call benchmark.benchmark as LCL5_1_benchmark { | |||||
input: | |||||
vcf=LCL5_1, | |||||
benchmarking_dir=benchmarking_dir, | |||||
ref_dir=ref_dir, | |||||
fasta=fasta, | |||||
docker=BENCHMARKdocker, | |||||
cluster_config=BIGcluster_config, | |||||
disk_size=disk_size, | |||||
} | |||||
call benchmark.benchmark as LCL5_2_benchmark { | |||||
input: | |||||
vcf=LCL5_2, | |||||
benchmarking_dir=benchmarking_dir, | |||||
ref_dir=ref_dir, | |||||
fasta=fasta, | |||||
docker=BENCHMARKdocker, | |||||
cluster_config=BIGcluster_config, | |||||
disk_size=disk_size, | |||||
} | |||||
call benchmark.benchmark as LCL5_3_benchmark { | |||||
input: | |||||
vcf=LCL5_3, | |||||
benchmarking_dir=benchmarking_dir, | |||||
ref_dir=ref_dir, | |||||
fasta=fasta, | |||||
docker=BENCHMARKdocker, | |||||
cluster_config=BIGcluster_config, | |||||
disk_size=disk_size, | |||||
} | |||||
call benchmark.benchmark as LCL6_1_benchmark { | |||||
input: | |||||
vcf=LCL6_1, | |||||
benchmarking_dir=benchmarking_dir, | |||||
ref_dir=ref_dir, | |||||
fasta=fasta, | |||||
docker=BENCHMARKdocker, | |||||
cluster_config=BIGcluster_config, | |||||
disk_size=disk_size, | |||||
} | |||||
call benchmark.benchmark as LCL6_2_benchmark { | |||||
input: | |||||
vcf=LCL6_2, | |||||
benchmarking_dir=benchmarking_dir, | |||||
ref_dir=ref_dir, | |||||
fasta=fasta, | |||||
docker=BENCHMARKdocker, | |||||
cluster_config=BIGcluster_config, | |||||
disk_size=disk_size, | |||||
} | |||||
call benchmark.benchmark as LCL6_3_benchmark { | |||||
input: | |||||
vcf=LCL6_3, | |||||
benchmarking_dir=benchmarking_dir, | |||||
ref_dir=ref_dir, | |||||
fasta=fasta, | |||||
docker=BENCHMARKdocker, | |||||
cluster_config=BIGcluster_config, | |||||
disk_size=disk_size, | |||||
} | |||||
call benchmark.benchmark as LCL7_1_benchmark { | |||||
input: | |||||
vcf=LCL7_1, | |||||
benchmarking_dir=benchmarking_dir, | |||||
ref_dir=ref_dir, | |||||
fasta=fasta, | |||||
docker=BENCHMARKdocker, | |||||
cluster_config=BIGcluster_config, | |||||
disk_size=disk_size, | |||||
} | |||||
call benchmark.benchmark as LCL7_2_benchmark { | |||||
input: | |||||
vcf=LCL7_2, | |||||
benchmarking_dir=benchmarking_dir, | |||||
ref_dir=ref_dir, | |||||
fasta=fasta, | |||||
docker=BENCHMARKdocker, | |||||
cluster_config=BIGcluster_config, | |||||
disk_size=disk_size, | |||||
} | |||||
call benchmark.benchmark as LCL7_3_benchmark { | |||||
input: | |||||
vcf=LCL7_3, | |||||
benchmarking_dir=benchmarking_dir, | |||||
ref_dir=ref_dir, | |||||
fasta=fasta, | |||||
docker=BENCHMARKdocker, | |||||
cluster_config=BIGcluster_config, | |||||
disk_size=disk_size, | |||||
} | |||||
call benchmark.benchmark as LCL8_1_benchmark { | |||||
input: | |||||
vcf=LCL8_1, | |||||
benchmarking_dir=benchmarking_dir, | |||||
ref_dir=ref_dir, | |||||
fasta=fasta, | |||||
docker=BENCHMARKdocker, | |||||
cluster_config=BIGcluster_config, | |||||
disk_size=disk_size, | |||||
} | |||||
call benchmark.benchmark as LCL8_2_benchmark { | |||||
input: | |||||
vcf=LCL8_2, | |||||
benchmarking_dir=benchmarking_dir, | |||||
ref_dir=ref_dir, | |||||
fasta=fasta, | |||||
docker=BENCHMARKdocker, | |||||
cluster_config=BIGcluster_config, | |||||
disk_size=disk_size, | |||||
} | |||||
call benchmark.benchmark as LCL8_3_benchmark { | |||||
input: | |||||
vcf=LCL8_3, | |||||
benchmarking_dir=benchmarking_dir, | |||||
ref_dir=ref_dir, | |||||
fasta=fasta, | |||||
docker=BENCHMARKdocker, | |||||
cluster_config=BIGcluster_config, | |||||
disk_size=disk_size, | |||||
} | |||||
call merge_family.merge_family as merge_family_1 { | |||||
call filter_bed.filter_bed as filter_bed { | |||||
input: | input: | ||||
LCL5_vcf_gz=LCL5_1_benchmark.rtg_vcf, | |||||
LCL5_vcf_idx=LCL5_1_benchmark.rtg_vcf_index, | |||||
LCL6_vcf_gz=LCL6_1_benchmark.rtg_vcf, | |||||
LCL6_vcf_idx=LCL6_1_benchmark.rtg_vcf_index, | |||||
LCL7_vcf_gz=LCL7_1_benchmark.rtg_vcf, | |||||
LCL7_vcf_idx=LCL7_1_benchmark.rtg_vcf_index, | |||||
LCL8_vcf_gz=LCL8_1_benchmark.rtg_vcf, | |||||
LCL8_vcf_idx=LCL8_1_benchmark.rtg_vcf, | |||||
project=project, | |||||
rep="1", | |||||
docker=BENCHMARKdocker, | |||||
cluster_config=BIGcluster_config, | |||||
disk_size=disk_size, | |||||
} | |||||
call merge_family.merge_family as merge_family_2 { | |||||
input: | |||||
LCL5_vcf_gz=LCL5_2_benchmark.rtg_vcf, | |||||
LCL5_vcf_idx=LCL5_2_benchmark.rtg_vcf_index, | |||||
LCL6_vcf_gz=LCL6_2_benchmark.rtg_vcf, | |||||
LCL6_vcf_idx=LCL6_2_benchmark.rtg_vcf_index, | |||||
LCL7_vcf_gz=LCL7_2_benchmark.rtg_vcf, | |||||
LCL7_vcf_idx=LCL7_2_benchmark.rtg_vcf_index, | |||||
LCL8_vcf_gz=LCL8_2_benchmark.rtg_vcf, | |||||
LCL8_vcf_idx=LCL8_2_benchmark.rtg_vcf, | |||||
project=project, | |||||
rep="2", | |||||
docker=BENCHMARKdocker, | |||||
cluster_config=BIGcluster_config, | |||||
disk_size=disk_size, | |||||
} | |||||
call merge_family.merge_family as merge_family_3 { | |||||
input: | |||||
LCL5_vcf_gz=LCL5_3_benchmark.rtg_vcf, | |||||
LCL5_vcf_idx=LCL5_3_benchmark.rtg_vcf_index, | |||||
LCL6_vcf_gz=LCL6_3_benchmark.rtg_vcf, | |||||
LCL6_vcf_idx=LCL6_3_benchmark.rtg_vcf_index, | |||||
LCL7_vcf_gz=LCL7_3_benchmark.rtg_vcf, | |||||
LCL7_vcf_idx=LCL7_3_benchmark.rtg_vcf_index, | |||||
LCL8_vcf_gz=LCL8_3_benchmark.rtg_vcf, | |||||
LCL8_vcf_idx=LCL8_3_benchmark.rtg_vcf, | |||||
project=project, | |||||
rep="3", | |||||
docker=BENCHMARKdocker, | |||||
cluster_config=BIGcluster_config, | |||||
disk_size=disk_size, | |||||
} | |||||
call mendelian.mendelian as mendelian_1 { | |||||
input: | |||||
family_vcf=merge_family_1.merged_vcf, | |||||
ref_dir=ref_dir, | |||||
fasta=fasta, | |||||
docker=MENDELIANdocker, | |||||
cluster_config=BIGcluster_config, | |||||
disk_size=disk_size | |||||
} | |||||
call mendelian.mendelian as mendelian_2 { | |||||
input: | |||||
family_vcf=merge_family_2.merged_vcf, | |||||
ref_dir=ref_dir, | |||||
fasta=fasta, | |||||
docker=MENDELIANdocker, | |||||
cluster_config=BIGcluster_config, | |||||
disk_size=disk_size | |||||
} | |||||
call mendelian.mendelian as mendelian_3 { | |||||
input: | |||||
family_vcf=merge_family_3.merged_vcf, | |||||
ref_dir=ref_dir, | |||||
fasta=fasta, | |||||
docker=MENDELIANdocker, | |||||
cluster_config=BIGcluster_config, | |||||
disk_size=disk_size | |||||
} | |||||
call merge_mendelian.merge_mendelian as merge_mendelian_1 { | |||||
input: | |||||
D5_trio_vcf=mendelian_1.D5_trio_vcf, | |||||
D6_trio_vcf=mendelian_1.D6_trio_vcf, | |||||
family_vcf=merge_family_1.merged_vcf, | |||||
docker=DIYdocker, | |||||
bed=bed, | |||||
benchmark_region=benchmark_region, | |||||
docker=BEDTOOLSdocker, | |||||
cluster_config=SMALLcluster_config, | cluster_config=SMALLcluster_config, | ||||
disk_size=disk_size | disk_size=disk_size | ||||
} | } | ||||
call merge_mendelian.merge_mendelian as merge_mendelian_2 { | |||||
input: | |||||
D5_trio_vcf=mendelian_2.D5_trio_vcf, | |||||
D6_trio_vcf=mendelian_2.D6_trio_vcf, | |||||
family_vcf=merge_family_2.merged_vcf, | |||||
docker=DIYdocker, | |||||
cluster_config=SMALLcluster_config, | |||||
disk_size=disk_size | |||||
} | |||||
call merge_mendelian.merge_mendelian as merge_mendelian_3 { | |||||
input: | |||||
D5_trio_vcf=mendelian_3.D5_trio_vcf, | |||||
D6_trio_vcf=mendelian_3.D6_trio_vcf, | |||||
family_vcf=merge_family_3.merged_vcf, | |||||
docker=DIYdocker, | |||||
cluster_config=SMALLcluster_config, | |||||
disk_size=disk_size | |||||
} | |||||
call quartet_mendelian.quartet_mendelian as quartet_mendelian{ | |||||
input: | |||||
summary_1=merge_mendelian_1.project_mendelian_summary, | |||||
summary_2=merge_mendelian_2.project_mendelian_summary, | |||||
summary_3=merge_mendelian_3.project_mendelian_summary, | |||||
LCL5_hap_1=LCL5_1_benchmark.summary, | |||||
LCL5_hap_2=LCL5_2_benchmark.summary, | |||||
LCL5_hap_3=LCL5_3_benchmark.summary, | |||||
LCL6_hap_1=LCL6_1_benchmark.summary, | |||||
LCL6_hap_2=LCL6_2_benchmark.summary, | |||||
LCL6_hap_3=LCL6_3_benchmark.summary, | |||||
LCL7_hap_1=LCL7_1_benchmark.summary, | |||||
LCL7_hap_2=LCL7_2_benchmark.summary, | |||||
LCL7_hap_3=LCL7_3_benchmark.summary, | |||||
LCL8_hap_1=LCL8_1_benchmark.summary, | |||||
LCL8_hap_2=LCL8_2_benchmark.summary, | |||||
LCL8_hap_3=LCL8_3_benchmark.summary, | |||||
scatter (sample in inputSamples){ | |||||
call benchmark.benchmark as LCL5_benchmark { | |||||
input: | |||||
vcf=sample[0], | |||||
benchmarking_dir=benchmarking_dir, | |||||
filtered_bed=filter_bed.filtered_bed, | |||||
ref_dir=ref_dir, | |||||
fasta=fasta, | |||||
docker=BENCHMARKdocker, | |||||
cluster_config=BIGcluster_config, | |||||
disk_size=disk_size | |||||
} | |||||
call benchmark.benchmark as LCL6_benchmark { | |||||
input: | |||||
vcf=sample[1], | |||||
benchmarking_dir=benchmarking_dir, | |||||
filtered_bed=filter_bed.filtered_bed, | |||||
ref_dir=ref_dir, | |||||
fasta=fasta, | |||||
docker=BENCHMARKdocker, | |||||
cluster_config=BIGcluster_config, | |||||
disk_size=disk_size | |||||
} | |||||
call benchmark.benchmark as LCL7_benchmark { | |||||
input: | |||||
vcf=sample[2], | |||||
benchmarking_dir=benchmarking_dir, | |||||
filtered_bed=filter_bed.filtered_bed, | |||||
ref_dir=ref_dir, | |||||
fasta=fasta, | |||||
docker=BENCHMARKdocker, | |||||
cluster_config=BIGcluster_config, | |||||
disk_size=disk_size | |||||
} | |||||
call benchmark.benchmark as LCL8_benchmark { | |||||
input: | |||||
vcf=sample[3], | |||||
benchmarking_dir=benchmarking_dir, | |||||
filtered_bed=filter_bed.filtered_bed, | |||||
ref_dir=ref_dir, | |||||
fasta=fasta, | |||||
docker=BENCHMARKdocker, | |||||
cluster_config=BIGcluster_config, | |||||
disk_size=disk_size | |||||
} | |||||
call merge_family.merge_family as merge_family { | |||||
input: | |||||
LCL5_vcf_gz=LCL5_benchmark.rtg_vcf, | |||||
LCL5_vcf_idx=LCL5_benchmark.rtg_vcf_index, | |||||
LCL6_vcf_gz=LCL6_benchmark.rtg_vcf, | |||||
LCL6_vcf_idx=LCL6_benchmark.rtg_vcf_index, | |||||
LCL7_vcf_gz=LCL7_benchmark.rtg_vcf, | |||||
LCL7_vcf_idx=LCL7_benchmark.rtg_vcf_index, | |||||
LCL8_vcf_gz=LCL8_benchmark.rtg_vcf, | |||||
LCL8_vcf_idx=LCL8_benchmark.rtg_vcf, | |||||
project=project, | |||||
rep="1", | |||||
docker=BENCHMARKdocker, | |||||
cluster_config=BIGcluster_config, | |||||
disk_size=disk_size, | |||||
} | |||||
call mendelian.mendelian as mendelian { | |||||
input: | |||||
family_vcf=merge_family.merged_vcf, | |||||
ref_dir=ref_dir, | |||||
fasta=fasta, | |||||
docker=MENDELIANdocker, | |||||
cluster_config=BIGcluster_config, | |||||
disk_size=disk_size | |||||
} | |||||
call merge_mendelian.merge_mendelian as merge_mendelian { | |||||
input: | |||||
D5_trio_vcf=mendelian.D5_trio_vcf, | |||||
D6_trio_vcf=mendelian.D6_trio_vcf, | |||||
family_vcf=merge_family.merged_vcf, | |||||
docker=DIYdocker, | |||||
cluster_config=SMALLcluster_config, | |||||
disk_size=disk_size | |||||
} | |||||
} | |||||
call quartet_mendelian.quartet_mendelian as quartet_mendelian { | |||||
input: | |||||
summary=merge_mendelian.project_mendelian_summary, | |||||
LCL5_hap=LCL5_benchmark.summary, | |||||
LCL6_hap=LCL6_benchmark.summary, | |||||
LCL7_hap=LCL7_benchmark.summary, | |||||
LCL8_hap=LCL8_benchmark.summary, | |||||
docker=DIYdocker, | docker=DIYdocker, | ||||
project=project, | project=project, | ||||
cluster_config=SMALLcluster_config, | cluster_config=SMALLcluster_config, |