Skip to content

Commit f4e5c44

Browse files
authored
Merge pull request #282 from broadinstitute/dp-metrics
add insert size metrics
2 parents 5978a73 + 3411b7e commit f4e5c44

File tree

3 files changed

+26
-3
lines changed

3 files changed

+26
-3
lines changed

pipes/WDL/tasks/tasks_reports.wdl

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,11 @@ task alignment_metrics {
1818
XMX=$(echo "-Xmx"$MEM_MB"m")
1919
echo "Requesting $MEM_MB MB of RAM for Java"
2020
21+
# R fails unless you do this, CollectInsertSizeMetrics needs R
22+
if [ ! -f /lib/x86_64-linux-gnu/libreadline.so.6 ]; then
23+
ln -s /lib/x86_64-linux-gnu/libreadline.so.7 /lib/x86_64-linux-gnu/libreadline.so.6
24+
fi
25+
2126
# requisite Picard fasta indexing
2227
cp "~{ref_fasta}" reference.fasta
2328
picard $XMX CreateSequenceDictionary -R reference.fasta
@@ -35,6 +40,13 @@ task alignment_metrics {
3540
-O picard_raw.alignment_metrics.txt
3641
grep -v \# picard_raw.alignment_metrics.txt | grep . | head -4 > picard_clean.alignment_metrics.txt
3742
43+
picard $XMX CollectInsertSizeMetrics \
44+
-I "~{aligned_bam}" \
45+
-O picard_raw.insert_size_metrics.txt \
46+
-H picard_raw.insert_size_metrics.pdf \
47+
--INCLUDE_DUPLICATES true
48+
grep -v \# picard_raw.insert_size_metrics.txt | grep . | head -2 > picard_clean.insert_size_metrics.txt
49+
3850
# prepend the sample name in order to facilitate tsv joining later
3951
SAMPLE=$(samtools view -H "~{aligned_bam}" | grep ^@RG | perl -lape 's/^@RG.*SM:(\S+).*$/$1/' | sort | uniq)
4052
echo -e "sample_sanitized\tbam" > prepend.txt
@@ -43,6 +55,9 @@ task alignment_metrics {
4355
echo -e "$SAMPLE\t~{out_basename}" >> prepend.txt
4456
echo -e "$SAMPLE\t~{out_basename}" >> prepend.txt
4557
paste prepend.txt picard_clean.alignment_metrics.txt > "~{out_basename}".alignment_metrics.txt
58+
echo -e "sample_sanitized\tbam" > prepend.txt
59+
echo -e "$SAMPLE\t~{out_basename}" >> prepend.txt
60+
paste prepend.txt picard_clean.insert_size_metrics.txt > "~{out_basename}".insert_size_metrics.txt
4661
4762
# actually don't know how to do CollectTargetedPcrMetrics yet
4863
if [ -n "~{primers_bed}" ]; then
@@ -54,8 +69,9 @@ task alignment_metrics {
5469
>>>
5570

5671
output {
57-
File wgs_metrics = "~{out_basename}.raw_wgs_metrics.txt"
58-
File alignment_metrics = "~{out_basename}.alignment_metrics.txt"
72+
File wgs_metrics = "~{out_basename}.raw_wgs_metrics.txt"
73+
File alignment_metrics = "~{out_basename}.alignment_metrics.txt"
74+
File insert_size_metrics = "~{out_basename}.insert_size_metrics.txt"
5975
}
6076

6177
runtime {

pipes/WDL/workflows/assemble_refbased.wdl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,7 @@ workflow assemble_refbased {
194194

195195
File picard_metrics_wgs = alignment_metrics.wgs_metrics
196196
File picard_metrics_alignment = alignment_metrics.alignment_metrics
197+
File picard_metrics_insert_size = alignment_metrics.insert_size_metrics
197198

198199
File align_to_self_merged_aligned_only_bam = merge_align_to_self.out_bam
199200
File align_to_self_merged_coverage_plot = plot_self_coverage.coverage_plot

pipes/WDL/workflows/sarscov2_illumina_full.wdl

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -255,6 +255,12 @@ workflow sarscov2_illumina_full {
255255
id_col = 'sample_sanitized',
256256
out_basename = "picard_metrics_alignment-~{flowcell_id}"
257257
}
258+
call utils.tsv_join as picard_insertsize_merge {
259+
input:
260+
input_tsvs = assemble_refbased.picard_metrics_insert_size,
261+
id_col = 'sample_sanitized',
262+
out_basename = "picard_metrics_insertsize-~{flowcell_id}"
263+
}
258264
259265
### filter and concatenate final sets for delivery ("passing" and "submittable")
260266
call sarscov2.sc2_meta_final {
@@ -377,7 +383,7 @@ workflow sarscov2_illumina_full {
377383
if(defined(gcs_out_metrics)) {
378384
call terra.gcs_copy as gcs_metrics_dump {
379385
input:
380-
infiles = flatten([[assembly_meta_tsv.combined, sc2_meta_final.meta_tsv, ivar_trim_stats.trim_stats_tsv, demux_deplete.multiqc_report_raw, demux_deplete.multiqc_report_cleaned, demux_deplete.spikein_counts, picard_wgs_merge.out_tsv, picard_alignment_merge.out_tsv, nextclade_many_samples.nextclade_json, nextclade_many_samples.nextclade_tsv], demux_deplete.demux_metrics]),
386+
infiles = flatten([[assembly_meta_tsv.combined, sc2_meta_final.meta_tsv, ivar_trim_stats.trim_stats_tsv, demux_deplete.multiqc_report_raw, demux_deplete.multiqc_report_cleaned, demux_deplete.spikein_counts, picard_wgs_merge.out_tsv, picard_alignment_merge.out_tsv, picard_insertsize_merge.out_tsv, nextclade_many_samples.nextclade_json, nextclade_many_samples.nextclade_tsv], demux_deplete.demux_metrics]),
381387
gcs_uri_prefix = "~{gcs_out_metrics}/~{flowcell_id}/"
382388
}
383389
}

0 commit comments

Comments
 (0)