diff --git a/gatk.wdl b/gatk.wdl index 75e45e5904f7f30447ffb0c579988c028e9dadc9..7697ffac9df218e190a9925ec242562047602ab7 100644 --- a/gatk.wdl +++ b/gatk.wdl @@ -298,7 +298,7 @@ task MuTect2 { String? preCommand Array[File]+ inputBams - File inputBamIndex + Array[File]+ inputBamIndex File refFasta File refFastaIndex File refDict @@ -331,6 +331,7 @@ task MuTect2 { output { File vcfFile = outputVcf + File vcfIndex = outputVcf + ".tbi" } runtime { diff --git a/samplesheet.wdl b/samplesheet.wdl index 4bec92cb737e237421fd28eef2bac04e1abf16c2..d036f4d1883e8b654c62fe7b0b659a2e3f7fa592 100644 --- a/samplesheet.wdl +++ b/samplesheet.wdl @@ -1,4 +1,5 @@ version 1.0 + struct Readgroup { String id File R1 @@ -15,9 +16,10 @@ struct Library { struct Sample { String id Array[Library]+ libraries + String? control } -task sampleConfigFileToStruct { +task SampleConfigFileToStruct { input { File sampleConfigFile String outputJson = "output.json" @@ -69,5 +71,5 @@ task sampleConfigFileToStruct { output { Map[String,Array[Sample]] map = read_json(outputJson) Array[Sample] samples = map["samples"] - } + } } diff --git a/samtools.wdl b/samtools.wdl index 2d910379db88bb9402df50c2e0704e08263a9ff7..76cf5a4a9a7b53bb6f8a07e6f7a10db69054e6c2 100644 --- a/samtools.wdl +++ b/samtools.wdl @@ -1,5 +1,25 @@ version 1.0 +task BgzipAndIndex { + input { + File inputFile + String outputDir + String type = "vcf" + } + + String outputGz = outputDir + "/" + basename(inputFile) + ".gz" + + command { + bgzip -c ~{inputFile} > ~{outputGz} + tabix ~{outputGz} -p ~{type} + } + + output { + File compressed = outputGz + File index = outputGz + ".tbi" + } +} + task Index { input { String? preCommand @@ -131,6 +151,21 @@ task Fastq { } } +task Tabix { + input { + String inputFile + String type = "vcf" + } + + command { + tabix ~{inputFile} -p ~{type} + } + + output { + File index = inputFile + ".tbi" + } +} + task View { input { String? preCommand diff --git a/strelka.wdl b/strelka.wdl index 29e2a078ef59390d1dfceef3b093b25c0ea32236..6094350235f76a673c53a36b40e8643ecf988ed7 100644 --- a/strelka.wdl +++ b/strelka.wdl @@ -1,13 +1,69 @@ version 1.0 +task Germline { + input { + String? preCommand + String? installDir + String runDir + Array[File]+ bams + Array[File]+ indexes + File refFasta + File? callRegions + File? callRegionsIndex + Boolean exome = false + Boolean rna = false + + Int cores = 1 + Int memory = 4 + } + + String toolCommand = if defined(installDir) + then installDir + "bin/configureStrelkaGermlineWorkflow.py" + else "configureStrelkaGermlineWorkflow.py" + + command { + set -e -o pipefail + ~{preCommand} + ~{toolCommand} \ + --bam ~{sep=" --bam " bams} \ + --ref ~{refFasta} \ + --runDir ~{runDir} \ + ~{"--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.vcf.gz" + File variantsIndex = runDir + "/results/variants.vcf.gz.tbi" + } + + runtime { + cpu: cores + memory: memory + } +} + + task Somatic { input { String? preCommand String? installDir String runDir File normalBam + File normalIndex File tumorBam + File tumorIndex File refFasta + File? callRegions + File? callRegionsIndex + Boolean exome = false + Boolean rna = false Int cores = 1 Int memory = 4 @@ -24,7 +80,9 @@ task Somatic { --normalBam ~{normalBam} \ --tumorBam ~{tumorBam} \ --ref ~{refFasta} \ - --runDir ~{runDir} + --runDir ~{runDir} \ + ~{"--callRegions" + callRegions} \ + ~{true="--exome" false="" exome} \ ~{runDir}/runWorkflow.py \ -m local \ diff --git a/vardict.wdl b/vardict.wdl index 9dbb0ac49471f84ad88eb2a7c003f66ef39f9be2..849f3ffa9a1c0623ce6dabd8f20468e63c92361f 100644 --- a/vardict.wdl +++ b/vardict.wdl @@ -4,12 +4,14 @@ task VarDict { input { String? installDir + String tumorSampleName File tumorBam - File normalBam + File tumorIndex + String? normalSampleName + File? normalBam + File? normalIndex File refFasta File bedFile - String tumorSampleName - String normalSampleName String outputVcf Int chromosomeColumn = 1 @@ -30,19 +32,21 @@ task VarDict { ~{toolCommand} \ -G ~{refFasta} \ -N ~{tumorSampleName} \ - -b "~{tumorBam}|~{normalBam}" \ + -b "~{tumorBam}~{"|" + normalBam}" \ -c ~{chromosomeColumn} \ -S ~{startColumn} \ -E ~{endColumn} \ -g ~{geneColumn} \ ~{bedFile} | \ - ~{installDir + "/"}testsomatic.R | \ - ~{installDir + "/"}var2vcf_paired.pl \ - -N "~{tumorSampleName}|~{normalSampleName}" \ - > ~{outputVcf} + ~{installDir + "/"}~{true="testsomatic.R" false="teststrandbias.R" defined(normalBam)} | \ + ~{installDir + "/"}~{true="var2vcf_paired.pl" + false="var2vcf_valid.pl" defined(normalBam)} \ + -N "~{tumorSampleName}~{"|" + normalSampleName}" \ + ~{true="" false="-E" defined(normalBam)} | \ + bgzip -c > ~{outputVcf} } output { File vcfFile = outputVcf } -} \ No newline at end of file +}