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