Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

merge samples across lanes in demux deplete #369

Open
wants to merge 7 commits into
base: master
Choose a base branch
from
22 changes: 22 additions & 0 deletions pipes/WDL/workflows/demux_deplete.wdl
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import "../tasks/tasks_demux.wdl" as demux
import "../tasks/tasks_taxon_filter.wdl" as taxon_filter
import "../tasks/tasks_reports.wdl" as reports
import "../tasks/tasks_ncbi.wdl" as ncbi
import "../tasks/tasks_read_utils.wdl" as read_utils

workflow demux_deplete {
meta {
Expand Down Expand Up @@ -138,6 +139,7 @@ workflow demux_deplete {
sub_keys = default_filename_keys
}
}

call demux.merge_maps as meta_sample {
input: maps_jsons = meta_default_sample.out_json
}
Expand Down Expand Up @@ -167,6 +169,13 @@ workflow demux_deplete {
}
}

call read_utils.group_bams_by_sample as grouped_passing {
input:
bam_filepaths = select_all(cleaned_bam_passing)
}

#scatter(name_reads in zip(group_bams_by_sample.sample_names, group_bams_by_sample.grouped_bam_filepaths)) {

#### SRA submission prep
if(defined(biosample_map)) {
call ncbi.sra_meta_prep {
Expand Down Expand Up @@ -199,6 +208,18 @@ workflow demux_deplete {
counts_txt = spikein.report
}

scatter(name_reads in zip(grouped_passing.sample_names, grouped_passing.grouped_bam_filepaths)) {
Boolean ampseq = (meta_sample.merged[name_reads.left]["amplicon_set"] != "")
String orig_name = meta_sample.merged[name_reads.left]["sample_original"]

call read_utils.merge_and_reheader_bams {
input:
in_bams = name_reads.right,
sample_name = orig_name,
out_basename = "${orig_name}.merged"
}
}

# TO DO: flag all libraries where highest spike-in is not what was expected in extended samplesheet

output {
Expand All @@ -211,6 +232,7 @@ workflow demux_deplete {
File meta_by_sample_json = meta_sample.merged_json

Array[File] cleaned_reads_unaligned_bams = select_all(cleaned_bam_passing)
Array[File] cleaned_reads_unaligned_merged_bams = select_all(merge_and_reheader_bams.out_bam)
Array[File] cleaned_bams_tiny = select_all(empty_bam)
Array[Int] read_counts_depleted = deplete.depletion_read_count_post

Expand Down
Loading