From 046d7d2b00b98d93cdb8639072593aa0adb2ab08 Mon Sep 17 00:00:00 2001
From: Peter van 't Hof <p.j.van_t_hof@lumc.nl>
Date: Sat, 1 Aug 2015 15:04:46 +0200
Subject: [PATCH] Adding exac annotation step

---
 .../sasc/biopet/pipelines/toucan/Toucan.scala | 23 +++++++++++++++++--
 1 file changed, 21 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 f7fe32091..8774bdc98 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
@@ -56,17 +56,36 @@ class Toucan(val root: Configurable) extends QScript with BiopetQScript with Sum
     normalizer.outputVcf = swapExt(outputDir, vep.output, ".vcf", ".normalized.vcf.gz")
     add(normalizer)
 
+    // Optional annotation steps, depend is some files existing in the config
     val gonlVcfFile: Option[File] = config("gonl_vcf")
+    val exacVcfFile: Option[File] = config("exac_vcf")
+
+    var outputFile = normalizer.outputVcf
+
     gonlVcfFile match {
       case Some(gonlVcfFile) => {
         val vcfWithVcf = new VcfWithVcf(this)
-        vcfWithVcf.input = normalizer.outputVcf
+        vcfWithVcf.input = outputFile
         vcfWithVcf.secondaryVcf = gonlVcfFile
         vcfWithVcf.output = swapExt(outputDir, normalizer.outputVcf, ".vcf.gz", ".gonl.vcf.gz")
         vcfWithVcf.fields ::= ("AF", "AF_gonl", None)
         add(vcfWithVcf)
+        outputFile = vcfWithVcf.output
+      }
+      case _ =>
+    }
+
+    exacVcfFile match {
+      case Some(exacVcfFile) => {
+        val vcfWithVcf = new VcfWithVcf(this)
+        vcfWithVcf.input = outputFile
+        vcfWithVcf.secondaryVcf = exacVcfFile
+        vcfWithVcf.output = swapExt(outputDir, outputFile, ".vcf.gz", ".exac.vcf.gz")
+        vcfWithVcf.fields ::= ("MAF", "MAF_exac", None)
+        add(vcfWithVcf)
+        outputFile = vcfWithVcf.output
       }
-      case _ => normalizer.outputVcf
+      case _ =>
     }
   }
 
-- 
GitLab