From dd71e82bb9b385bab8ff654b710f9341c3a36a0f Mon Sep 17 00:00:00 2001
From: Peter van 't Hof <p.j.van_t_hof@lumc.nl>
Date: Mon, 25 Jan 2016 13:41:10 +0100
Subject: [PATCH] Added tables and heatmaps to summary

---
 .../pipelines/gentrap/measures/CufflinksMeasurement.scala  | 4 ++--
 .../pipelines/gentrap/measures/FragmentsPerGene.scala      | 2 +-
 .../biopet/pipelines/gentrap/measures/Measurement.scala    | 7 ++++++-
 3 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/public/gentrap/src/main/scala/nl/lumc/sasc/biopet/pipelines/gentrap/measures/CufflinksMeasurement.scala b/public/gentrap/src/main/scala/nl/lumc/sasc/biopet/pipelines/gentrap/measures/CufflinksMeasurement.scala
index 229d78e65..95b9df1e4 100644
--- a/public/gentrap/src/main/scala/nl/lumc/sasc/biopet/pipelines/gentrap/measures/CufflinksMeasurement.scala
+++ b/public/gentrap/src/main/scala/nl/lumc/sasc/biopet/pipelines/gentrap/measures/CufflinksMeasurement.scala
@@ -22,8 +22,8 @@ trait CufflinksMeasurement extends QScript with Measurement {
       id -> cufflinks
     }
 
-    addMergeTableJob(jobs.values.map(_.outputGenesFpkm).toList, mergeGenesFpkmTable)
-    addMergeTableJob(jobs.values.map(_.outputIsoformsFpkm).toList, mergeIsoFormFpkmTable)
+    addMergeTableJob(jobs.values.map(_.outputGenesFpkm).toList, mergeGenesFpkmTable, "genes_fpkm")
+    addMergeTableJob(jobs.values.map(_.outputIsoformsFpkm).toList, mergeIsoFormFpkmTable, "iso_form")
 
     addHeatmapJob(mergeGenesFpkmTable, genesFpkmHeatmap, "genes_fpkm")
     addHeatmapJob(mergeIsoFormFpkmTable, isoFormFpkmHeatmap, "iso_form_fpkm")
diff --git a/public/gentrap/src/main/scala/nl/lumc/sasc/biopet/pipelines/gentrap/measures/FragmentsPerGene.scala b/public/gentrap/src/main/scala/nl/lumc/sasc/biopet/pipelines/gentrap/measures/FragmentsPerGene.scala
index 440dc1246..34664e374 100644
--- a/public/gentrap/src/main/scala/nl/lumc/sasc/biopet/pipelines/gentrap/measures/FragmentsPerGene.scala
+++ b/public/gentrap/src/main/scala/nl/lumc/sasc/biopet/pipelines/gentrap/measures/FragmentsPerGene.scala
@@ -28,7 +28,7 @@ class FragmentsPerGene(val root: Configurable) extends QScript with Measurement
     id -> job
     }
 
-    addMergeTableJob(jobs.values.map(_.output).toList, mergedTable)
+    addMergeTableJob(jobs.values.map(_.output).toList, mergedTable, "fragments_per_gene")
     addHeatmapJob(mergedTable, heatmap, "fragments_per_gene")
   }
 
diff --git a/public/gentrap/src/main/scala/nl/lumc/sasc/biopet/pipelines/gentrap/measures/Measurement.scala b/public/gentrap/src/main/scala/nl/lumc/sasc/biopet/pipelines/gentrap/measures/Measurement.scala
index f09cc09f6..8e6a5bbd6 100644
--- a/public/gentrap/src/main/scala/nl/lumc/sasc/biopet/pipelines/gentrap/measures/Measurement.scala
+++ b/public/gentrap/src/main/scala/nl/lumc/sasc/biopet/pipelines/gentrap/measures/Measurement.scala
@@ -36,11 +36,15 @@ trait Measurement extends SummaryQScript with Reference { qscript: QScript =>
     require(bamFiles.nonEmpty)
   }
 
+  private var extraSummaryFiles: Map[String, File] = Map()
+
   def addMergeTableJob(countFiles: List[File],
                        outputFile: File,
+                       name: String,
                        args: MergeArgs = mergeArgs): Unit = {
     add(MergeTables(this, countFiles, outputFile,
       args.idCols, args.valCol, args.numHeaderLines, args.fallback))
+    extraSummaryFiles += s"${name}_table" -> outputFile
   }
 
   def addHeatmapJob(countTable: File, outputFile: File, name: String): Unit = {
@@ -49,13 +53,14 @@ trait Measurement extends SummaryQScript with Reference { qscript: QScript =>
     job.output = outputFile
     job.countType = Some(name)
     add(job)
+    extraSummaryFiles += s"${name}_heatmap" -> outputFile
   }
 
   /** Must return a map with used settings for this pipeline */
   def summarySettings: Map[String, Any] = Map()
 
   /** File to put in the summary for thie pipeline */
-  def summaryFiles: Map[String, File] = Map() ++ bamFiles.map { case (id, file) => s"input_bam_$id" -> file }
+  def summaryFiles: Map[String, File] = extraSummaryFiles ++ bamFiles.map { case (id, file) => s"input_bam_$id" -> file }
 
   /** Name of summary output file */
   def summaryFile: File = new File(outputDir, s"$name.summary.json")
-- 
GitLab