GearsReport.scala 1.71 KB
Newer Older
Wai Yi Leung's avatar
Wai Yi Leung committed
1 2 3 4 5 6 7 8
package nl.lumc.sasc.biopet.pipelines.gears

import java.io.{ PrintWriter, File }

import nl.lumc.sasc.biopet.core.report.MultisampleReportBuilder
import nl.lumc.sasc.biopet.core.report.ReportBuilderExtension
import nl.lumc.sasc.biopet.core.report.ReportPage
import nl.lumc.sasc.biopet.core.report.ReportSection
Wai Yi Leung's avatar
Wai Yi Leung committed
9
import nl.lumc.sasc.biopet.utils.config.Configurable
Wai Yi Leung's avatar
Wai Yi Leung committed
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27

class GearsReport(val root: Configurable) extends ReportBuilderExtension {
  val builder = GearsReport

  override val defaultCoreMemory = 3.0
}

object GearsReport extends MultisampleReportBuilder {

  // FIXME: Not yet finished
  // TODO: Summary all: Add summary (sunflare plot)
  // TODO: Sample specific: Add summary (sunflare plot)
  // TODO: Add dusbin analysis (aggregated)
  // TODO: Add alignment stats per sample for the dustbin analysis

  def indexPage = {
    ReportPage(
      List("Samples" -> generateSamplesPage(pageArgs)) ++
Wai Yi Leung's avatar
Wai Yi Leung committed
28
        Map(
Wai Yi Leung's avatar
Wai Yi Leung committed
29 30 31 32 33
          "Versions" -> ReportPage(List(), List((
            "Executables" -> ReportSection("/nl/lumc/sasc/biopet/core/report/executables.ssp"
            ))), Map())
        ),
      List(
Wai Yi Leung's avatar
Wai Yi Leung committed
34 35
        "Gears intro" -> ReportSection("/nl/lumc/sasc/biopet/pipelines/gears/gearsFront.ssp"),
        "Sunburst analysis" -> ReportSection("/nl/lumc/sasc/biopet/pipelines/gears/gearsSunburst.ssp")
Wai Yi Leung's avatar
Wai Yi Leung committed
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
      ),
      pageArgs
    )
  }

  def samplePage(sampleId: String, args: Map[String, Any]) = {
    ReportPage(List(
    ), List(
      "Sunburst analysis" -> ReportSection("/nl/lumc/sasc/biopet/pipelines/gears/gearsSunburst.ssp")
    ), args)
  }

  def libraryPage(sampleId: String, libId: String, args: Map[String, Any]) = {
    ReportPage(List(
    ), List(
    ), args)
  }

  def reportName = "Gears :: Metagenomics Report"

}