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

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

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

        String tumorSampleName
ffinfo's avatar
ffinfo committed
        IndexedBamFile tumorBam
        String? normalSampleName
ffinfo's avatar
ffinfo committed
        IndexedBamFile? normalBam
        Reference reference
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 = 8
Cats's avatar
Cats committed
        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"
Cats's avatar
Cats committed
            else "vardict"
Cats's avatar
Cats committed

    command {
        set -e -o pipefail
Cats's avatar
Cats committed
        export JAVA_OPTS="-Xmx~{memory}G"
Cats's avatar
Cats committed
        ~{preCommand}
        ~{toolCommand} \
ffinfo's avatar
ffinfo committed
        -G ~{reference.fasta} \
Cats's avatar
Cats committed
        -N ~{tumorSampleName} \
ffinfo's avatar
ffinfo committed
        -b "~{tumorBam.file}~{"|" + normalBam.file}" \
        ~{true="" false="-z" 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}
ffinfo's avatar
ffinfo committed
        tabix -p vcf ~{outputVcf}
Cats's avatar
Cats committed
    }

    output {
ffinfo's avatar
ffinfo committed
        IndexedVcfFile vcfFile = object {
          file: outputVcf,
          index: outputVcf + ".tbi"
        }
Cats's avatar
Cats committed
    }
Cats's avatar
Cats committed

    runtime {
        memory: ceil(memory * memoryMultiplier)
    }