diff --git a/bammetrics/src/main/resources/nl/lumc/sasc/biopet/pipelines/bammetrics/mappingQuality.ssp b/bammetrics/src/main/resources/nl/lumc/sasc/biopet/pipelines/bammetrics/mappingQuality.ssp
index 68ae56428a73ddceab345b627d1a3dad9d8f0a2e..9e6f357aba2a68fdd6fcde25461adfdf5815d655 100644
--- a/bammetrics/src/main/resources/nl/lumc/sasc/biopet/pipelines/bammetrics/mappingQuality.ssp
+++ b/bammetrics/src/main/resources/nl/lumc/sasc/biopet/pipelines/bammetrics/mappingQuality.ssp
@@ -1,5 +1,6 @@
#import(nl.lumc.sasc.biopet.utils.summary.db.SummaryDb)
-#import(nl.lumc.sasc.biopet.utils.summary.db.Schema._)
+#import(nl.lumc.sasc.biopet.utils.summary.db.Schema.Sample)
+#import(nl.lumc.sasc.biopet.utils.summary.db.Schema.Library)
#import(nl.lumc.sasc.biopet.utils.summary.db.SummaryDb._)
#import(nl.lumc.sasc.biopet.utils.summary.db.SummaryDb.Implicts._)
#import(nl.lumc.sasc.biopet.core.report.ReportPage)
@@ -19,6 +20,7 @@
<%@ var allSamples: Seq[Sample] %>
<%@ var allLibraries: Seq[Library] %>
<%@ var mappingQualityPlotTables: Array[Map[String, Array[Any]]] %>
+<%@ var mappingQualityTableResults: Map[(Int, Int), Map[String, Option[Any]]] %>
#{
val samples = sampleId match {
case Some(id) => allSamples.filter(_.id == id).toList
@@ -87,8 +89,7 @@
#if (libs.head != libId)
#end
#if (!sampleLevel) ${libName} | #end
#{
- val statsPaths = fields.map(x => x -> List("mapping_quality", "general", x)).toMap
- val results = summary.getStatKeys(runId, "bammetrics", "bamstats", sample = sample.id, library = libId.map(LibraryId).getOrElse(NoLibrary), keyValues = statsPaths)
+ val results: Map[String, Option[Any]] = mappingQualityTableResults(sample.id, libId)
}#
#for (field <- fields)
${results(field)} |
diff --git a/bammetrics/src/main/scala/nl/lumc/sasc/biopet/pipelines/bammetrics/BammetricsReport.scala b/bammetrics/src/main/scala/nl/lumc/sasc/biopet/pipelines/bammetrics/BammetricsReport.scala
index 90ec0a3823d2609441d03c539ae73e822e25f733..e432e2da2cd2deb2fcb51ea807ba55f3e1472e13 100644
--- a/bammetrics/src/main/scala/nl/lumc/sasc/biopet/pipelines/bammetrics/BammetricsReport.scala
+++ b/bammetrics/src/main/scala/nl/lumc/sasc/biopet/pipelines/bammetrics/BammetricsReport.scala
@@ -569,10 +569,11 @@ object BammetricsReport extends ReportBuilder {
allLibraries: Seq[Library],
sampleId: Option[Int],
libId: Option[Int],
+ fields: List[String] = List("min", "max", "mean", "median", "modal"),
sampleLevel: Boolean = false,
showPlot: Boolean = false,
showIntro: Boolean = true,
- showTable: Boolean = true
+ showTable: Boolean = true)
: Map[String, Any] = {
val samples = sampleId match {
@@ -580,7 +581,11 @@ object BammetricsReport extends ReportBuilder {
case _ => allSamples.toList
}
val mapQualityPlotTables = mappingQualityPlotTables(summary,!sampleLevel,sampleId,libId)
+
+ val statsPaths = fields.map(x => x -> List("mapping_quality", "general", x)).toMap
+ val mappingQualityTableResults: Map[(Int, Int), Map[String, Option[Any]]]: = summary.getStatsForLibraries(runId, "bammetrics", "bamstats", sampleId, statsPaths)
Map("mappingQualityPlotTables" -> mapQualityPlotTables,
+ "mappingQualityTableResults" -> mappingQualityTableResults,
"showIntro" -> showIntro,
"showTable" -> showTable,
"showPlot" -> showPlot,