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

task VarDict {
    input {
        String? installDir
Cats's avatar
Cats committed
        Boolean useJavaVersion = true
Cats's avatar
Cats committed

        String tumorSampleName
Cats's avatar
Cats committed
        File tumorBam
        File tumorIndex
        String? normalSampleName
        File? normalBam
        File? normalIndex
Cats's avatar
Cats committed
        File refFasta
Cats's avatar
Cats committed
        File refFastaIndex
Cats's avatar
Cats committed
        File bedFile
        String outputVcf

        Int chromosomeColumn = 1
        Int startColumn = 2
        Int endColumn = 3
        Int geneColumn = 4

        String? preCommand
Cats's avatar
Cats committed
        Int memory = 4
        Float memoryMultiplier = 2.0
Cats's avatar
Cats committed
    }

    String toolCommand = if defined(installDir)
        then installDir + "/VarDict"
Cats's avatar
Cats committed
        else if useJavaVersion
Cats's avatar
Cats committed
            then "vardict-java -Xmx${memory}"
Cats's avatar
Cats committed
            else "vardict"
Cats's avatar
Cats committed

    command {
        set -e -o pipefail
        ~{preCommand}
        ~{toolCommand} \
        -G ~{refFasta} \
        -N ~{tumorSampleName} \
        -b "~{tumorBam}~{"|" + normalBam}" \
        ~{true="-z" false="" defined(normalBam)} \
Cats's avatar
Cats committed
        -c ~{chromosomeColumn} \
        -S ~{startColumn} \
        -E ~{endColumn} \
        -g ~{geneColumn} \
        ~{bedFile} | \
        ~{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}
Cats's avatar
Cats committed
    }

    output {
        File vcfFile = outputVcf
    }
Cats's avatar
Cats committed

    runtime {
        memory: ceil(memory * memoryMultiplier)
    }