simulate_illumina_reads
pipes/WDL/workflows/simulate_illumina_reads.wdl

WORKFLOW simulate_illumina_reads

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

Imports

Namespace Path
ncbi ../tasks/tasks_ncbi.wdl
assembly ../tasks/tasks_assembly.wdl

Workflow: simulate_illumina_reads

Generate synthetic Illumina read sets for testing using wgsim. Takes a space-separated string of colon-separated pairs where each pair consists of a GenBank accession and a coverage value (e.g., 'KJ660346.2:12.5x NC_004296.1:0.9X'), downloads the sequences, and simulates Illumina reads.

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

Inputs

Name Type Description Default
accession_coverage_string String Space-separated string of colon-separated pairs where each pair consists of a GenBank accession and a coverage value (e.g., 'KJ660346.2:12.5x NC_004296.1:0.9X'). -
emailAddress String - -
coverage_bed File? - -
read_length Int? - -
outer_distance Int? - -
mutation_rate Float? - -
indel_fraction Float? - -
indel_extend_probability Float? - -
random_seed Int? - -
4 optional inputs with default values

Outputs

Name Type Expression
simulated_reads_bam File simulate_reads.simulated_reads_bam
read_count Int simulate_reads.read_count
reference_sequences File download_fasta_from_accession_string.sequences_fasta
viralngs_version String simulate_reads.viralngs_version

Calls

This workflow calls the following tasks or subworkflows:

CALL TASKS download_fasta_from_accession_string

Input Mappings (2)
Input Value
accession_string accession_coverage_string
out_prefix out_basename

CALL TASKS simulate_reads → wgsim

Input Mappings (3)
Input Value
coverage_string accession_coverage_string
reference_fasta download_fasta_from_accession_string.sequences_fasta
out_basename out_basename

Images

Container images used by tasks in this workflow:

🐳 Parameterized Image
⚙️ Parameterized

Configured via input:
docker

Used by 1 task:
  • download_fasta_from_accession_string
🐳 Parameterized Image
⚙️ Parameterized

Configured via input:
docker

Used by 1 task:
  • simulate_reads
← Back to Index

simulate_illumina_reads - Workflow Graph

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

simulate_illumina_reads - WDL Source Code

version 1.0

import "../tasks/tasks_ncbi.wdl" as ncbi
import "../tasks/tasks_assembly.wdl" as assembly

workflow simulate_illumina_reads {

    meta {
        description: "Generate synthetic Illumina read sets for testing using wgsim. Takes a space-separated string of colon-separated pairs where each pair consists of a GenBank accession and a coverage value (e.g., 'KJ660346.2:12.5x NC_004296.1:0.9X'), downloads the sequences, and simulates Illumina reads."
        author: "Broad Viral Genomics"
        email:  "viral-ngs@broadinstitute.org"
        allowNestedInputs: true
    }

    parameter_meta {
        accession_coverage_string: {
            description: "Space-separated string of colon-separated pairs where each pair consists of a GenBank accession and a coverage value (e.g., 'KJ660346.2:12.5x NC_004296.1:0.9X').",
            category: "required"
        }
        out_basename: {
            description: "Base name for output files.",
            category: "common"
        }
    }

    input {
        String accession_coverage_string
        String out_basename = "simulated_reads"
    }

    call ncbi.download_fasta_from_accession_string {
        input:
            accession_string = accession_coverage_string,
            out_prefix       = out_basename
    }

    call assembly.wgsim as simulate_reads {
        input:
            coverage_string = accession_coverage_string,
            reference_fasta = download_fasta_from_accession_string.sequences_fasta,
            out_basename    = out_basename
    }

    output {
        File   simulated_reads_bam = simulate_reads.simulated_reads_bam
        Int    read_count          = simulate_reads.read_count
        File   reference_sequences = download_fasta_from_accession_string.sequences_fasta
        String viralngs_version    = simulate_reads.viralngs_version
    }
}