diff --git a/cutadapt.wdl b/cutadapt.wdl index 8b073442c02a449871f7dc6a320a8eabdf82d8d4..0df1ced44f253b904586c7a89b7dc61436181551 100644 --- a/cutadapt.wdl +++ b/cutadapt.wdl @@ -61,10 +61,12 @@ task Cutadapt { String? reportPath } + String read2outputArg = if (defined(read2output)) then "mkdir -p $(dirname " + read2output + ")" else "" + command { set -e -o pipefail ~{"mkdir -p $(dirname " + read1output + ")"} - ~{"mkdir -p $(dirname " + read2output + ")"} + ~{read2outputArg} ~{"mkdir -p $(dirname " + reportPath + ")"} ~{preCommand} cutadapt \ diff --git a/fastqc.wdl b/fastqc.wdl index 6d924cf550a84640fcf3e8f9e1b555d2cf239dd7..f1d23885f210e73b2452be62b499ca6ab553ed85 100644 --- a/fastqc.wdl +++ b/fastqc.wdl @@ -21,10 +21,10 @@ task Fastqc { } # Chops of the .gz extension if present. - String name = sub(seqFile, "\\.gz$","") + String name = sub(seqFile, "\.gz$","") # This regex chops of the extension and replaces it with _fastqc for the reportdir. # Just as fastqc does it. - String reportDir = outdirPath + "/" + sub(basename(name), "\\.[^\\.]*$", "_fastqc") + String reportDir = outdirPath + "/" + sub(basename(name), "\.[^\.]*$", "_fastqc") command { set -e -o pipefail diff --git a/manta.wdl b/manta.wdl index e2c59eb425722347de5608297adc43af3cb61185..a5b024c55f8f864ea97774a82081c4e35e089df6 100644 --- a/manta.wdl +++ b/manta.wdl @@ -1,6 +1,6 @@ version 1.0 -task Somatic { +task ConfigureSomatic { input { File tumorBam File tumorIndex @@ -14,9 +14,6 @@ task Somatic { Boolean exome = false String? preCommand String? installDir - - Int cores = 1 - Int memory = 4 } String toolCommand = if defined(installDir) @@ -33,7 +30,22 @@ task Somatic { ~{"--callRegions " + callRegions} \ --runDir ~{runDir} \ ~{true="--exome" false="" exome} + } + + output { + String runDirectory = runDir + } +} +task RunSomatic { + input { + String runDir + Int cores = 1 + Int memory = 4 + Boolean paired = true + } + + command { ~{runDir}/runWorkflow.py \ -m local \ -j ~{cores} \ @@ -46,10 +58,10 @@ task Somatic { "/results/variants/candidateSmallIndels.vcf.gz.tbi" File candidateSV = runDir + "/results/variants/candidateSV.vcf.gz" File candidateSVindex = runDir + "/results/variants/candidateSV.vcf.gz.tbi" - File tumorSV = if defined(normalBam) + File tumorSV = if paired then runDir + "/results/variants/somaticSV.vcf.gz" else runDir + "/results/variants/tumorSV.vcf.gz" - File tumorSVindex = if defined(normalBam) + File tumorSVindex = if paired then runDir + "/results/variants/somaticSV.vcf.gz.tbi" else runDir + "/results/variants/tumorSV.vcf.gz.tbi" File? diploidSV = "/results/variants/diploidSV.vcf.gz" diff --git a/picard.wdl b/picard.wdl index 4132754149ebcab5e777f2e9d90c4266cc38db4e..9dc3709d163dc0e822b0d8fd737c4a653d58ee09 100644 --- a/picard.wdl +++ b/picard.wdl @@ -61,8 +61,8 @@ task CollectMultipleMetrics { File gcBiasDetail = basename + ".gc_bias.detail_metrics" File gcBiasPdf = basename + ".gc_bias.pdf" File gcBiasSummary = basename + ".gc_bias.summary_metrics" - File insertSizeHistogramPdf = basename + ".insert_size_histogram.pdf" - File insertSize = basename + ".insert_size_metrics" + File? insertSizeHistogramPdf = basename + ".insert_size_histogram.pdf" + File? insertSize = basename + ".insert_size_metrics" File preAdapterDetail = basename + ".pre_adapter_detail_metrics" File preAdapterSummary = basename + ".pre_adapter_summary_metrics" File qualityByCycle = basename + ".quality_by_cycle_metrics" @@ -110,7 +110,7 @@ task CollectRnaSeqMetrics { } output { - File chart = basename + ".RNA_Metrics.pdf" + File? chart = basename + ".RNA_Metrics.pdf" File metrics = basename + ".RNA_Metrics" } @@ -386,6 +386,7 @@ task SortVcf { Array[File]+ vcfFiles String outputVcf + File? sequenceDict Int memory = 4 Float memoryMultiplier = 3.0 @@ -401,7 +402,8 @@ task SortVcf { ~{toolCommand} \ SortVcf \ I=~{sep=" I=" vcfFiles} \ - O=outputVcf + ~{"SEQUENCE_DICTIONARY=" + sequenceDict} \ + O=~{outputVcf} } output { diff --git a/strelka.wdl b/strelka.wdl index cc3682fffeb6bfe8c9fa5241ff04d9670cb118cc..959fabf8f5a4783986c9e9b56a4b20dd7963e4e4 100644 --- a/strelka.wdl +++ b/strelka.wdl @@ -1,6 +1,6 @@ version 1.0 -task Germline { +task ConfigureGermline { input { String? preCommand String? installDir @@ -13,9 +13,6 @@ task Germline { File? callRegionsIndex Boolean exome = false Boolean rna = false - - Int cores = 1 - Int memory = 4 } String toolCommand = if defined(installDir) @@ -32,26 +29,14 @@ task Germline { ~{"--callRegions " + callRegions} \ ~{true="--exome" false="" exome} \ ~{true="--rna" false="" rna} - - ~{runDir}/runWorkflow.py \ - -m local \ - -j ~{cores} \ - -g ~{memory} } output { - File variants = runDir + "/results/variants/variants.vcf.gz" - File variantsIndex = runDir + "/results/variants/variants.vcf.gz.tbi" - } - - runtime { - cpu: cores - memory: memory + String runDirectory = runDir } } - -task Somatic { +task ConfigureSomatic { input { String? preCommand String? installDir @@ -67,9 +52,6 @@ task Somatic { File? indelCandidates File? indelCandidatesIndex Boolean exome = false - - Int cores = 1 - Int memory = 4 } String toolCommand = if defined(installDir) @@ -87,7 +69,22 @@ task Somatic { ~{"--callRegions " + callRegions} \ ~{"--indelCandidates " + indelCandidates} \ ~{true="--exome" false="" exome} \ + } + + output { + String runDirectory = runDir + } +} +task Run { + input { + String runDir + Int cores = 1 + Int memory = 4 + Boolean somatic = true + } + + command { ~{runDir}/runWorkflow.py \ -m local \ -j ~{cores} \ @@ -95,10 +92,14 @@ task Somatic { } output { - File indelsVcf = runDir + "/results/variants/somatic.indels.vcf.gz" - File indelsIndex = runDir + "/results/variants/somatic.indels.vcf.gz.tbi" - File snvVcf = runDir + "/results/variants/somatic.snvs.vcf.gz" - File snvIndex = runDir + "/results/variants/somatic.snvs.vcf.gz.tbi" + File? indelsVcf = runDir + "/results/variants/somatic.indels.vcf.gz" + File? indelsIndex = runDir + "/results/variants/somatic.indels.vcf.gz.tbi" + File variants = if somatic + then runDir + "/results/variants/somatic.snvs.vcf.gz" + else runDir + "/results/variants/variants.vcf.gz" + File variantsIndex = if somatic + then runDir + "/results/variants/somatic.snvs.vcf.gz.tbi" + else runDir + "/results/variants/variants.vcf.gz.tbi" } runtime { diff --git a/vardict.wdl b/vardict.wdl index a421fd785abb9f5786cb0c9781f294c5525c60fd..c79a768ffc1fc0a72c9c8506e20338a952a91d4d 100644 --- a/vardict.wdl +++ b/vardict.wdl @@ -22,21 +22,25 @@ task VarDict { Int geneColumn = 4 String? preCommand + Int memory = 8 + Float memoryMultiplier = 2.0 } String toolCommand = if defined(installDir) then installDir + "/VarDict" else if useJavaVersion - then "vardict-java" #probably needs memory stuff + then "vardict-java" else "vardict" command { set -e -o pipefail + export JAVA_OPTS="-Xmx~{memory}G" ~{preCommand} ~{toolCommand} \ -G ~{refFasta} \ -N ~{tumorSampleName} \ -b "~{tumorBam}~{"|" + normalBam}" \ + ~{true="" false="-z" defined(normalBam)} \ -c ~{chromosomeColumn} \ -S ~{startColumn} \ -E ~{endColumn} \ @@ -53,4 +57,8 @@ task VarDict { output { File vcfFile = outputVcf } + + runtime { + memory: ceil(memory * memoryMultiplier) + } }