diff --git a/spades.wdl b/spades.wdl index f0feb573ec4fb71f09ec5cb42f62fe45c4ed7cb8..960446b966faf532078ee17298bbd910b62dc284 100644 --- a/spades.wdl +++ b/spades.wdl @@ -1,32 +1,36 @@ +version 1.0 + task spades { - String outputDir - String? preCommand - File read1 - File? read2 - File? interlacedReads - File? sangerReads - File? pacbioReads - File? nanoporeReads - File? tslrContigs - File? trustedContigs - File? untrustedContigs - Boolean? singleCell - Boolean? metagenomic - Boolean? rna - Boolean? plasmid - Boolean? ionTorrent - Boolean? onlyErrorCorrection - Boolean? onlyAssembler - Boolean? careful - Boolean? disableGzipOutput - Boolean? disableRepeatResolution - File? dataset - Int? threads - Float? memoryGb - File? tmpDir - String? k - Float? covCutoff - Int? phredOffset + input { + String outputDir + String? preCommand + File read1 + File? read2 + File? interlacedReads + File? sangerReads + File? pacbioReads + File? nanoporeReads + File? tslrContigs + File? trustedContigs + File? untrustedContigs + Boolean? singleCell + Boolean? metagenomic + Boolean? rna + Boolean? plasmid + Boolean? ionTorrent + Boolean? onlyErrorCorrection + Boolean? onlyAssembler + Boolean? careful + Boolean? disableGzipOutput + Boolean? disableRepeatResolution + File? dataset + Int? threads + Float? memoryGb + File? tmpDir + String? k + Float? covCutoff + Int? phredOffset + } Int finalThreads = select_first([threads,1]) Float totalMemory = select_first([memoryGb, finalThreads * 16.0]) Int finalMemory = ceil(totalMemory) @@ -34,34 +38,34 @@ task spades { command { set -e -o pipefail - ${preCommand} + ~{preCommand} spades.py \ - ${"-o " + outputDir} \ - ${true="--sc" false="" singleCell} \ - ${true="--meta" false="" metagenomic} \ - ${true="--rna" false="" rna} \ - ${true="--plasmid" false="" plasmid} \ - ${true="--iontorrent" false="" ionTorrent} \ - ${"--12 " + interlacedReads } \ - ${true="-1" false="-s" defined(read2)} ${read1} \ - ${"-2 " + read2 } \ - ${"--sanger " + sangerReads } \ - ${"--pacbio " + pacbioReads } \ - ${"--nanopore " + nanoporeReads } \ - ${"--tslr " + tslrContigs } \ - ${"--trusted-contigs " + trustedContigs } \ - ${"--untrusted-contigs " + untrustedContigs } \ - ${true="--only-error-correction" false="" onlyErrorCorrection } \ - ${true="--only-assembler" false="" onlyAssembler } \ - ${true="--careful" false="" careful } \ - ${true="--disable-gzip-output" false="" disableGzipOutput} \ - ${true="--disable-rr" false="" disableRepeatResolution } \ - ${"--dataset " + dataset } \ - ${"--threads " + finalThreads} \ - ${"--memory " + finalMemory } \ - ${"-k " + k } \ - ${"--cov-cutoff " + covCutoff } \ - ${"--phred-offset " + phredOffset } + ~{"-o " + outputDir} \ + ~{true="--sc" false="" singleCell} \ + ~{true="--meta" false="" metagenomic} \ + ~{true="--rna" false="" rna} \ + ~{true="--plasmid" false="" plasmid} \ + ~{true="--iontorrent" false="" ionTorrent} \ + ~{"--12 " + interlacedReads } \ + ~{true="-1" false="-s" defined(read2)} ~{read1} \ + ~{"-2 " + read2 } \ + ~{"--sanger " + sangerReads } \ + ~{"--pacbio " + pacbioReads } \ + ~{"--nanopore " + nanoporeReads } \ + ~{"--tslr " + tslrContigs } \ + ~{"--trusted-contigs " + trustedContigs } \ + ~{"--untrusted-contigs " + untrustedContigs } \ + ~{true="--only-error-correction" false="" onlyErrorCorrection } \ + ~{true="--only-assembler" false="" onlyAssembler } \ + ~{true="--careful" false="" careful } \ + ~{true="--disable-gzip-output" false="" disableGzipOutput} \ + ~{true="--disable-rr" false="" disableRepeatResolution } \ + ~{"--dataset " + dataset } \ + ~{"--threads " + finalThreads} \ + ~{"--memory " + finalMemory } \ + ~{"-k " + k } \ + ~{"--cov-cutoff " + covCutoff } \ + ~{"--phred-offset " + phredOffset } } output { Array[File] correctedReads = glob(outputDir + "/corrected/*.fastq*")