|
- import "./tasks/variantsNorm.wdl" as variantsNorm
- 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/votes.wdl" as votes
- import "./tasks/bed_annotation.wdl" as bed_annotation
- import "./tasks/mergeVCFInfo.wdl" as mergeVCFInfo
-
- 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 zipIndex.zipIndex as LCL5normZip{
- input:
- vcf=LCL5variantsNorm.normed_vcf,
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- call zipIndex.zipIndex as LCL6normZip{
- input:
- vcf=LCL6variantsNorm.normed_vcf,
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- call zipIndex.zipIndex as LCL7normZip{
- input:
- vcf=LCL7variantsNorm.normed_vcf,
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- call zipIndex.zipIndex as LCL8normZip{
- input:
- vcf=LCL8variantsNorm.normed_vcf,
- 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 zipIndex.zipIndex as LCL5familyzipIndex {
- input:
- vcf=reformVCF.LCL5_family_info,
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- call zipIndex.zipIndex as LCL6familyzipIndex {
- input:
- vcf=reformVCF.LCL6_family_info,
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- call zipIndex.zipIndex as LCL7familyzipIndex {
- input:
- vcf=reformVCF.LCL7_family_info,
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- call zipIndex.zipIndex as LCL8familyzipIndex {
- input:
- vcf=reformVCF.LCL8_family_info,
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- }
- ### family info merge
- call merge.merge as LCL5merge {
- input:
- family_vcf_gz=LCL5familyzipIndex.vcf_gz,
- family_vcf_idx=LCL5familyzipIndex.vcf_idx,
- sample="LCL5",
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- call votes.votes as LCL5votes{
- input:
- merged_vcf=LCL5merge.merged_vcf,
- vcf_dup=LCL5merge.vcf_dup,
- sample='LCL5',
- prefix='LCL5_consensus',
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- call merge.merge as LCL6merge {
- input:
- family_vcf_gz=LCL6familyzipIndex.vcf_gz,
- family_vcf_idx=LCL6familyzipIndex.vcf_idx,
- sample="LCL6",
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- call votes.votes as LCL6votes {
- input:
- merged_vcf=LCL6merge.merged_vcf,
- vcf_dup=LCL6merge.vcf_dup,
- sample='LCL6',
- prefix='LCL6_consensus',
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- call merge.merge as LCL7merge {
- input:
- family_vcf_gz=LCL7familyzipIndex.vcf_gz,
- family_vcf_idx=LCL7familyzipIndex.vcf_idx,
- sample="LCL7",
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- call votes.votes as LCL7votes {
- input:
- merged_vcf=LCL7merge.merged_vcf,
- vcf_dup=LCL7merge.vcf_dup,
- sample='LCL7',
- prefix='LCL7_consensus',
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- call merge.merge as LCL8merge {
- input:
- family_vcf_gz=LCL8familyzipIndex.vcf_gz,
- family_vcf_idx=LCL8familyzipIndex.vcf_idx,
- sample="LCL8",
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- call votes.votes as LCL8votes {
- input:
- merged_vcf=LCL8merge.merged_vcf,
- vcf_dup=LCL8merge.vcf_dup,
- sample='LCL8',
- prefix='LCL8_consensus',
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- ### vcf original information
- call mergeVCFInfo.mergeVCFInfo as LCL5mergeVCF {
- input:
- vcf_gz=LCL5normZip.vcf_gz,
- vcf_idx=LCL5normZip.vcf_idx,
- sample='LCL5',
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- call bed_annotation.bed_annotation as LCL5bedAnnotation {
- input:
- merged_vcf=LCL5mergeVCF.merged_vcf,
- merged_vcf_idx=LCL5mergeVCF.merged_vcf_idx,
- repeat_bed=repeat_bed,
- sample='LCL5',
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- call mergeVCFInfo.mergeVCFInfo as LCL6mergeVCF {
- input:
- vcf_gz=LCL6normZip.vcf_gz,
- vcf_idx=LCL6normZip.vcf_idx,
- sample='LCL6',
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- call bed_annotation.bed_annotation as LCL6bedAnnotation {
- input:
- merged_vcf=LCL6mergeVCF.merged_vcf,
- merged_vcf_idx=LCL6mergeVCF.merged_vcf_idx,
- repeat_bed=repeat_bed,
- sample='LCL6',
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- call mergeVCFInfo.mergeVCFInfo as LCL7mergeVCF {
- input:
- vcf_gz=LCL7normZip.vcf_gz,
- vcf_idx=LCL7normZip.vcf_idx,
- sample='LCL7',
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- call bed_annotation.bed_annotation as LCL7bedAnnotation {
- input:
- merged_vcf=LCL7mergeVCF.merged_vcf,
- merged_vcf_idx=LCL7mergeVCF.merged_vcf_idx,
- repeat_bed=repeat_bed,
- sample='LCL7',
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- call mergeVCFInfo.mergeVCFInfo as LCL8mergeVCF {
- input:
- vcf_gz=LCL8normZip.vcf_gz,
- vcf_idx=LCL8normZip.vcf_idx,
- sample='LCL8',
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- call bed_annotation.bed_annotation as LCL8bedAnnotation {
- input:
- merged_vcf=LCL8mergeVCF.merged_vcf,
- merged_vcf_idx=LCL8mergeVCF.merged_vcf_idx,
- repeat_bed=repeat_bed,
- sample='LCL8',
- cluster_config=cluster_config,
- disk_size=disk_size
- }
- }
|