Skip to content

Commit 4799e46

Browse files
make read length input to CollectWgsMetrics for Melt (#164)
1 parent ed9ba7a commit 4799e46

File tree

1 file changed

+25
-22
lines changed

1 file changed

+25
-22
lines changed

wdl/MELT.wdl

Lines changed: 25 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)