diff --git a/picard.wdl b/picard.wdl index ac372b1f078f61d2d3fdcee727fefb63dc789295..4132754149ebcab5e777f2e9d90c4266cc38db4e 100644 --- a/picard.wdl +++ b/picard.wdl @@ -378,3 +378,38 @@ task ScatterIntervalList { memory: ceil(memory * memoryMultiplier) } } + +task SortVcf { + input { + String? preCommand + String? picardJar + + Array[File]+ vcfFiles + String outputVcf + + Int memory = 4 + Float memoryMultiplier = 3.0 + } + + String toolCommand = if defined(picardJar) + then "java -Xmx" + memory + "G -jar " + picardJar + else "picard -Xmx" + memory + "G" + + command { + set -e -o pipefail + ~{preCommand} + ~{toolCommand} \ + SortVcf \ + I=~{sep=" I=" vcfFiles} \ + O=outputVcf + } + + output { + File vcfFile = outputVcf + File vcfIndex = outputVcf + ".tbi" + } + + runtime { + memory: ceil(memory * memoryMultiplier) + } +} \ No newline at end of file