|
- import "./tasks/rename_vcf.wdl" as rename_vcf
- import "./tasks/benchmark.wdl" as benchmark
- import "./tasks/multiqc.wdl" as multiqc
- import "./tasks/multiqc_hap.wdl" as multiqc_hap
- import "./tasks/extract_tables.wdl" as extract_tables
- import "./tasks/extract_tables_vcf.wdl" as extract_tables_vcf
- import "./tasks/mendelian.wdl" as mendelian
- import "./tasks/merge_mendelian.wdl" as merge_mendelian
- import "./tasks/merge_family.wdl" as merge_family
- import "./tasks/filter_vcf.wdl" as filter_vcf
-
-
- workflow {{ project_name }} {
-
- File? vcf_D5
- File? vcf_D6
- File? vcf_F7
- File? vcf_M8
-
- File bed
-
- String BENCHMARKdocker
- String MENDELIANdocker
- String DIYdocker
- String MULTIQCdocker
- String BEDTOOLSdocker
-
- String fasta
- File ref_dir
- File dbmills_dir
- String db_mills
- File dbsnp_dir
- String dbsnp
- String pl
- File reference_bed_dict
-
- File screen_ref_dir
- File fastq_screen_conf
- File benchmarking_dir
- File benchmark_region
-
- String project
-
- String disk_size
- String BIGcluster_config
- String SMALLcluster_config
-
- if (vcf_D5!= "") {
- call rename_vcf.rename_vcf as rename_vcf{
- input:
- vcf_D5=vcf_D5,
- vcf_D6=vcf_D6,
- vcf_F7=vcf_F7,
- vcf_M8=vcf_M8,
- project=project,
- docker=DIYdocker,
- cluster_config=SMALLcluster_config,
- disk_size=disk_size
- }
- call filter_vcf.filter_vcf as filter_vcf_D5_vcf {
- input:
- vcf=rename_vcf.vcf_D5_renamed,
- bed=bed,
- benchmark_region=benchmark_region,
- project=project,
- docker=BEDTOOLSdocker,
- cluster_config=SMALLcluster_config,
- disk_size=disk_size
- }
-
- call benchmark.benchmark as benchmark_D5_vcf {
- input:
- filtered_vcf=filter_vcf_D5_vcf.filtered_vcf,
- bed=filter_vcf_D5_vcf.filtered_bed,
- benchmarking_dir=benchmarking_dir,
- ref_dir=ref_dir,
- fasta=fasta,
- docker=BENCHMARKdocker,
- cluster_config=BIGcluster_config,
- disk_size=disk_size
- }
-
- call filter_vcf.filter_vcf as filter_vcf_D6_vcf {
- input:
- vcf=rename_vcf.vcf_D6_renamed,
- docker=BEDTOOLSdocker,
- bed=bed,
- benchmark_region=benchmark_region,
- project=project,
- cluster_config=SMALLcluster_config,
- disk_size=disk_size
- }
-
- call benchmark.benchmark as benchmark_D6_vcf {
- input:
- filtered_vcf=filter_vcf_D6_vcf.filtered_vcf,
- bed=filter_vcf_D6_vcf.filtered_bed,
- benchmarking_dir=benchmarking_dir,
- ref_dir=ref_dir,
- fasta=fasta,
- docker=BENCHMARKdocker,
- cluster_config=BIGcluster_config,
- disk_size=disk_size
- }
-
- call filter_vcf.filter_vcf as filter_vcf_F7_vcf {
- input:
- vcf=rename_vcf.vcf_F7_renamed,
- docker=BEDTOOLSdocker,
- bed=bed,
- benchmark_region=benchmark_region,
- project=project,
- cluster_config=SMALLcluster_config,
- disk_size=disk_size
- }
-
- call benchmark.benchmark as benchmark_F7_vcf {
- input:
- filtered_vcf=filter_vcf_F7_vcf.filtered_vcf,
- bed=filter_vcf_F7_vcf.filtered_bed,
- benchmarking_dir=benchmarking_dir,
- ref_dir=ref_dir,
- fasta=fasta,
- docker=BENCHMARKdocker,
- cluster_config=BIGcluster_config,
- disk_size=disk_size
- }
-
- call filter_vcf.filter_vcf as filter_vcf_M8_vcf {
- input:
- vcf=rename_vcf.vcf_M8_renamed,
- docker=BEDTOOLSdocker,
- bed=bed,
- benchmark_region=benchmark_region,
- project=project,
- cluster_config=SMALLcluster_config,
- disk_size=disk_size
- }
-
- call benchmark.benchmark as benchmark_M8_vcf {
- input:
- filtered_vcf=filter_vcf_M8_vcf.filtered_vcf,
- bed=filter_vcf_M8_vcf.filtered_bed,
- benchmarking_dir=benchmarking_dir,
- ref_dir=ref_dir,
- fasta=fasta,
- docker=BENCHMARKdocker,
- cluster_config=BIGcluster_config,
- disk_size=disk_size
- }
-
- Array[File] benchmark_summary_hap = [benchmark_D5_vcf.summary, benchmark_D6_vcf.summary, benchmark_F7_vcf.summary, benchmark_M8_vcf.summary]
-
- call multiqc_hap.multiqc_hap as multiqc_hap {
- input:
- summary=benchmark_summary_hap,
- docker=MULTIQCdocker,
- cluster_config=SMALLcluster_config,
- disk_size=disk_size
- }
-
- call extract_tables_vcf.extract_tables_vcf as extract_tables_vcf {
- input:
- hap=multiqc_hap.hap,
- project=project,
- docker=DIYdocker,
- cluster_config=SMALLcluster_config,
- disk_size=disk_size
- }
-
- call merge_family.merge_family as merge_family_vcf {
- input:
- D5_vcf=benchmark_D5_vcf.rtg_vcf,
- D6_vcf=benchmark_D6_vcf.rtg_vcf,
- F7_vcf=benchmark_F7_vcf.rtg_vcf,
- M8_vcf=benchmark_M8_vcf.rtg_vcf,
- D5_vcf_tbi=benchmark_D5_vcf.rtg_vcf_index,
- D6_vcf_tbi=benchmark_D6_vcf.rtg_vcf_index,
- F7_vcf_tbi=benchmark_F7_vcf.rtg_vcf_index,
- M8_vcf_tbi=benchmark_M8_vcf.rtg_vcf_index,
- project=project,
- docker=BENCHMARKdocker,
- cluster_config=SMALLcluster_config,
- disk_size=disk_size,
- }
-
- call mendelian.mendelian as mendelian_vcf {
- input:
- family_vcf=merge_family_vcf.family_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_vcf {
- input:
- D5_trio_vcf=mendelian_vcf.D5_trio_vcf,
- D6_trio_vcf=mendelian_vcf.D6_trio_vcf,
- family_vcf=merge_family_vcf.family_vcf,
- docker=DIYdocker,
- cluster_config=SMALLcluster_config,
- disk_size=disk_size
- }
- }
- }
-
|