Skip to content
Snippets Groups Projects
unicycler.wdl 3.11 KiB
Newer Older
Ruben Vorderman's avatar
Ruben Vorderman committed
task unicycler {
    String? preCommand
    File? short1
    File? short2
Ruben Vorderman's avatar
Ruben Vorderman committed
    File? unpaired
    File? long
    String out
Ruben Vorderman's avatar
Ruben Vorderman committed
    Int? verbosity
Ruben Vorderman's avatar
Ruben Vorderman committed
    Int? minFastaLength
    Int? keep
    Boolean? vcf
Ruben Vorderman's avatar
Ruben Vorderman committed
    Int? threads
    Int? memory
    Int finalThreads = select_first(threads, 1)
    Int finalMemory = select_first(memory, 4)
Ruben Vorderman's avatar
Ruben Vorderman committed
    String? mode
Ruben Vorderman's avatar
Ruben Vorderman committed
    Float? minBridgeQual
Ruben Vorderman's avatar
Ruben Vorderman committed
    Int? linearSeqs
Ruben Vorderman's avatar
Ruben Vorderman committed
    File? spadesPath
    Boolean? noCorrect
    Float? minKmerFrac
    Float? maxKmerFrac
    Int? kmerCount
    Float? depthFilter
    Boolean? noMiniasm
    File? raconPath
    File? existingLongReadAssembly
    Boolean? noRotate
    File? startGenes
    Float? startGeneId
    Float? startGeneCov
    String? makeblastdbPath
    File? tblastnPath
    Boolean? noPilon
    File? bowtie2Path
    File? bowtie2buildPath
    File? samtoolsPath
    File? pilonPath
    File? javaPath
    Int? minPolishSize
    File? bcftoolsPath
    Int? minComponentSize
    Int? minDeadEndSize
    File? contamination
    String? scores
    String? lowScore
Ruben Vorderman's avatar
Ruben Vorderman committed
    command {
        set -e -o pipefail
        mkdir -p ${out}
        ${preCommand}
        unicycler \
Ruben Vorderman's avatar
Ruben Vorderman committed
        ${"--short1 " + short1} \
        ${"--short2 " + short2} \
Ruben Vorderman's avatar
Ruben Vorderman committed
        ${"--unpaired " + unpaired} \
        ${"--long " + long} \
        --out ${out} \
        ${"--min_fasta_length " + minFastaLength} \
        ${"--keep " + keep } \
        ${true="--vcf" false="" vcf } \
Ruben Vorderman's avatar
Ruben Vorderman committed
        ${"--threads " + finalThreads } \
Ruben Vorderman's avatar
Ruben Vorderman committed
        ${"--mode " + mode } \
        ${"--min_bridge_qual " + minBridgeQual } \
        ${"--linear_seqs " + linearSeqs } \
        ${"--spades_path " + spadesPath } \
        ${true="--no_correct" false="" noCorrect } \
        ${"--min_kmer_frac " + minKmerFrac } \
        ${"--max_kmer_frac " + maxKmerFrac } \
        ${"--kmer_count " + kmerCount } \
        ${"--depth_filter " + depthFilter } \
        ${true="--no_miniasm" false="" noMiniasm } \
        ${"--racon_path " + raconPath } \
        ${"--existing_long_read_assembly " + existingLongReadAssembly } \
        ${true="--no_rotate" false="" noRotate } \
        ${"--start_genes " + startGenes } \
        ${"--start_gene_id " + startGeneId } \
        ${"--start_gene_cov " + startGeneCov } \
        ${"--makeblastdb_path " + makeblastdbPath } \
        ${"--tblastn_path " + tblastnPath } \
        ${true="--no_pilon" false="" noPilon } \
        ${"--bowtie2_path " + bowtie2Path } \
        ${"--bowtie2_build_path " + bowtie2buildPath } \
        ${"--samtools_path " + samtoolsPath } \
        ${"--pilon_path " + pilonPath } \
        ${"--java_path " + javaPath } \
        ${"--min_polish_size " + minPolishSize } \
        ${"--bcftools_path " + bcftoolsPath } \
        ${"--min_component_size " + minComponentSize } \
        ${"--min_dead_end_size " + minDeadEndSize } \
        ${"--contamination " + contamination } \
        ${"--scores " + scores } \
        ${"--low_score " + lowScore }
Ruben Vorderman's avatar
Ruben Vorderman committed
    }
Ruben Vorderman's avatar
Ruben Vorderman committed
    output {
        File assemblyFasta = out + "/assembly.fasta"
        File assemblyGfa = out + "/assembly.gfa"
        File log = out + "/unicycler.log"
    }
Ruben Vorderman's avatar
Ruben Vorderman committed
    runtime {
Ruben Vorderman's avatar
Ruben Vorderman committed
        cpu: finalThreads
        memory: finalMemory