From 4459b837a64cbe1b60fc86fb092f88e2149e8690 Mon Sep 17 00:00:00 2001
From: Peter van 't Hof <p.j.van_t_hof@lumc.nl>
Date: Sat, 1 Aug 2015 14:50:15 +0200
Subject: [PATCH] Adding gonl annotation step

---
 .../sasc/biopet/pipelines/toucan/Toucan.scala   | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/public/toucan/src/main/scala/nl/lumc/sasc/biopet/pipelines/toucan/Toucan.scala b/public/toucan/src/main/scala/nl/lumc/sasc/biopet/pipelines/toucan/Toucan.scala
index 315b61cef..f7fe32091 100644
--- a/public/toucan/src/main/scala/nl/lumc/sasc/biopet/pipelines/toucan/Toucan.scala
+++ b/public/toucan/src/main/scala/nl/lumc/sasc/biopet/pipelines/toucan/Toucan.scala
@@ -19,7 +19,7 @@ import nl.lumc.sasc.biopet.core.config.Configurable
 import nl.lumc.sasc.biopet.core.summary.SummaryQScript
 import nl.lumc.sasc.biopet.core.{ BiopetQScript, PipelineCommand, Reference }
 import nl.lumc.sasc.biopet.extensions.VariantEffectPredictor
-import nl.lumc.sasc.biopet.tools.VepNormalizer
+import nl.lumc.sasc.biopet.tools.{ VcfWithVcf, VepNormalizer }
 import nl.lumc.sasc.biopet.utils.ConfigUtils
 import org.broadinstitute.gatk.queue.QScript
 
@@ -53,8 +53,21 @@ class Toucan(val root: Configurable) extends QScript with BiopetQScript with Sum
 
     val normalizer = new VepNormalizer(this)
     normalizer.inputVCF = vep.output
-    normalizer.outputVCF = swapExt(vep.output, ".vcf", ".normalized.vcf.gz")
+    normalizer.outputVcf = swapExt(outputDir, vep.output, ".vcf", ".normalized.vcf.gz")
     add(normalizer)
+
+    val gonlVcfFile: Option[File] = config("gonl_vcf")
+    gonlVcfFile match {
+      case Some(gonlVcfFile) => {
+        val vcfWithVcf = new VcfWithVcf(this)
+        vcfWithVcf.input = normalizer.outputVcf
+        vcfWithVcf.secondaryVcf = gonlVcfFile
+        vcfWithVcf.output = swapExt(outputDir, normalizer.outputVcf, ".vcf.gz", ".gonl.vcf.gz")
+        vcfWithVcf.fields ::= ("AF", "AF_gonl", None)
+        add(vcfWithVcf)
+      }
+      case _ => normalizer.outputVcf
+    }
   }
 
   def summaryFile = new File(outputDir, "Toucan.summary.json")
-- 
GitLab