align_and_plot
pipes/WDL/workflows/align_and_plot.wdl

WORKFLOW align_and_plot

File Path pipes/WDL/workflows/align_and_plot.wdl
WDL Version 1.0
Type workflow

Imports

Namespace Path
reports ../tasks/tasks_reports.wdl
assembly ../tasks/tasks_assembly.wdl

Workflow: align_and_plot

Align reads to reference and produce coverage plots and statistics.

Author: Broad Viral Genomics
viral-ngs@broadinstitute.org

Inputs

Name Type Description Default
reference_fasta File - -
reads_unmapped_bam File - -
novocraft_license File? - -
aligner_options String? - -
machine_mem_gb Int? - -
max_coverage_depth Int? - -
base_q_threshold Int? - -
mapping_q_threshold Int? - -
read_length_threshold Int? - -
plotXLimits String? - -
plotYLimits String? - -
12 optional inputs with default values

Outputs

Name Type Expression
aligned_bam File align.aligned_bam
aligned_bam_idx File align.aligned_bam_idx
aligned_bam_flagstat File align.aligned_bam_flagstat
aligned_only_reads_bam File align.aligned_only_reads_bam
aligned_only_reads_bam_idx File align.aligned_only_reads_bam_idx
aligned_only_reads_fastqc File align.aligned_only_reads_fastqc
aligned_only_reads_fastqc_zip File align.aligned_only_reads_fastqc_zip
reads_provided Int align.reads_provided
reads_aligned Int align.reads_aligned
read_pairs_aligned Int align.read_pairs_aligned
bases_aligned Float align.bases_aligned
mean_coverage Float align.mean_coverage
align_viral_core_version String align.viralngs_version
coverage_plot File plot_coverage.coverage_plot
coverage_tsv File plot_coverage.coverage_tsv
reference_length Int plot_coverage.assembly_length
plot_viral_core_version String plot_coverage.viralngs_version

Calls

This workflow calls the following tasks or subworkflows:

CALL TASKS align → align_reads

No explicit input mappings

CALL TASKS plot_coverage

Input Mappings (2)
Input Value
aligned_reads_bam align.aligned_only_reads_bam
sample_name basename(basename(align.aligned_only_reads_bam,".bam"),".mapped")

Images

Container images used by tasks in this workflow:

🐳 Parameterized Image
⚙️ Parameterized

Configured via input:
docker

Used by 1 task:
  • align
🐳 ~{docker}

~{docker}

Used by 1 task:
  • plot_coverage
← Back to Index

align_and_plot - Workflow Graph

🖱️ Scroll to zoom • Drag to pan • Double-click to reset • ESC to close

align_and_plot - WDL Source Code

version 1.0

import "../tasks/tasks_reports.wdl" as reports
import "../tasks/tasks_assembly.wdl" as assembly

workflow align_and_plot {
    meta {
        description: "Align reads to reference and produce coverage plots and statistics."
        author: "Broad Viral Genomics"
        email:  "viral-ngs@broadinstitute.org"
        allowNestedInputs: true
    }

    call assembly.align_reads as align
    call reports.plot_coverage {
        input:
            aligned_reads_bam = align.aligned_only_reads_bam,
            sample_name       = basename(basename(align.aligned_only_reads_bam, ".bam"), ".mapped")
    }

    output {
        File   aligned_bam                   = align.aligned_bam
        File   aligned_bam_idx               = align.aligned_bam_idx
        File   aligned_bam_flagstat          = align.aligned_bam_flagstat
        File   aligned_only_reads_bam        = align.aligned_only_reads_bam
        File   aligned_only_reads_bam_idx    = align.aligned_only_reads_bam_idx
        File   aligned_only_reads_fastqc     = align.aligned_only_reads_fastqc
        File   aligned_only_reads_fastqc_zip = align.aligned_only_reads_fastqc_zip
        Int    reads_provided                = align.reads_provided
        Int    reads_aligned                 = align.reads_aligned
        Int    read_pairs_aligned            = align.read_pairs_aligned
        Float  bases_aligned                 = align.bases_aligned
        Float  mean_coverage                 = align.mean_coverage
        String align_viral_core_version      = align.viralngs_version
        File   coverage_plot                 = plot_coverage.coverage_plot
        File   coverage_tsv                  = plot_coverage.coverage_tsv
        Int    reference_length              = plot_coverage.assembly_length
        String plot_viral_core_version       = plot_coverage.viralngs_version
    }
}