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,