From 9184d04716f5d964a7ebda36f60777d29d130940 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:51:56 +0100 Subject: [PATCH] Added tables and heatmaps to basecounter --- .../gentrap/measures/BaseCounts.scala | 42 +++++++++++++++++-- 1 file changed, 39 insertions(+), 3 deletions(-) diff --git a/public/gentrap/src/main/scala/nl/lumc/sasc/biopet/pipelines/gentrap/measures/BaseCounts.scala b/public/gentrap/src/main/scala/nl/lumc/sasc/biopet/pipelines/gentrap/measures/BaseCounts.scala index 1f2bdaed6..0bc361e44 100644 --- a/public/gentrap/src/main/scala/nl/lumc/sasc/biopet/pipelines/gentrap/measures/BaseCounts.scala +++ b/public/gentrap/src/main/scala/nl/lumc/sasc/biopet/pipelines/gentrap/measures/BaseCounts.scala @@ -2,6 +2,7 @@ package nl.lumc.sasc.biopet.pipelines.gentrap.measures import nl.lumc.sasc.biopet.core.annotations.AnnotationRefFlat import nl.lumc.sasc.biopet.extensions.tools.BaseCounter +import nl.lumc.sasc.biopet.pipelines.gentrap.Gentrap import nl.lumc.sasc.biopet.utils.config.Configurable import org.broadinstitute.gatk.queue.QScript @@ -10,7 +11,7 @@ import org.broadinstitute.gatk.queue.QScript */ class BaseCounts(val root: Configurable) extends QScript with Measurement with AnnotationRefFlat { - def mergeArgs = MergeArgs(List(1), 2, numHeaderLines = 1, fallback = "0") + def mergeArgs = MergeArgs(List(1), 2, numHeaderLines = 0, fallback = "0") /** Pipeline itself */ def biopetScript(): Unit = { @@ -24,7 +25,42 @@ class BaseCounts(val root: Configurable) extends QScript with Measurement with A id -> baseCounter } - //TODO: merges - //TODO: heatmaps + def addTableAndHeatmap(countFiles: List[File], outputName: String): Unit = { + val mergedTable = new File(outputDir, s"$name.$outputName.tsv") + val heatmapFile = new File(outputDir, s"$name.$outputName.png") + addMergeTableJob(countFiles, mergedTable, outputName) + addHeatmapJob(mergedTable, heatmapFile, outputName) + } + + addTableAndHeatmap(jobs.values.map(_.transcriptTotalCounts).toList, "transcriptTotalCounts") + addTableAndHeatmap(jobs.values.map(_.transcriptTotalSenseCounts).toList, "transcriptTotalSenseCounts") + addTableAndHeatmap(jobs.values.map(_.transcriptTotalAntiSenseCounts).toList, "transcriptTotalAntiSenseCounts") + addTableAndHeatmap(jobs.values.map(_.transcriptExonicCounts).toList, "transcriptExonicCounts") + addTableAndHeatmap(jobs.values.map(_.transcriptExonicSenseCounts).toList, "transcriptExonicSenseCounts") + addTableAndHeatmap(jobs.values.map(_.transcriptExonicAntiSenseCounts).toList, "transcriptExonicAntiSenseCounts") + addTableAndHeatmap(jobs.values.map(_.transcriptIntronicCounts).toList, "transcriptIntronicCounts") + addTableAndHeatmap(jobs.values.map(_.transcriptIntronicSenseCounts).toList, "transcriptIntronicSenseCounts") + addTableAndHeatmap(jobs.values.map(_.transcriptIntronicAntiSenseCounts).toList, "transcriptIntronicAntiSenseCounts") + addTableAndHeatmap(jobs.values.map(_.exonCounts).toList, "exonCounts") + addTableAndHeatmap(jobs.values.map(_.exonSenseCounts).toList, "exonSenseCounts") + addTableAndHeatmap(jobs.values.map(_.exonAntiSenseCounts).toList, "exonAntiSenseCounts") + addTableAndHeatmap(jobs.values.map(_.intronCounts).toList, "intronCounts") + addTableAndHeatmap(jobs.values.map(_.intronSenseCounts).toList, "intronSenseCounts") + addTableAndHeatmap(jobs.values.map(_.intronAntiSenseCounts).toList, "intronAntiSenseCounts") + addTableAndHeatmap(jobs.values.map(_.geneTotalCounts).toList, "geneTotalCounts") + addTableAndHeatmap(jobs.values.map(_.geneTotalSenseCounts).toList, "geneTotalSenseCounts") + addTableAndHeatmap(jobs.values.map(_.geneTotalAntiSenseCounts).toList, "geneTotalAntiSenseCounts") + addTableAndHeatmap(jobs.values.map(_.geneExonicCounts).toList, "geneExonicCounts") + addTableAndHeatmap(jobs.values.map(_.geneExonicSenseCounts).toList, "geneExonicSenseCounts") + addTableAndHeatmap(jobs.values.map(_.geneExonicAntiSenseCounts).toList, "geneExonicAntiSenseCounts") + addTableAndHeatmap(jobs.values.map(_.geneIntronicCounts).toList, "geneIntronicCounts") + addTableAndHeatmap(jobs.values.map(_.geneIntronicSenseCounts).toList, "geneIntronicSenseCounts") + addTableAndHeatmap(jobs.values.map(_.geneIntronicAntiSenseCounts).toList, "geneIntronicAntiSenseCounts") + addTableAndHeatmap(jobs.values.map(_.mergeExonCounts).toList, "mergeExonCounts") + addTableAndHeatmap(jobs.values.map(_.mergeExonSenseCounts).toList, "mergeExonSenseCounts") + addTableAndHeatmap(jobs.values.map(_.mergeExonAntiSenseCounts).toList, "mergeExonAntiSenseCounts") + addTableAndHeatmap(jobs.values.map(_.mergeIntronCounts).toList, "mergeIntronCounts") + addTableAndHeatmap(jobs.values.map(_.mergeIntronSenseCounts).toList, "mergeIntronSenseCounts") + addTableAndHeatmap(jobs.values.map(_.mergeIntronAntiSenseCounts).toList, "mergeIntronAntiSenseCounts") } } -- GitLab