From 844ff0989189f3130af538b1d4d4b86ff5707c3e Mon Sep 17 00:00:00 2001
From: Peter van 't Hof <p.j.van_t_hof@lumc.nl>
Date: Mon, 27 Jul 2015 08:53:07 +0200
Subject: [PATCH] Added sv calling to shiva

---
 .../lumc/sasc/biopet/pipelines/basty/BastyTrait.scala  |  2 +-
 .../sasc/biopet/pipelines/shiva/ShivaSvCalling.scala   |  2 +-
 .../lumc/sasc/biopet/pipelines/shiva/ShivaTrait.scala  | 10 ++++++++--
 3 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/public/basty/src/main/scala/nl/lumc/sasc/biopet/pipelines/basty/BastyTrait.scala b/public/basty/src/main/scala/nl/lumc/sasc/biopet/pipelines/basty/BastyTrait.scala
index 8aea30f2c..d93186074 100644
--- a/public/basty/src/main/scala/nl/lumc/sasc/biopet/pipelines/basty/BastyTrait.scala
+++ b/public/basty/src/main/scala/nl/lumc/sasc/biopet/pipelines/basty/BastyTrait.scala
@@ -179,7 +179,7 @@ trait BastyTrait extends MultiSampleQScript {
                        snpsOnly: Boolean = false): FastaOutput = {
     val bastyGenerateFasta = new BastyGenerateFasta(this)
     bastyGenerateFasta.outputName = if (outputName != null) outputName else sampleName
-    bastyGenerateFasta.inputVcf = shiva.variantcalling.get.finalFile
+    bastyGenerateFasta.inputVcf = shiva.variantCalling.get.finalFile
     if (shiva.samples.contains(sampleName)) {
       bastyGenerateFasta.bamFile = shiva.samples(sampleName).preProcessBam.get
     }
diff --git a/public/shiva/src/main/scala/nl/lumc/sasc/biopet/pipelines/shiva/ShivaSvCalling.scala b/public/shiva/src/main/scala/nl/lumc/sasc/biopet/pipelines/shiva/ShivaSvCalling.scala
index 8bf0abaca..c23586638 100644
--- a/public/shiva/src/main/scala/nl/lumc/sasc/biopet/pipelines/shiva/ShivaSvCalling.scala
+++ b/public/shiva/src/main/scala/nl/lumc/sasc/biopet/pipelines/shiva/ShivaSvCalling.scala
@@ -44,7 +44,7 @@ class ShivaSvCalling(val root: Configurable) extends QScript with SummaryQScript
 
   protected var inputBams: Map[String, File] = Map()
 
-  protected def addBamFile(file: File, sampleId: Option[String] = None): Unit = {
+  def addBamFile(file: File, sampleId: Option[String] = None): Unit = {
     sampleId match {
       case Some(sample)        => inputBams += sample -> file
       case _ if !file.exists() => throw new IllegalArgumentException("Bam file does not exits: " + file)
diff --git a/public/shiva/src/main/scala/nl/lumc/sasc/biopet/pipelines/shiva/ShivaTrait.scala b/public/shiva/src/main/scala/nl/lumc/sasc/biopet/pipelines/shiva/ShivaTrait.scala
index d742df034..f0a51e582 100644
--- a/public/shiva/src/main/scala/nl/lumc/sasc/biopet/pipelines/shiva/ShivaTrait.scala
+++ b/public/shiva/src/main/scala/nl/lumc/sasc/biopet/pipelines/shiva/ShivaTrait.scala
@@ -270,13 +270,19 @@ trait ShivaTrait extends MultiSampleQScript with SummaryQScript with Reference {
     }
   }
 
-  lazy val variantcalling = if (config("multisample_variantcalling", default = true).asBoolean) {
+  lazy val variantCalling = if (config("multisample_variantcalling", default = true).asBoolean) {
     Some(makeVariantcalling(multisample = true))
   } else None
 
+  lazy val svCalling = if (config("sv_calling", default = false).asBoolean) {
+    val svCalling = new ShivaSvCalling(this)
+    samples.foreach(x => x._2.preProcessBam.foreach(bam => svCalling.addBamFile(bam, Some(x._1))))
+    Some(svCalling)
+  } else None
+
   /** This will add the mutisample variantcalling */
   def addMultiSampleJobs(): Unit = {
-    variantcalling.foreach(vc => {
+    variantCalling.foreach(vc => {
       vc.outputDir = new File(outputDir, "variantcalling")
       vc.inputBams = samples.flatMap(_._2.preProcessBam).toList
       vc.init()
-- 
GitLab