scaffold_and_refine
pipes/WDL/workflows/scaffold_and_refine.wdl

WORKFLOW scaffold_and_refine

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

Imports

Namespace Path
assembly ../tasks/tasks_assembly.wdl
assemble_refbased assemble_refbased.wdl

Workflow: scaffold_and_refine

Scaffold de novo contigs against a set of possible references and subsequently polish with reads.

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

Inputs

Name Type Description Default
reads_unmapped_bam File - -
contigs_fasta File - -
reference_genome_fasta Array[File]+ - -
min_length_fraction Float? - -
min_unambig Float? - -
skani_m Int? - -
skani_s Int? - -
skani_c Int? - -
nucmer_max_gap Int? - -
nucmer_min_match Int? - -
nucmer_min_cluster Int? - -
scaffold_min_contig_len Int? - -
scaffold_min_pct_contig_aligned Float? - -
machine_mem_gb Int? - -
sample_original_name String? - -
novocraft_license File? - -
trim_coords_bed File? - -
machine_mem_gb Int? - -
min_keep_length Int? - -
sliding_window Int? - -
primer_offset Int? - -
machine_mem_gb Int? - -
reheader_table File? - -
amplicon_set String? - -
max_coverage_depth Int? - -
base_q_threshold Int? - -
mapping_q_threshold Int? - -
read_length_threshold Int? - -
plotXLimits String? - -
plotYLimits String? - -
machine_mem_gb Int? - -
reheader_table File? - -
max_coverage_depth Int? - -
base_q_threshold Int? - -
mapping_q_threshold Int? - -
read_length_threshold Int? - -
plotXLimits String? - -
plotYLimits String? - -
56 optional inputs with default values

Outputs

Name Type Expression
final_assembly_fasta File refine.assembly_fasta
aligned_only_reads_bam File refine.align_to_self_merged_aligned_only_bam
coverage_plot File refine.align_to_self_merged_coverage_plot
assembly_length Int refine.assembly_length
assembly_length_unambiguous Int refine.assembly_length_unambiguous
reads_aligned Int refine.align_to_self_merged_reads_aligned
mean_coverage Float refine.align_to_self_merged_mean_coverage
scaffold_fasta File scaffold.scaffold_fasta
intermediate_scaffold_fasta File scaffold.intermediate_scaffold_fasta
intermediate_gapfill_fasta File scaffold.intermediate_gapfill_fasta
assembly_preimpute_length Int scaffold.assembly_preimpute_length
assembly_preimpute_length_unambiguous Int scaffold.assembly_preimpute_length_unambiguous
scaffolding_chosen_ref_names Array[String] scaffold.scaffolding_chosen_ref_names
scaffolding_stats File scaffold.scaffolding_stats
scaffolding_alt_contigs File scaffold.scaffolding_alt_contigs
replicate_concordant_sites Int refine.replicate_concordant_sites
replicate_discordant_snps Int refine.replicate_discordant_snps
replicate_discordant_indels Int refine.replicate_discordant_indels
num_read_groups Int refine.num_read_groups
num_libraries Int refine.num_libraries
replicate_discordant_vcf File refine.replicate_discordant_vcf
isnvsFile File refine.align_to_self_isnvs_vcf
aligned_bam File refine.align_to_self_merged_aligned_only_bam
aligned_only_reads_fastqc File refine.align_to_ref_fastqc
coverage_tsv File refine.align_to_self_merged_coverage_tsv
read_pairs_aligned Int refine.align_to_self_merged_read_pairs_aligned
bases_aligned Float refine.align_to_self_merged_bases_aligned
assembly_method String "viral-ngs/scaffold_and_refine"
scaffold_viral_assemble_version String scaffold.viralngs_version
refine_viral_assemble_version String refine.viral_assemble_version

Calls

This workflow calls the following tasks or subworkflows:

CALL TASKS scaffold

Input Mappings (1)
Input Value
reads_bam reads_unmapped_bam

CALL WORKFLOW refine → assemble_refbased

Input Mappings (2)
Input Value
reads_unmapped_bams [reads_unmapped_bam]
reference_fasta scaffold.scaffold_fasta

Images

Container images used by tasks in this workflow:

🐳 Parameterized Image
⚙️ Parameterized

Configured via input:
docker

Used by 1 task:
  • scaffold
← Back to Index

scaffold_and_refine - Workflow Graph

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

scaffold_and_refine - WDL Source Code

version 1.0

import "../tasks/tasks_assembly.wdl" as assembly
import "assemble_refbased.wdl" as assemble_refbased

workflow scaffold_and_refine {
    meta {
        description: "Scaffold de novo contigs against a set of possible references and subsequently polish with reads."
        author: "Broad Viral Genomics"
        email:  "viral-ngs@broadinstitute.org"
        allowNestedInputs: true
    }

    input {
        File reads_unmapped_bam
    }

    call assembly.scaffold {
        input:
            reads_bam = reads_unmapped_bam
    }

    call assemble_refbased.assemble_refbased as refine {
        input:
            reads_unmapped_bams = [reads_unmapped_bam],
            reference_fasta     = scaffold.scaffold_fasta
    }

  output {
    File   final_assembly_fasta                  = refine.assembly_fasta
    File   aligned_only_reads_bam                = refine.align_to_self_merged_aligned_only_bam
    File   coverage_plot                         = refine.align_to_self_merged_coverage_plot
    Int    assembly_length                       = refine.assembly_length
    Int    assembly_length_unambiguous           = refine.assembly_length_unambiguous
    Int    reads_aligned                         = refine.align_to_self_merged_reads_aligned
    Float  mean_coverage                         = refine.align_to_self_merged_mean_coverage
    
    File   scaffold_fasta                        = scaffold.scaffold_fasta
    File   intermediate_scaffold_fasta           = scaffold.intermediate_scaffold_fasta
    File   intermediate_gapfill_fasta            = scaffold.intermediate_gapfill_fasta
    Int    assembly_preimpute_length             = scaffold.assembly_preimpute_length
    Int    assembly_preimpute_length_unambiguous = scaffold.assembly_preimpute_length_unambiguous
    Array[String]  scaffolding_chosen_ref_names  = scaffold.scaffolding_chosen_ref_names
    File   scaffolding_stats                     = scaffold.scaffolding_stats
    File   scaffolding_alt_contigs               = scaffold.scaffolding_alt_contigs

    Int    replicate_concordant_sites            = refine.replicate_concordant_sites
    Int    replicate_discordant_snps             = refine.replicate_discordant_snps
    Int    replicate_discordant_indels           = refine.replicate_discordant_indels
    Int    num_read_groups                       = refine.num_read_groups
    Int    num_libraries                         = refine.num_libraries
    File   replicate_discordant_vcf              = refine.replicate_discordant_vcf

    File   isnvsFile                             = refine.align_to_self_isnvs_vcf
    
    File   aligned_bam                           = refine.align_to_self_merged_aligned_only_bam
    File   aligned_only_reads_fastqc             = refine.align_to_ref_fastqc
    File   coverage_tsv                          = refine.align_to_self_merged_coverage_tsv
    Int    read_pairs_aligned                    = refine.align_to_self_merged_read_pairs_aligned
    Float  bases_aligned                         = refine.align_to_self_merged_bases_aligned
    
    String assembly_method = "viral-ngs/scaffold_and_refine"
    String scaffold_viral_assemble_version       = scaffold.viralngs_version
    String refine_viral_assemble_version         = refine.viral_assemble_version
  }
}