Skip to content

Commit f009d86

Browse files
authored
Merge pull request #397 from broadinstitute/dp-optimize
slight speed optimizations
2 parents 75d3ef5 + 24dcb41 commit f009d86

File tree

2 files changed

+27
-21
lines changed

2 files changed

+27
-21
lines changed

pipes/WDL/tasks/tasks_reports.wdl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -339,10 +339,10 @@ task align_and_count_summary {
339339
}
340340

341341
runtime {
342-
memory: "3 GB"
343-
cpu: 2
342+
memory: "7 GB"
343+
cpu: 8
344344
docker: "${docker}"
345-
disks: "local-disk 50 HDD"
345+
disks: "local-disk 100 HDD"
346346
dx_instance_type: "mem1_ssd1_v2_x2"
347347
maxRetries: 2
348348
}
@@ -485,7 +485,7 @@ task MultiQC {
485485

486486
runtime {
487487
memory: "8 GB"
488-
cpu: 2
488+
cpu: 16
489489
docker: "${docker}"
490490
disks: "local-disk 375 LOCAL"
491491
dx_instance_type: "mem2_ssd1_v2_x2"

pipes/WDL/workflows/assemble_refbased.wdl

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -98,37 +98,40 @@ workflow assemble_refbased {
9898
Array[String] ivar_stats_row = [ivar_stats['file'], ivar_stats['trim_percent'], ivar_stats['trim_count']]
9999
}
100100

101-
call read_utils.merge_and_reheader_bams as merge_align_to_ref {
102-
input:
103-
in_bams = ivar_trim.aligned_trimmed_bam,
104-
sample_name = sample_name,
105-
out_basename = "~{sample_name}.align_to_ref.trimmed"
101+
if(length(reads_unmapped_bams)>1) {
102+
call read_utils.merge_and_reheader_bams as merge_align_to_ref {
103+
input:
104+
in_bams = ivar_trim.aligned_trimmed_bam,
105+
sample_name = sample_name,
106+
out_basename = "~{sample_name}.align_to_ref.trimmed"
107+
}
106108
}
109+
File aligned_trimmed_bam = select_first([merge_align_to_ref.out_bam, ivar_trim.aligned_trimmed_bam[0]])
107110
108111
call reports.alignment_metrics {
109112
input:
110-
aligned_bam = merge_align_to_ref.out_bam,
113+
aligned_bam = aligned_trimmed_bam,
111114
ref_fasta = reference_fasta
112115
}
113116
114117
call assembly.run_discordance {
115118
input:
116-
reads_aligned_bam = merge_align_to_ref.out_bam,
119+
reads_aligned_bam = aligned_trimmed_bam,
117120
reference_fasta = reference_fasta,
118121
min_coverage = min_coverage+1,
119122
out_basename = sample_name
120123
}
121124
122125
call reports.plot_coverage as plot_ref_coverage {
123126
input:
124-
aligned_reads_bam = merge_align_to_ref.out_bam,
127+
aligned_reads_bam = aligned_trimmed_bam,
125128
sample_name = sample_name
126129
}
127130
128131
call assembly.refine_assembly_with_aligned_reads as call_consensus {
129132
input:
130133
reference_fasta = reference_fasta,
131-
reads_aligned_bam = merge_align_to_ref.out_bam,
134+
reads_aligned_bam = aligned_trimmed_bam,
132135
min_coverage = min_coverage,
133136
sample_name = sample_name
134137
}
@@ -145,16 +148,19 @@ workflow assemble_refbased {
145148
}
146149
}
147150
148-
call read_utils.merge_and_reheader_bams as merge_align_to_self {
149-
input:
150-
in_bams = align_to_self.aligned_only_reads_bam,
151-
sample_name = sample_name,
152-
out_basename = "~{sample_name}.merge_align_to_self"
151+
if(length(reads_unmapped_bams)>1) {
152+
call read_utils.merge_and_reheader_bams as merge_align_to_self {
153+
input:
154+
in_bams = align_to_self.aligned_only_reads_bam,
155+
sample_name = sample_name,
156+
out_basename = "~{sample_name}.merge_align_to_self"
157+
}
153158
}
159+
File aligned_self_bam = select_first([merge_align_to_self.out_bam, align_to_self.aligned_only_reads_bam[0]])
154160
155161
call reports.plot_coverage as plot_self_coverage {
156162
input:
157-
aligned_reads_bam = merge_align_to_self.out_bam,
163+
aligned_reads_bam = aligned_self_bam,
158164
sample_name = sample_name
159165
}
160166
@@ -186,7 +192,7 @@ workflow assemble_refbased {
186192
Array[Int] align_to_ref_per_input_reads_aligned = align_to_ref.reads_aligned
187193
Array[File] align_to_ref_per_input_fastqc = align_to_ref.aligned_only_reads_fastqc
188194

189-
File align_to_ref_merged_aligned_trimmed_only_bam = merge_align_to_ref.out_bam
195+
File align_to_ref_merged_aligned_trimmed_only_bam = aligned_trimmed_bam
190196
File align_to_ref_merged_coverage_plot = plot_ref_coverage.coverage_plot
191197
File align_to_ref_merged_coverage_tsv = plot_ref_coverage.coverage_tsv
192198
Int align_to_ref_merged_reads_aligned = plot_ref_coverage.reads_aligned
@@ -197,7 +203,7 @@ workflow assemble_refbased {
197203
File picard_metrics_alignment = alignment_metrics.alignment_metrics
198204
File picard_metrics_insert_size = alignment_metrics.insert_size_metrics
199205

200-
File align_to_self_merged_aligned_only_bam = merge_align_to_self.out_bam
206+
File align_to_self_merged_aligned_only_bam = aligned_self_bam
201207
File align_to_self_merged_coverage_plot = plot_self_coverage.coverage_plot
202208
File align_to_self_merged_coverage_tsv = plot_self_coverage.coverage_tsv
203209
Int align_to_self_merged_reads_aligned = plot_self_coverage.reads_aligned

0 commit comments

Comments
 (0)