|
- import "./tasks/variantsNorm.wdl" as variantsNorm
- import "./tasks/merge_info.wdl" as merge_info
- import "./tasks/mendelian.wdl" as mendelian
- import "./tasks/zipIndex.wdl" as zipIndex
- import "./tasks/VCFrename.wdl" as VCFrename
- import "./tasks/mergeSister.wdl" as mergeSister
- import "./tasks/reformVCF.wdl" as reformVCF
- import "./tasks/merge.wdl" as merge
- import "./tasks/bed_annotation.wdl" as bed_annotation
- import "./tasks/votes.wdl" as votes
-
- workflow {{ project_name }} {
- File inputSamplesFile
- Array[Array[File]] inputSamples = read_tsv(inputSamplesFile)
- File ref_dir
- File repeat_bed
- String fasta
- String cluster_config
- String disk_size
-
- scatter (quartet in inputSamples){
- call variantsNorm.variantsNorm as LCL5variantsNorm{
- input:
- vcf=quartet[0],
- ref_dir=ref_dir,
- fasta=fasta,
- sampleName=quartet[4],
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- call variantsNorm.variantsNorm as LCL6variantsNorm{
- input:
- vcf=quartet[1],
- ref_dir=ref_dir,
- fasta=fasta,
- sampleName=quartet[5],
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- call variantsNorm.variantsNorm as LCL7variantsNorm{
- input:
- vcf=quartet[2],
- ref_dir=ref_dir,
- fasta=fasta,
- sampleName=quartet[6],
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- call variantsNorm.variantsNorm as LCL8variantsNorm{
- input:
- vcf=quartet[3],
- ref_dir=ref_dir,
- fasta=fasta,
- sampleName=quartet[7],
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- call mendelian.mendelian as LCL5mendelian {
- input:
- child_vcf=LCL5variantsNorm.normed_vcf,
- LCL7_vcf=LCL7variantsNorm.normed_vcf,
- LCL8_vcf=LCL8variantsNorm.normed_vcf,
- LCL7_name=quartet[6],
- LCL8_name=quartet[7],
- child_name=quartet[4],
- ref_dir=ref_dir,
- fasta=fasta,
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- call mendelian.mendelian as LCL6mendelian {
- input:
- child_vcf=LCL6variantsNorm.normed_vcf,
- LCL7_vcf=LCL7variantsNorm.normed_vcf,
- LCL8_vcf=LCL8variantsNorm.normed_vcf,
- LCL7_name=quartet[6],
- LCL8_name=quartet[7],
- child_name=quartet[5],
- ref_dir=ref_dir,
- fasta=fasta,
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- call zipIndex.zipIndex as LCL5zipIndex {
- input:
- vcf=LCL5mendelian.trio_vcf,
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- call zipIndex.zipIndex as LCL6zipIndex {
- input:
- vcf=LCL6mendelian.trio_vcf,
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- call VCFrename.VCFrename as LCL5VCFrename {
- input:
- trio_vcf_gz=LCL5zipIndex.vcf_gz,
- trio_vcf_idx=LCL5zipIndex.vcf_idx,
- mother_name=quartet[7],
- father_name=quartet[6],
- child_name=quartet[4],
- family_name=quartet[8],
- child="LCL5",
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- call VCFrename.VCFrename as LCL6VCFrename {
- input:
- trio_vcf_gz=LCL6zipIndex.vcf_gz,
- trio_vcf_idx=LCL6zipIndex.vcf_idx,
- mother_name=quartet[7],
- father_name=quartet[6],
- child_name=quartet[5],
- family_name=quartet[8],
- child="LCL6",
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- call mergeSister.mergeSister as mergeSister {
- input:
- LCL5_trio_vcf_gz=LCL5VCFrename.rename_trio_vcf_gz,
- LCL5_trio_vcf_idx=LCL5VCFrename.rename_trio_vcf_idx,
- LCL6_trio_vcf_gz=LCL6VCFrename.rename_trio_vcf_gz,
- LCL6_trio_vcf_idx=LCL6VCFrename.rename_trio_vcf_idx,
- family_name=quartet[8],
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- call reformVCF.reformVCF as reformVCF {
- input:
- family_mendelian_info=mergeSister.family_mendelian_info,
- family_name=quartet[8],
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- call merge_info.merge_info as LCL5mergeInfo {
- input:
- vcfInfo=LCL5variantsNorm.normed_txt,
- mendelianInfo=reformVCF.LCL5_family_info_txt,
- sample=quartet[4],
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- call merge_info.merge_info as LCL6mergeInfo {
- input:
- vcfInfo=LCL6variantsNorm.normed_txt,
- mendelianInfo=reformVCF.LCL6_family_info_txt,
- sample=quartet[5],
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- call merge_info.merge_info as LCL7mergeInfo {
- input:
- vcfInfo=LCL7variantsNorm.normed_txt,
- mendelianInfo=reformVCF.LCL7_family_info_txt,
- sample=quartet[6],
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- call merge_info.merge_info as LCL8mergeInfo {
- input:
- vcfInfo=LCL8variantsNorm.normed_txt,
- mendelianInfo=reformVCF.LCL8_family_info_txt,
- sample=quartet[7],
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- call zipIndex.zipIndex as LCL5allInfozipIndex {
- input:
- vcf=LCL5mergeInfo.all_info,
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- call zipIndex.zipIndex as LCL6allInfozipIndex {
- input:
- vcf=LCL6mergeInfo.all_info,
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- call zipIndex.zipIndex as LCL7allInfozipIndex {
- input:
- vcf=LCL7mergeInfo.all_info,
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- call zipIndex.zipIndex as LCL8allInfozipIndex {
- input:
- vcf=LCL8mergeInfo.all_info,
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- }
- ### family info merge
- call merge.merge as LCL5merge {
- input:
- family_vcf_gz=LCL5allInfozipIndex.vcf_gz,
- family_vcf_idx=LCL5allInfozipIndex.vcf_idx,
- sample="LCL5",
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- call bed_annotation.bed_annotation as LCL5bed_annotation {
- input:
- merged_vcf_gz=LCL5merge.merged_vcf_gz,
- merged_vcf_idx=LCL5merge.merged_vcf_idx,
- repeat_bed=repeat_bed,
- sample='LCL5',
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- call votes.votes as LCL5votes {
- input:
- repeat_annotated_vcf=LCL5bed_annotation.repeat_annotated_vcf,
- vcf_dup=LCL5merge.vcf_dup,
- sample='LCL5',
- prefix='LCL5',
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- call merge.merge as LCL6merge {
- input:
- family_vcf_gz=LCL6allInfozipIndex.vcf_gz,
- family_vcf_idx=LCL6allInfozipIndex.vcf_idx,
- sample="LCL6",
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- call bed_annotation.bed_annotation as LCL6bed_annotation {
- input:
- merged_vcf_gz=LCL6merge.merged_vcf_gz,
- merged_vcf_idx=LCL6merge.merged_vcf_idx,
- repeat_bed=repeat_bed,
- sample='LCL6',
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- call votes.votes as LCL6votes {
- input:
- repeat_annotated_vcf=LCL6bed_annotation.repeat_annotated_vcf,
- vcf_dup=LCL6merge.vcf_dup,
- sample='LCL6',
- prefix='LCL6',
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- call merge.merge as LCL7merge {
- input:
- family_vcf_gz=LCL7allInfozipIndex.vcf_gz,
- family_vcf_idx=LCL7allInfozipIndex.vcf_idx,
- sample="LCL7",
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- call bed_annotation.bed_annotation as LCL7bed_annotation {
- input:
- merged_vcf_gz=LCL7merge.merged_vcf_gz,
- merged_vcf_idx=LCL7merge.merged_vcf_idx,
- repeat_bed=repeat_bed,
- sample='LCL7',
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- call votes.votes as LCL7votes {
- input:
- repeat_annotated_vcf=LCL7bed_annotation.repeat_annotated_vcf,
- vcf_dup=LCL7merge.vcf_dup,
- sample='LCL7',
- prefix='LCL7',
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- call merge.merge as LCL8merge {
- input:
- family_vcf_gz=LCL8allInfozipIndex.vcf_gz,
- family_vcf_idx=LCL8allInfozipIndex.vcf_idx,
- sample="LCL8",
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- call bed_annotation.bed_annotation as LCL8bed_annotation {
- input:
- merged_vcf_gz=LCL8merge.merged_vcf_gz,
- merged_vcf_idx=LCL8merge.merged_vcf_idx,
- repeat_bed=repeat_bed,
- sample='LCL8',
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- call votes.votes as LCL8votes {
- input:
- repeat_annotated_vcf=LCL8bed_annotation.repeat_annotated_vcf,
- vcf_dup=LCL8merge.vcf_dup,
- sample='LCL8',
- prefix='LCL8',
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- }
|