import "./tasks/variantsNorm.wdl" as variantsNorm import "./tasks/sister.wdl" as sister import "./tasks/mendelian.wdl" as mendelian import "./tasks/zipIndex.wdl" as zipIndex import "./tasks/merge.wdl" as merge workflow {{ project_name }} { File inputSamplesFile Array[Array[File]] inputSamples = read_tsv(inputSamplesFile) File ref_dir String fasta String cluster_config String disk_size scatter (sample in inputSamples){ call variantsNorm.variantsNorm as LCL5variantsNorm{ input: vcf=sample[0], ref_dir=ref_dir, fasta=fasta, sampleName=sample[4], cluster_config=cluster_config, disk_size=disk_size } call variantsNorm.variantsNorm as LCL6variantsNorm{ input: vcf=sample[1], ref_dir=ref_dir, fasta=fasta, sampleName=sample[5], cluster_config=cluster_config, disk_size=disk_size } call variantsNorm.variantsNorm as LCL7variantsNorm{ input: vcf=sample[2], ref_dir=ref_dir, fasta=fasta, sampleName=sample[6], cluster_config=cluster_config, disk_size=disk_size } call variantsNorm.variantsNorm as LCL8variantsNorm{ input: vcf=sample[3], ref_dir=ref_dir, fasta=fasta, sampleName=sample[7], cluster_config=cluster_config, disk_size=disk_size } call sister.sister as sister{ input: LCL5_vcf=LCL5variantsNorm.normed_vcf, LCL6_vcf=LCL6variantsNorm.normed_vcf, ref_dir=ref_dir, fasta=fasta, family_name=sample[8], cluster_config=cluster_config, disk_size=disk_size } call mendelian.mendelian as mendelian { input: sister_vcf=sister.sister_consistent_vcf, LCL7_vcf=LCL7variantsNorm.normed_vcf, LCL8_vcf=LCL8variantsNorm.normed_vcf, LCL7_name=sample[6], LCL8_name=sample[7], family_name=sample[8], ref_dir=ref_dir, fasta=fasta, cluster_config=cluster_config, disk_size=disk_size } call zipIndex.zipIndex as zipIndex{ input: mother_vcf=mendelian.mother_vcf, father_vcf=mendelian.father_vcf, twins_vcf=mendelian.twins_vcf, cluster_config=cluster_config, disk_size=disk_size } } call merge.merge as merge { input: mother_vcf_gz=zipIndex.mother_vcf_gz, mother_vcf_idx=zipIndex.mother_vcf_idx, father_vcf_gz=zipIndex.father_vcf_gz, father_vcf_idx=zipIndex.father_vcf_idx, twins_vcf_gz=zipIndex.twins_vcf_gz, twins_vcf_idx=zipIndex.twins_vcf_idx, cluster_config=cluster_config, disk_size=disk_size } }