From ad4b957a68f4a81efbd650aefa11b3fed8838e5a Mon Sep 17 00:00:00 2001
From: Peter van 't Hof <p.j.van_t_hof@lumc.nl>
Date: Tue, 27 Oct 2015 14:01:33 +0100
Subject: [PATCH] Added more settings to the summary

---
 .../biopet/pipelines/basty/BastyTrait.scala   |  2 +-
 .../biopet/pipelines/shiva/ShivaTrait.scala   | 23 +++++++++++++++----
 2 files changed, 19 insertions(+), 6 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 d9085369f..7da7f9c3c 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
@@ -180,7 +180,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.multisampleVariantCalling.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/ShivaTrait.scala b/public/shiva/src/main/scala/nl/lumc/sasc/biopet/pipelines/shiva/ShivaTrait.scala
index a396bb2e1..8a0cdb439 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
@@ -84,6 +84,9 @@ trait ShivaTrait extends MultiSampleQScript with Reference {
     /** Method to make a library */
     def makeLibrary(id: String) = new Library(id)
 
+    /** Sample specific settings */
+    override def summarySettings = Map("single_sample_variantcalling" -> variantcalling.isDefined)
+
     /** Class to generate jobs for a library */
     class Library(libId: String) extends AbstractLibrary(libId) {
       /** Library specific files to add to the summary */
@@ -101,6 +104,9 @@ trait ShivaTrait extends MultiSampleQScript with Reference {
       /** Method to execute library preprocess */
       def preProcess(input: File): Option[File] = None
 
+      /** Library specific settings */
+      override def summarySettings = Map("library_variantcalling" -> variantcalling.isDefined)
+
       /** Method to make the mapping submodule */
       def makeMapping = {
         val mapping = new Mapping(qscript)
@@ -280,7 +286,7 @@ trait ShivaTrait extends MultiSampleQScript with Reference {
     }
   }
 
-  lazy val variantCalling = if (config("multisample_variantcalling", default = true).asBoolean) {
+  lazy val multisampleVariantCalling = if (config("multisample_variantcalling", default = true).asBoolean) {
     Some(makeVariantcalling(multisample = true))
   } else None
 
@@ -288,9 +294,14 @@ trait ShivaTrait extends MultiSampleQScript with Reference {
     Some(new ShivaSvCalling(this))
   } else None
 
+  lazy val annotation = if (multisampleVariantCalling.isDefined &&
+    config("annotation", default = false).asBoolean) {
+    Some(new Toucan(this))
+  } else None
+
   /** This will add the mutisample variantcalling */
   def addMultiSampleJobs(): Unit = {
-    variantCalling.foreach(vc => {
+    multisampleVariantCalling.foreach(vc => {
       vc.outputDir = new File(outputDir, "variantcalling")
       vc.inputBams = samples.flatMap(_._2.preProcessBam).toList
       vc.init()
@@ -298,8 +309,7 @@ trait ShivaTrait extends MultiSampleQScript with Reference {
       addAll(vc.functions)
       addSummaryQScript(vc)
 
-      if (config("annotation", default = false).asBoolean) {
-        val toucan = new Toucan(this)
+      annotation.foreach { toucan =>
         toucan.outputDir = new File(outputDir, "annotation")
         toucan.inputVCF = vc.finalFile
         toucan.init()
@@ -330,7 +340,10 @@ trait ShivaTrait extends MultiSampleQScript with Reference {
     Map(
       "reference" -> referenceSummary,
       "regions_of_interest" -> roiBedFiles.map(_.getName.stripSuffix(".bed")),
-      "amplicon_bed" -> ampliconBedFile.map(_.getName.stripSuffix(".bed"))
+      "amplicon_bed" -> ampliconBedFile.map(_.getName.stripSuffix(".bed")),
+      "annotation" -> annotation.isDefined,
+      "multisample_variantcalling" -> multisampleVariantCalling.isDefined,
+      "sv_calling" -> svCalling.isDefined
     )
   }
 
-- 
GitLab