From 05bb4e148bcc0c02c3d8d3fced6818e5298a1a3d Mon Sep 17 00:00:00 2001 From: Jason Walker Date: Mon, 9 Dec 2019 15:14:33 -0600 Subject: [PATCH] first pass at saving all BAMs/CRAMs that might be needed --- .../pipelines/alignment_umi_molecular.cwl | 48 ++++++++++++++++--- .../subworkflows/molecular_alignment.cwl | 37 ++++++++++++-- definitions/subworkflows/molecular_qc.cwl | 16 +++++-- 3 files changed, 85 insertions(+), 16 deletions(-) diff --git a/definitions/pipelines/alignment_umi_molecular.cwl b/definitions/pipelines/alignment_umi_molecular.cwl index 4707011a4..89e553d46 100644 --- a/definitions/pipelines/alignment_umi_molecular.cwl +++ b/definitions/pipelines/alignment_umi_molecular.cwl @@ -29,10 +29,18 @@ inputs: target_intervals: type: File? outputs: - aligned_cram: + umi_aligned_cram: type: File secondaryFiles: [.crai, ^.crai] - outputSource: index_cram/indexed_cram + outputSource: umi_index_cram/indexed_cram + grouped_aligned_cram: + type: File + secondaryFiles: [.crai, ^.crai] + outputSource: grouped_index_cram/indexed_cram + consensus_aligned_cram: + type: File + secondaryFiles: [.crai, ^.crai] + outputSource: consensus_index_cram/indexed_cram adapter_histogram: type: File[] outputSource: alignment_workflow/adapter_histogram @@ -62,17 +70,43 @@ steps: reference: reference target_intervals: target_intervals out: - [aligned_bam, adapter_histogram, duplex_seq_metrics] - bam_to_cram: + [umi_aligned_bam, grouped_aligned_bam, consensus_aligned_bam, adapter_histogram, duplex_seq_metrics] + umi_bam_to_cram: + run: ../tools/bam_to_cram.cwl + in: + bam: alignment_workflow/umi_aligned_bam + reference: reference + out: + [cram] + umi_index_cram: + run: ../tools/index_cram.cwl + in: + cram: umi_bam_to_cram/cram + out: + [indexed_cram] + grouped_bam_to_cram: + run: ../tools/bam_to_cram.cwl + in: + bam: alignment_workflow/grouped_aligned_bam + reference: reference + out: + [cram] + grouped_index_cram: + run: ../tools/index_cram.cwl + in: + cram: grouped_bam_to_cram/cram + out: + [indexed_cram] + consensus_bam_to_cram: run: ../tools/bam_to_cram.cwl in: - bam: alignment_workflow/aligned_bam + bam: alignment_workflow/consensus_aligned_bam reference: reference out: [cram] - index_cram: + consensus_index_cram: run: ../tools/index_cram.cwl in: - cram: bam_to_cram/cram + cram: consensus_bam_to_cram/cram out: [indexed_cram] diff --git a/definitions/subworkflows/molecular_alignment.cwl b/definitions/subworkflows/molecular_alignment.cwl index 1266d7747..172c5d7a8 100644 --- a/definitions/subworkflows/molecular_alignment.cwl +++ b/definitions/subworkflows/molecular_alignment.cwl @@ -36,10 +36,18 @@ inputs: type: float default: 0.5 outputs: - aligned_bam: + umi_aligned_bam: type: File secondaryFiles: [.bai, ^.bai] - outputSource: index_bam/indexed_bam + outputSource: umi_index_bam/indexed_bam + grouped_aligned_bam: + type: File + secondaryFiles: [.bai, ^.bai] + outputSource: grouped_index_bam/indexed_bam + consensus_aligned_bam: + type: File + secondaryFiles: [.bai, ^.bai] + outputSource: consensus_index_bam/indexed_bam adapter_histogram: type: File[] outputSource: align/adapter_metrics @@ -68,6 +76,13 @@ steps: bam: merge/merged_bam out: [grouped_bam] + grouped_clip_overlap: + run: ../tools/clip_overlap.cwl + in: + bam: group_reads_by_umi/grouped_bam + reference: reference + out: + [clipped_bam] call_molecular_consensus: run: ../tools/call_molecular_consensus.cwl in: @@ -93,7 +108,7 @@ steps: max_no_call_fraction: max_no_call_fraction out: [filtered_bam] - clip_overlap: + consensus_clip_overlap: run: ../tools/clip_overlap.cwl in: bam: filter_consensus/filtered_bam @@ -108,9 +123,21 @@ steps: description: sample_name out: [duplex_seq_metrics] - index_bam: + umi_index_bam: + run: ../tools/index_bam.cwl + in: + bam: merge/merged_bam + out: + [indexed_bam] + grouped_index_bam: + run: ../tools/index_bam.cwl + in: + bam: grouped_clip_overlap/clipped_bam + out: + [indexed_bam] + consensus_index_bam: run: ../tools/index_bam.cwl in: - bam: clip_overlap/clipped_bam + bam: consensus_clip_overlap/clipped_bam out: [indexed_bam] diff --git a/definitions/subworkflows/molecular_qc.cwl b/definitions/subworkflows/molecular_qc.cwl index 397f185ed..51d936894 100644 --- a/definitions/subworkflows/molecular_qc.cwl +++ b/definitions/subworkflows/molecular_qc.cwl @@ -38,10 +38,18 @@ inputs: summary_intervals: type: ../types/labelled_file.yml#labelled_file[] outputs: - aligned_bam: + umi_aligned_bam: type: File secondaryFiles: [.bai, ^.bai] - outputSource: alignment/aligned_bam + outputSource: alignment/umi_aligned_bam + grouped_aligned_bam: + type: File + secondaryFiles: [.bai, ^.bai] + outputSource: alignment/grouped_aligned_bam + consensus_aligned_bam: + type: File + secondaryFiles: [.bai, ^.bai] + outputSource: alignment/consensus_aligned_bam adapter_histogram: type: File[] outputSource: alignment/adapter_histogram @@ -94,11 +102,11 @@ steps: reference: reference target_intervals: target_intervals out: - [aligned_bam, adapter_histogram, duplex_seq_metrics] + [umi_aligned_bam, grouped_aligned_bam, consensus_aligned_bam, adapter_histogram, duplex_seq_metrics] qc: run: qc_exome.cwl in: - bam: alignment/aligned_bam + bam: alignment/umi_aligned_bam reference: reference bait_intervals: bait_intervals target_intervals: target_intervals