|
|
@@ -1,34 +1,25 @@ |
|
|
|
import "./tasks/benchmark.wdl" as benchmark |
|
|
|
import "./tasks/filter_bed.wdl" as filter_bed |
|
|
|
import "./tasks/mendelian.wdl" as mendelian |
|
|
|
import "./tasks/merge_mendelian.wdl" as merge_mendelian |
|
|
|
import "./tasks/merge_family.wdl" as merge_family |
|
|
|
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 MENDELIANdocker |
|
|
|
String DIYdocker |
|
|
|
String BEDTOOLSdocker |
|
|
|
|
|
|
|
|
|
|
|
String fasta |
|
|
|
File ref_dir |
|
|
|
File benchmark_region |
|
|
|
File bed |
|
|
|
|
|
|
|
File benchmarking_dir |
|
|
|
|
|
|
@@ -38,267 +29,112 @@ workflow {{ project_name }} { |
|
|
|
String BIGcluster_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: |
|
|
|
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, |
|
|
|
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, |
|
|
|
project=project, |
|
|
|
cluster_config=SMALLcluster_config, |