Skip to content
Snippets Groups Projects
Commit b2a7573b authored by bow's avatar bow
Browse files

Make sample-level metrics optional, instead of library-level metrics (for RNA)

parent 9789e9e6
No related branches found
No related tags found
No related merge requests found
...@@ -640,9 +640,11 @@ class Gentrap(val root: Configurable) extends QScript with MultiSampleQScript wi ...@@ -640,9 +640,11 @@ class Gentrap(val root: Configurable) extends QScript with MultiSampleQScript wi
job job
} }
/** Picard CollectRnaSeqMetrics job */ /** Picard CollectRnaSeqMetrics job, only when library > 1 */
private lazy val collectRnaSeqMetricsJob: CollectRnaSeqMetrics = private lazy val collectRnaSeqMetricsJob: Option[CollectRnaSeqMetrics] = (libraries.size > 1)
makeCollectRnaSeqMetricsJob(alnFile, createFile(".rna_metrics"), Option(createFile(".coverage_bias.pdf"))) .option {
makeCollectRnaSeqMetricsJob(alnFileDirty, createFile(".rna_metrics"), Option(createFile(".coverage_bias.pdf")))
}
private def wipeJob: Option[WipeReads] = removeRibosomalReads private def wipeJob: Option[WipeReads] = removeRibosomalReads
.option { .option {
...@@ -694,9 +696,11 @@ class Gentrap(val root: Configurable) extends QScript with MultiSampleQScript wi ...@@ -694,9 +696,11 @@ class Gentrap(val root: Configurable) extends QScript with MultiSampleQScript wi
addPerLibJobs() addPerLibJobs()
// merge or symlink per-library alignments // merge or symlink per-library alignments
add(sampleAlnJob) add(sampleAlnJob)
// general RNA-seq metrics // general RNA-seq metrics, if there are > 1 library
add(collectRnaSeqMetricsJob) collectRnaSeqMetricsJob match {
addSummarizable(collectRnaSeqMetricsJob, "rna_metrics") case Some(j) => add(j); addSummarizable(j, "rna_metrics")
case None => ;
}
// add strand-specific jobs if defined // add strand-specific jobs if defined
alnPlusStrandJobs.foreach(_.addAllJobs()) alnPlusStrandJobs.foreach(_.addAllJobs())
alnMinusStrandJobs.foreach(_.addAllJobs()) alnMinusStrandJobs.foreach(_.addAllJobs())
...@@ -740,10 +744,8 @@ class Gentrap(val root: Configurable) extends QScript with MultiSampleQScript wi ...@@ -740,10 +744,8 @@ class Gentrap(val root: Configurable) extends QScript with MultiSampleQScript wi
def alnFile: File = mappingJob.outputFiles("finalBamFile") def alnFile: File = mappingJob.outputFiles("finalBamFile")
/** Library-level RNA-seq metrics job, only when we have more than 1 library in the sample */ /** Library-level RNA-seq metrics job, only when we have more than 1 library in the sample */
def collectRnaSeqMetricsJob: Option[CollectRnaSeqMetrics] = (Sample.this.libraries.size > 1) def collectRnaSeqMetricsJob: CollectRnaSeqMetrics =
.option { makeCollectRnaSeqMetricsJob(alnFile, createFile(".rna_metrics"), Option(createFile(".coverage_bias.pdf")))
makeCollectRnaSeqMetricsJob(alnFile, createFile(".rna_metrics"), Option(createFile(".coverage_bias.pdf")))
}
/** Per-library mapping job */ /** Per-library mapping job */
def mappingJob: Mapping = { def mappingJob: Mapping = {
...@@ -761,11 +763,9 @@ class Gentrap(val root: Configurable) extends QScript with MultiSampleQScript wi ...@@ -761,11 +763,9 @@ class Gentrap(val root: Configurable) extends QScript with MultiSampleQScript wi
def addJobs(): Unit = { def addJobs(): Unit = {
// create per-library alignment file // create per-library alignment file
addAll(mappingJob.functions) addAll(mappingJob.functions)
// create RNA metrics job, if defined // create RNA metrics job
collectRnaSeqMetricsJob match { add(collectRnaSeqMetricsJob)
case Some(j) => add(j); addSummarizable(j, "rna_metrics") addSummarizable(collectRnaSeqMetricsJob, "rna_metrics")
case None => ;
}
qscript.addSummaryQScript(mappingJob) qscript.addSummaryQScript(mappingJob)
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment