Skip to content
Snippets Groups Projects
manta.wdl 2.22 KiB
Newer Older
Cats's avatar
Cats committed
version 1.0

ffinfo's avatar
ffinfo committed
import "common.wdl"

Cats's avatar
Cats committed
    input {
ffinfo's avatar
ffinfo committed
        IndexedBamFile tumorBam
        IndexedBamFile? normalBam
        Reference reference
Cats's avatar
Cats committed
        String runDir
        File? callRegions
        File? callRegionsIndex
        Boolean exome = false
        String? preCommand
        String? installDir
    }

    String toolCommand = if defined(installDir)
        then installDir + "bin/configMata.py"
        else "configManta.py"

ffinfo's avatar
ffinfo committed
    String normalArg = if (defined(normalBam)) then "--normalBam " + select_first([normalBam]).file else ""

Cats's avatar
Cats committed
    command {
        set -e -o pipefail
        ~{preCommand}
        ~{toolCommand} \
ffinfo's avatar
ffinfo committed
        ~{normalArg} \
ffinfo's avatar
ffinfo committed
        ~{"--tumorBam " + tumorBam.file} \
        --referenceFasta ~{reference.fasta} \
Cats's avatar
Cats committed
        ~{"--callRegions " + callRegions} \
        --runDir ~{runDir} \
        ~{true="--exome" false="" exome}
Cats's avatar
Cats committed

task RunSomatic {
    input {
        String runDir
        Int cores = 1
        Int memory = 4
        Boolean paired = true
    }

    command {
Cats's avatar
Cats committed
        ~{runDir}/runWorkflow.py \
Cats's avatar
Cats committed
        -m local \
        -j ~{cores} \
        -g ~{memory}
    }

    output {
ffinfo's avatar
ffinfo committed
        IndexedVcfFile condidateSmallIndels = object {
          file: runDir + "/results/variants/candidateSmallIndels.vcf.gz",
          index: runDir + "/results/variants/candidateSmallIndels.vcf.gz.tbi"
        }
        IndexedVcfFile candidateSV = object {
          file: runDir + "/results/variants/candidateSV.vcf.gz",
          index: runDir + "/results/variants/candidateSV.vcf.gz.tbi"
        }
Peter van 't Hof's avatar
Peter van 't Hof committed
        IndexedVcfFile tumorSV = if (paired)
ffinfo's avatar
ffinfo committed
            then object {
              file: runDir + "/results/variants/somaticSV.vcf.gz",
              index: runDir + "/results/variants/somaticSV.vcf.gz.tbi"
            }
            else object {
              file: runDir + "/results/variants/tumorSV.vcf.gz",
              index: runDir + "/results/variants/tumorSV.vcf.gz.tbi"
            }

        IndexedVcfFile diploidSV = object {
          file: runDir + "/results/variants/diploidSV.vcf.gz",
          index: runDir + "/results/variants/diploidSV.vcf.gz.tbi"
        }
Cats's avatar
Cats committed
    }

    runtime {
        cpu: cores
        memory: memory
    }
}