@@ -68,28 +68,6 @@ workflow MELT {
6868 email : "tbrookin@broadinstitute.org"
6969 }
7070
71- Boolean have_wgs_metrics = defined (coverage )
72- if (!have_wgs_metrics ) {
73- call GetWgsMetrics {
74- input :
75- bam_or_cram_file = bam_or_cram_file ,
76- bam_or_cram_index = bam_or_cram_index ,
77- reference_fasta = reference_fasta ,
78- reference_index = reference_index ,
79- intervals = wgs_metrics_intervals ,
80- genomes_in_the_cloud_docker = genomes_in_the_cloud_docker ,
81- runtime_attr_override = runtime_attr_coverage
82- }
83- # form map with available properties:
84- # GENOME_TERRITORY, MEAN_COVERAGE, SD_COVERAGE, MEDIAN_COVERAGE, MAD_COVERAGE, PCT_EXC_MAPQ, PCT_EXC_DUPE,
85- # PCT_EXC_UNPAIRED, PCT_EXC_BASEQ, PCT_EXC_OVERLAP, PCT_EXC_CAPPED, PCT_EXC_TOTAL, PCT_1X, PCT_5X, PCT_10X,
86- # PCT_15X, PCT_20X, PCT_25X, PCT_30X, PCT_40X, PCT_50X, PCT_60X, PCT_70X, PCT_80X, PCT_90X, PCT_100X,
87- # HET_SNP_SENSITIVITY, HET_SNP_Q
88- Map [String , String ] wgs_metrics_map = read_map (GetWgsMetrics .metrics_file )
89-
90- Float calculated_coverage = wgs_metrics_map ["MEAN_COVERAGE" ]
91- }
92-
9371 Boolean have_multiple_metrics = defined (insert_size ) && defined (read_length )
9472 && defined (pct_chimeras ) && defined (total_reads ) && defined (pf_reads_improper_pairs )
9573 if (!have_multiple_metrics ) {
@@ -125,6 +103,29 @@ workflow MELT {
125103 Int calculated_pf_reads_improper_pairs = multiple_metrics_map ["PF_READS_IMPROPER_PAIRS" ]
126104 }
127105
106+ Boolean have_wgs_metrics = defined (coverage )
107+ if (!have_wgs_metrics ) {
108+ call GetWgsMetrics {
109+ input :
110+ bam_or_cram_file = bam_or_cram_file ,
111+ bam_or_cram_index = bam_or_cram_index ,
112+ read_length = select_first ([read_length , calculated_read_length ]),
113+ reference_fasta = reference_fasta ,
114+ reference_index = reference_index ,
115+ intervals = wgs_metrics_intervals ,
116+ genomes_in_the_cloud_docker = genomes_in_the_cloud_docker ,
117+ runtime_attr_override = runtime_attr_coverage
118+ }
119+ # form map with available properties:
120+ # GENOME_TERRITORY, MEAN_COVERAGE, SD_COVERAGE, MEDIAN_COVERAGE, MAD_COVERAGE, PCT_EXC_MAPQ, PCT_EXC_DUPE,
121+ # PCT_EXC_UNPAIRED, PCT_EXC_BASEQ, PCT_EXC_OVERLAP, PCT_EXC_CAPPED, PCT_EXC_TOTAL, PCT_1X, PCT_5X, PCT_10X,
122+ # PCT_15X, PCT_20X, PCT_25X, PCT_30X, PCT_40X, PCT_50X, PCT_60X, PCT_70X, PCT_80X, PCT_90X, PCT_100X,
123+ # HET_SNP_SENSITIVITY, HET_SNP_Q
124+ Map [String , String ] wgs_metrics_map = read_map (GetWgsMetrics .metrics_file )
125+
126+ Float calculated_coverage = wgs_metrics_map ["MEAN_COVERAGE" ]
127+ }
128+
128129 Boolean is_bam = basename (bam_or_cram_file , ".bam" ) + ".bam" == basename (bam_or_cram_file )
129130 if (!is_bam ) {
130131 call ctb .CramToBam as CramToBam {
@@ -410,6 +411,7 @@ task GetWgsMetrics {
410411 input {
411412 File bam_or_cram_file
412413 File ? bam_or_cram_index
414+ Int read_length
413415 File reference_fasta
414416 File ? reference_index
415417 File ? intervals
@@ -462,6 +464,7 @@ task GetWgsMetrics {
462464 INPUT = ~{bam_or_cram_file } \
463465 VALIDATION_STRINGENCY = SILENT \
464466 REFERENCE_SEQUENCE = ~{reference_fasta } \
467+ READ_LENGTH = ~{read_length } \
465468 INCLUDE_BQ_HISTOGRAM = true \
466469 ~{if defined (intervals ) then "INTERVALS=~{intervals }" else "" } \
467470 OUTPUT = "raw_~{metrics_file_name}" \
0 commit comments