From 03232d6aee841c48dbb0b4b2abaad37160d4cfc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ant=C3=B3nio=20Paulo?= <antonio.do.paulo@ist.utl.pt> Date: Mon, 5 Aug 2019 17:49:22 +0200 Subject: [PATCH] add GATK3 CombineVariants as a task --- gatk.wdl | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/gatk.wdl b/gatk.wdl index 12d8dba..b4a210d 100644 --- a/gatk.wdl +++ b/gatk.wdl @@ -505,3 +505,51 @@ task SplitNCigarReads { memory: ceil(memory * memoryMultiplier) } } + +task CombineVariants { + input { + String installDir = "/usr" + + File referenceFasta + File referenceFastaFai + File referenceFastaDict + String genotypeMergeOption = "UNIQUIFY" + String filteredRecordsMergeType = "KEEP_IF_ANY_UNFILTERED" + Array[String]+ identifiers + Array[File]+ variantVcfs # follow "identifiers" array order + Array[File]+ variantIndexes + String outputPath + + Int memory = 4 + Float memoryMultiplier = 1.5 + String dockerImage = "broadinstitute/gatk3:3.8-1" + } + + command <<< + set -e -o pipefail + mkdir -p $(dirname "~{outputPath}") + + # build "-V:<ID> <file.vcf>" arguments according to IDs and VCFs to merge + ids=(~{sep=" " identifiers}) + vars=(~{sep=" " variantVcfs}) + V_lines=`for ((i=0;i<${#ids[@]};++i)); do printf -- "-V:%s %s " "${ids[i]}" "${vars[i]}"; done` + + java -Xmx~{memory}G -jar ~{installDir}/GenomeAnalysisTK.jar \ + -T CombineVariants \ + -R ~{referenceFasta} \ + --genotypemergeoption ~{genotypeMergeOption} \ + --filteredrecordsmergetype ~{filteredRecordsMergeType} \ + --out ~{outputPath} \ + $V_lines + >>> + + output { + File combinedVcf = outputPath + File combinedVcfIndex = outputPath + ".tbi" + } + + runtime { + docker: dockerImage + memory: ceil(memory * memoryMultiplier) + } +} \ No newline at end of file -- GitLab