|
- import "./tasks/split_gvcf_files.wdl" as split_gvcf_files
- import "./tasks/GVCFtyper.wdl" as GVCFtyper
- import "./tasks/benchmark.wdl" as benchmark
- import "./tasks/mendelian.wdl" as mendelian
- import "./tasks/merge_mendelian.wdl" as merge_mendelian
- import "./tasks/quartet_mendelian.wdl" as quartet_mendelian
- import "./tasks/D5_D6.wdl" as D5_D6
- import "./tasks/merge_family.wdl" as merge_family
-
-
- workflow {{ project_name }} {
-
- Array[File] gvcf
- Array[File] gvcf_idx
-
- String BENCHMARKdocker
- String MENDELIANdocker
- String DIYdocker
- String SENTIEON_INSTALL_DIR
- String SENTIEONdocker
-
-
- String fasta
- File ref_dir
-
- File benchmarking_dir
-
- String project
-
- String disk_size
- String BIGcluster_config
- String SMALLcluster_config
-
- call GVCFtyper.GVCFtyper as GVCFtyper {
- input:
- ref_dir=ref_dir,
- SENTIEON_INSTALL_DIR=SENTIEON_INSTALL_DIR,
- fasta=fasta,
- vcf=gvcf,
- vcf_idx=gvcf_idx,
- project=project,
- docker=SENTIEONdocker,
- cluster_config=BIGcluster_config,
- disk_size=disk_size
- }
-
- call split_gvcf_files.split_gvcf_files as split_gvcf_files {
- input:
- gvcf=gvcf,
- docker=DIYdocker,
- project=project,
- cluster_config=SMALLcluster_config,
- disk_size=disk_size
- }
-
-
- Array[File] single_gvcf = split_gvcf_files.splited_vcf
-
- scatter (idx in range(length(single_gvcf))) {
- call benchmark.benchmark as benchmark {
- input:
- vcf=single_gvcf[idx],
- benchmarking_dir=benchmarking_dir,
- ref_dir=ref_dir,
- fasta=fasta,
- docker=BENCHMARKdocker,
- cluster_config=BIGcluster_config,
- disk_size=disk_size,
- }
-
- }
-
- Boolean sister_tag = read_boolean(split_gvcf_files.sister_tag)
- Boolean quartet_tag = read_boolean(split_gvcf_files.quartet_tag)
-
- if (sister_tag) {
- call D5_D6.D5_D6 as D5_D6 {
- input:
- splited_vcf=split_gvcf_files.splited_vcf,
- project=project,
- docker=DIYdocker,
- cluster_config=SMALLcluster_config,
- disk_size=disk_size,
- }
- }
-
- if (quartet_tag) {
- call merge_family.merge_family as merge_family {
- input:
- splited_vcf=split_gvcf_files.splited_vcf,
- project=project,
- docker=DIYdocker,
- cluster_config=SMALLcluster_config,
- disk_size=disk_size,
- }
-
- Array[File] family_vcfs = merge_family.family_vcf
- scatter (idx in range(length(family_vcfs))) {
- call mendelian.mendelian as mendelian {
- input:
- family_vcf=family_vcfs[idx],
- 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=family_vcfs[idx],
- docker=DIYdocker,
- cluster_config=SMALLcluster_config,
- disk_size=disk_size
- }
- }
-
- call quartet_mendelian.quartet_mendelian as quartet_mendelian {
- input:
- project_mendelian_summary=merge_mendelian.project_mendelian_summary,
- project=project,
- docker=DIYdocker,
- cluster_config=SMALLcluster_config,
- disk_size=disk_size
- }
- }
- }
-
|