Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
B
biopet.biopet
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Jobs
Commits
Open sidebar
Mirrors
biopet.biopet
Commits
763f8f4d
Commit
763f8f4d
authored
Jul 26, 2017
by
Vorderman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Gearsreport completely defutured
parent
97661f8f
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
223 additions
and
165 deletions
+223
-165
flexiprep/src/main/scala/nl/lumc/sasc/biopet/pipelines/flexiprep/FlexiprepReport.scala
...umc/sasc/biopet/pipelines/flexiprep/FlexiprepReport.scala
+78
-55
gears/src/main/scala/nl/lumc/sasc/biopet/pipelines/gears/GearsReport.scala
...ala/nl/lumc/sasc/biopet/pipelines/gears/GearsReport.scala
+145
-110
No files found.
flexiprep/src/main/scala/nl/lumc/sasc/biopet/pipelines/flexiprep/FlexiprepReport.scala
View file @
763f8f4d
...
@@ -16,20 +16,22 @@ package nl.lumc.sasc.biopet.pipelines.flexiprep
...
@@ -16,20 +16,22 @@ package nl.lumc.sasc.biopet.pipelines.flexiprep
import
java.io.
{
File
,
PrintWriter
}
import
java.io.
{
File
,
PrintWriter
}
import
nl.lumc.sasc.biopet.core.report.
{
ReportBuilder
,
ReportBuilderExtension
,
ReportPage
,
ReportSection
}
import
nl.lumc.sasc.biopet.utils.config.Configurable
import
nl.lumc.sasc.biopet.utils.config.Configurable
import
nl.lumc.sasc.biopet.core.report.
{
ReportBuilder
,
ReportBuilderExtension
,
ReportPage
,
ReportSection
}
import
nl.lumc.sasc.biopet.pipelines.flexiprep.FlexiprepReport.runId
import
nl.lumc.sasc.biopet.utils.rscript.StackedBarPlot
import
nl.lumc.sasc.biopet.utils.rscript.StackedBarPlot
import
nl.lumc.sasc.biopet.utils.summary.db.Schema.
{
Library
,
Sample
}
import
nl.lumc.sasc.biopet.utils.summary.db.SummaryDb
import
nl.lumc.sasc.biopet.utils.summary.db.SummaryDb
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.Implicts._
import
nl.lumc.sasc.biopet.utils.summary.db.SummaryDb.Implicts._
import
nl.lumc.sasc.biopet.utils.summary.db.SummaryDb._
import
nl.lumc.sasc.biopet.utils.summary.db.SummaryDb._
import
scala.collection.mutable
import
scala.collection.mutable.ArrayBuffer
import
scala.collection.mutable.
{
ArrayBuffer
,
ListBuffer
}
import
scala.concurrent.
{
Await
,
Future
}
import
scala.concurrent.duration.Duration
import
scala.concurrent.duration.Duration
import
scala.concurrent.
{
Await
,
Future
}
class
FlexiprepReport
(
val
parent
:
Configurable
)
extends
ReportBuilderExtension
{
class
FlexiprepReport
(
val
parent
:
Configurable
)
extends
ReportBuilderExtension
{
def
builder
=
FlexiprepReport
def
builder
=
FlexiprepReport
...
@@ -84,30 +86,31 @@ object FlexiprepReport extends ReportBuilder {
...
@@ -84,30 +86,31 @@ object FlexiprepReport extends ReportBuilder {
name
->
ReportSection
(
"/nl/lumc/sasc/biopet/pipelines/flexiprep/flexiprepFastQcPlot.ssp"
,
name
->
ReportSection
(
"/nl/lumc/sasc/biopet/pipelines/flexiprep/flexiprepFastQcPlot.ssp"
,
Map
(
"plot"
->
tag
))
Map
(
"plot"
->
tag
))
}
}
/**
* Generates the lines for readSummaryPlot
/**
* @param read Must give "R1" or "R2"
* Generates the lines for readSummaryPlot
* @param summary Summary class
* @param read Must give "R1" or "R2"
* @param sampleId Default selects all samples, when given plot is limits on given sample
* @param summary Summary class
*/
* @param sampleId Default selects all samples, when given plot is limits on given sample
def
readSummaryPlotLines
(
read
:
String
,
*/
summary
:
SummaryDb
,
def
readSummaryPlotLines
(
read
:
String
,
sampleId
:
Option
[
Int
]
=
None
)
:
Seq
[
String
]
=
{
summary
:
SummaryDb
,
sampleId
:
Option
[
Int
]
=
None
)
:
Seq
[
String
]
=
{
val
seqstatPaths
=
Map
(
"num_total"
->
List
(
"reads"
,
"num_total"
))
val
seqstatPaths
=
Map
(
"num_total"
->
List
(
"reads"
,
"num_total"
))
val
seqstatStats
=
val
seqstatStats
=
summary
.
getStatsForLibraries
(
runId
,
"flexiprep"
,
"seqstat_"
+
read
,
keyValues
=
seqstatPaths
)
summary
.
getStatsForLibraries
(
runId
,
"flexiprep"
,
"seqstat_"
+
read
,
keyValues
=
seqstatPaths
)
val
seqstatQcStats
=
summary
.
getStatsForLibraries
(
runId
,
val
seqstatQcStats
=
summary
.
getStatsForLibraries
(
runId
,
"flexiprep"
,
"flexiprep"
,
"seqstat_"
+
read
+
"_qc"
,
"seqstat_"
+
read
+
"_qc"
,
keyValues
=
seqstatPaths
)
keyValues
=
seqstatPaths
)
val
clippingPaths
=
Map
(
val
clippingPaths
=
Map
(
"num_reads_discarded_too_short"
->
List
(
"num_reads_discarded_too_short"
),
"num_reads_discarded_too_short"
->
List
(
"num_reads_discarded_too_short"
),
"num_reads_discarded_too_long"
->
List
(
"num_reads_discarded_too_long"
))
"num_reads_discarded_too_long"
->
List
(
"num_reads_discarded_too_long"
))
val
clippingStats
=
summary
.
getStatsForLibraries
(
runId
,
val
clippingStats
=
summary
.
getStatsForLibraries
(
runId
,
"flexiprep"
,
"flexiprep"
,
"clipping_"
+
read
,
"clipping_"
+
read
,
keyValues
=
clippingPaths
)
keyValues
=
clippingPaths
)
val
trimmingPaths
=
Map
(
"num_reads_discarded"
->
List
(
"num_reads_discarded_"
+
read
))
val
trimmingPaths
=
Map
(
"num_reads_discarded"
->
List
(
"num_reads_discarded_"
+
read
))
val
trimmingStats
=
val
trimmingStats
=
...
@@ -155,8 +158,7 @@ def readSummaryPlotLines(read: String,
...
@@ -155,8 +158,7 @@ def readSummaryPlotLines(read: String,
def
readSummaryPlot
(
outputDir
:
File
,
def
readSummaryPlot
(
outputDir
:
File
,
prefix
:
String
,
prefix
:
String
,
read
:
String
,
read
:
String
,
summaryPlotLines
:
Seq
[
String
])
summaryPlotLines
:
Seq
[
String
])
:
Unit
=
{
:
Unit
=
{
val
tsvFile
=
new
File
(
outputDir
,
prefix
+
".tsv"
)
val
tsvFile
=
new
File
(
outputDir
,
prefix
+
".tsv"
)
val
pngFile
=
new
File
(
outputDir
,
prefix
+
".png"
)
val
pngFile
=
new
File
(
outputDir
,
prefix
+
".png"
)
val
tsvWriter
=
new
PrintWriter
(
tsvFile
)
val
tsvWriter
=
new
PrintWriter
(
tsvFile
)
...
@@ -181,19 +183,17 @@ def readSummaryPlotLines(read: String,
...
@@ -181,19 +183,17 @@ def readSummaryPlotLines(read: String,
* @param summary Summary class
* @param summary Summary class
* @param sampleId Default selects all samples, when given plot is limits on given sample
* @param sampleId Default selects all samples, when given plot is limits on given sample
*/
*/
def
baseSummaryPlotLines
(
read
:
String
,
summary
:
SummaryDb
,
def
baseSummaryPlotLines
(
read
:
String
,
sampleId
:
Option
[
Int
]
=
None
)
:
Seq
[
String
]
=
{
summary
:
SummaryDb
,
sampleId
:
Option
[
Int
]
=
None
)
:
Seq
[
String
]
=
{
val
statsPaths
=
Map
(
"num_total"
->
List
(
"bases"
,
"num_total"
))
val
statsPaths
=
Map
(
"num_total"
->
List
(
"bases"
,
"num_total"
))
val
seqstatStats
=
val
seqstatStats
=
summary
.
getStatsForLibraries
(
runId
,
"flexiprep"
,
"seqstat_"
+
read
,
keyValues
=
statsPaths
)
summary
.
getStatsForLibraries
(
runId
,
"flexiprep"
,
"seqstat_"
+
read
,
keyValues
=
statsPaths
)
val
seqstatQcStats
=
summary
.
getStatsForLibraries
(
runId
,
val
seqstatQcStats
=
summary
.
getStatsForLibraries
(
runId
,
"flexiprep"
,
"flexiprep"
,
"seqstat_"
+
read
+
"_qc"
,
"seqstat_"
+
read
+
"_qc"
,
keyValues
=
statsPaths
)
keyValues
=
statsPaths
)
val
libraries
=
val
libraries
=
Await
.
result
(
summary
.
getLibraries
(
runId
=
runId
,
sampleId
=
sampleId
),
Duration
.
Inf
)
Await
.
result
(
summary
.
getLibraries
(
runId
=
runId
,
sampleId
=
sampleId
),
Duration
.
Inf
)
...
@@ -215,7 +215,7 @@ def readSummaryPlotLines(read: String,
...
@@ -215,7 +215,7 @@ def readSummaryPlotLines(read: String,
summaryPlotLines
+=
sb
.
toString
summaryPlotLines
+=
sb
.
toString
}
}
summaryPlotLines
summaryPlotLines
}
}
/**
/**
...
@@ -224,7 +224,7 @@ def readSummaryPlotLines(read: String,
...
@@ -224,7 +224,7 @@ def readSummaryPlotLines(read: String,
* @param prefix prefix for tsv and png file
* @param prefix prefix for tsv and png file
* @param read Must give "R1" or "R2"
* @param read Must give "R1" or "R2"
* @param summaryPlotLines A sequence of strings written to the summary tsv
* @param summaryPlotLines A sequence of strings written to the summary tsv
*/
*/
def
baseSummaryPlot
(
outputDir
:
File
,
def
baseSummaryPlot
(
outputDir
:
File
,
prefix
:
String
,
prefix
:
String
,
read
:
String
,
read
:
String
,
...
@@ -234,7 +234,7 @@ def readSummaryPlotLines(read: String,
...
@@ -234,7 +234,7 @@ def readSummaryPlotLines(read: String,
val
tsvWriter
=
new
PrintWriter
(
tsvFile
)
val
tsvWriter
=
new
PrintWriter
(
tsvFile
)
tsvWriter
.
println
(
"Library\tAfter_QC\tDiscarded"
)
tsvWriter
.
println
(
"Library\tAfter_QC\tDiscarded"
)
for
(
line
<-
summaryPlotLines
){
for
(
line
<-
summaryPlotLines
)
{
tsvWriter
.
println
(
line
)
tsvWriter
.
println
(
line
)
}
}
...
@@ -288,8 +288,11 @@ object FlexiprepReadSummary {
...
@@ -288,8 +288,11 @@ object FlexiprepReadSummary {
val
clipCount
=
settings
.
count
(
_
.
_2
.
getOrElse
(
"skip_clip"
,
None
).
contains
(
false
))
val
clipCount
=
settings
.
count
(
_
.
_2
.
getOrElse
(
"skip_clip"
,
None
).
contains
(
false
))
val
librariesCount
=
libraries
.
size
val
librariesCount
=
libraries
.
size
val
summaryPlotLinesR1
=
if
(
showPlot
)
FlexiprepReport
.
readSummaryPlotLines
(
"R1"
,
summary
,
sampleId
=
sampleId
)
val
summaryPlotLinesR1
=
val
summaryPlotlinesR2
=
if
(
showPlot
&&
paired
)
FlexiprepReport
.
readSummaryPlotLines
(
"R2"
,
summary
,
sampleId
=
sampleId
)
if
(
showPlot
)
FlexiprepReport
.
readSummaryPlotLines
(
"R1"
,
summary
,
sampleId
=
sampleId
)
val
summaryPlotlinesR2
=
if
(
showPlot
&&
paired
)
FlexiprepReport
.
readSummaryPlotLines
(
"R2"
,
summary
,
sampleId
=
sampleId
)
val
seqstatPaths
=
Map
(
"num_total"
->
List
(
"reads"
,
"num_total"
))
val
seqstatPaths
=
Map
(
"num_total"
->
List
(
"reads"
,
"num_total"
))
val
clippingPaths
=
Map
(
val
clippingPaths
=
Map
(
...
@@ -306,7 +309,6 @@ object FlexiprepReadSummary {
...
@@ -306,7 +309,6 @@ object FlexiprepReadSummary {
summary
.
getStatsForLibraries
(
runId
,
"flexiprep"
,
"seqstat_R1"
,
sampleId
,
trimmingPaths
)
summary
.
getStatsForLibraries
(
runId
,
"flexiprep"
,
"seqstat_R1"
,
sampleId
,
trimmingPaths
)
Map
(
Map
(
"summary"
->
summary
,
"runId"
->
runId
,
"runId"
->
runId
,
"sampleId"
->
sampleId
,
"sampleId"
->
sampleId
,
"libId"
->
libId
,
"libId"
->
libId
,
...
@@ -337,24 +339,38 @@ object FlexiprepBaseSummary {
...
@@ -337,24 +339,38 @@ object FlexiprepBaseSummary {
showPlot
:
Boolean
=
false
,
showPlot
:
Boolean
=
false
,
showTable
:
Boolean
=
true
,
showTable
:
Boolean
=
true
,
showIntro
:
Boolean
=
true
,
showIntro
:
Boolean
=
true
,
multisample
:
Boolean
=
true
)
:
Map
[
String
,
Any
]
=
{
multisample
:
Boolean
=
true
)
:
Map
[
String
,
Any
]
=
{
val
samples
=
sampleId
.
map
(
id
=>
allSamples
.
filter
(
_
.
id
==
id
)).
getOrElse
(
allSamples
)
val
samples
=
sampleId
.
map
(
id
=>
allSamples
.
filter
(
_
.
id
==
id
)).
getOrElse
(
allSamples
)
val
libraries
=
libId
.
map
(
id
=>
allLibraries
.
filter
(
_
.
id
==
id
)).
getOrElse
(
allLibraries
)
val
libraries
=
libId
.
map
(
id
=>
allLibraries
.
filter
(
_
.
id
==
id
)).
getOrElse
(
allLibraries
)
val
librariesCount
=
libraries
.
size
val
librariesCount
=
libraries
.
size
val
settings
=
summary
.
getSettingsForLibraries
(
runId
,
"flexiprep"
,
keyValues
=
Map
(
val
settings
=
summary
.
getSettingsForLibraries
(
runId
,
"skip_trim"
->
List
(
"skip_trim"
),
"skip_clip"
->
List
(
"skip_clip"
),
"paired"
->
List
(
"paired"
)))
"flexiprep"
,
keyValues
=
Map
(
"skip_trim"
->
List
(
"skip_trim"
),
"skip_clip"
->
List
(
"skip_clip"
),
"paired"
->
List
(
"paired"
)))
settings
.
count
(
_
.
_2
.
getOrElse
(
"skip_trim"
,
None
)
==
Some
(
true
))
settings
.
count
(
_
.
_2
.
getOrElse
(
"skip_trim"
,
None
)
==
Some
(
true
))
val
trimCount
=
settings
.
count
(
_
.
_2
.
getOrElse
(
"skip_trim"
,
None
)
==
Some
(
false
))
val
trimCount
=
settings
.
count
(
_
.
_2
.
getOrElse
(
"skip_trim"
,
None
)
==
Some
(
false
))
val
clipCount
=
settings
.
count
(
_
.
_2
.
getOrElse
(
"skip_clip"
,
None
)
==
Some
(
false
))
val
clipCount
=
settings
.
count
(
_
.
_2
.
getOrElse
(
"skip_clip"
,
None
)
==
Some
(
false
))
val
paired
:
Boolean
=
if
(
sampleId
.
isDefined
&&
libId
.
isDefined
)
val
paired
:
Boolean
=
summary
.
getSettingKeys
(
runId
,
"flexiprep"
,
NoModule
,
SampleId
(
sampleId
.
get
),
LibraryId
(
libId
.
get
),
keyValues
=
Map
(
"paired"
->
List
(
"paired"
))).
getOrElse
(
"paired"
,
None
)
==
Some
(
true
)
if
(
sampleId
.
isDefined
&&
libId
.
isDefined
)
else
settings
.
count
(
_
.
_2
.
getOrElse
(
"paired"
,
None
)
==
Some
(
true
))
>=
1
summary
.
getSettingKeys
(
runId
,
"flexiprep"
,
NoModule
,
SampleId
(
sampleId
.
get
),
LibraryId
(
libId
.
get
),
keyValues
=
Map
(
"paired"
->
List
(
"paired"
)))
.
getOrElse
(
"paired"
,
None
)
==
Some
(
true
)
else
settings
.
count
(
_
.
_2
.
getOrElse
(
"paired"
,
None
)
==
Some
(
true
))
>=
1
val
summaryPlotLinesR1
=
if
(
showPlot
)
FlexiprepReport
.
readSummaryPlotLines
(
"R1"
,
summary
,
sampleId
=
sampleId
)
val
summaryPlotLinesR1
=
val
summaryPlotlinesR2
=
if
(
showPlot
&&
paired
)
FlexiprepReport
.
readSummaryPlotLines
(
"R2"
,
summary
,
sampleId
=
sampleId
)
if
(
showPlot
)
FlexiprepReport
.
readSummaryPlotLines
(
"R1"
,
summary
,
sampleId
=
sampleId
)
val
summaryPlotlinesR2
=
if
(
showPlot
&&
paired
)
FlexiprepReport
.
readSummaryPlotLines
(
"R2"
,
summary
,
sampleId
=
sampleId
)
val
statsPaths
=
Map
(
"num_total"
->
List
(
"bases"
,
"num_total"
))
val
statsPaths
=
Map
(
"num_total"
->
List
(
"bases"
,
"num_total"
))
...
@@ -363,14 +379,21 @@ object FlexiprepBaseSummary {
...
@@ -363,14 +379,21 @@ object FlexiprepBaseSummary {
val
seqstatQCStats
=
val
seqstatQCStats
=
summary
.
getStatsForLibraries
(
runId
,
"flexiprep"
,
"seqstat_R1_QC"
,
sampleId
,
statsPaths
)
summary
.
getStatsForLibraries
(
runId
,
"flexiprep"
,
"seqstat_R1_QC"
,
sampleId
,
statsPaths
)
Map
(
Map
(
"trimCount"
->
trimCount
,
"runId"
->
runId
,
"librariesCount"
->
librariesCount
,
"sampleId"
->
sampleId
,
"clipCount"
->
clipCount
,
"libId"
->
libId
,
"paired"
->
paired
,
"showPlot"
->
showPlot
,
"summaryPlotLinesR1"
->
summaryPlotLinesR1
,
"settings"
->
settings
,
"summaryPlotLinesR2"
->
summaryPlotlinesR2
"samples"
->
samples
,
"libraries"
->
libraries
,
"trimCount"
->
trimCount
,
"clipCount"
->
clipCount
,
"librariesCount"
->
librariesCount
,
"seqstatStats"
->
seqstatStats
,
"seqstatQCStats"
->
seqstatQCStats
,
"summaryPlotLinesR1"
->
summaryPlotLinesR1
,
"summaryPlotLinesR2"
->
summaryPlotlinesR2
)
)
}
}
}
}
\ No newline at end of file
gears/src/main/scala/nl/lumc/sasc/biopet/pipelines/gears/GearsReport.scala
View file @
763f8f4d
...
@@ -16,8 +16,17 @@ package nl.lumc.sasc.biopet.pipelines.gears
...
@@ -16,8 +16,17 @@ package nl.lumc.sasc.biopet.pipelines.gears
import
java.io.File
import
java.io.File
import
nl.lumc.sasc.biopet.core.report.
{
MultisampleReportBuilder
,
ReportBuilderExtension
,
ReportPage
,
ReportSection
}
import
nl.lumc.sasc.biopet.core.report.
{
import
nl.lumc.sasc.biopet.pipelines.flexiprep.
{
FlexiprepReadSummary
,
FlexiprepReport
}
MultisampleReportBuilder
,
ReportBuilderExtension
,
ReportPage
,
ReportSection
}
import
nl.lumc.sasc.biopet.pipelines.flexiprep.
{
FlexiprepBaseSummary
,
FlexiprepReadSummary
,
FlexiprepReport
}
import
nl.lumc.sasc.biopet.pipelines.gears
import
nl.lumc.sasc.biopet.pipelines.gears
import
nl.lumc.sasc.biopet.utils.config.Configurable
import
nl.lumc.sasc.biopet.utils.config.Configurable
import
nl.lumc.sasc.biopet.utils.summary.db.SummaryDb
import
nl.lumc.sasc.biopet.utils.summary.db.SummaryDb
...
@@ -67,54 +76,57 @@ object GearsReport extends MultisampleReportBuilder {
...
@@ -67,54 +76,57 @@ object GearsReport extends MultisampleReportBuilder {
mustHaveSample
=
true
)
>=
samples
.
size
mustHaveSample
=
true
)
>=
samples
.
size
val
qiimeClosesOtuTable
=
summary
.
getFile
(
runId
,
"gears"
,
key
=
"qiime_closed_otu_table"
)
val
qiimeClosesOtuTable
=
summary
.
getFile
(
runId
,
"gears"
,
key
=
"qiime_closed_otu_table"
)
val
qiimeOpenOtuTable
=
summary
.
getFile
(
runId
,
"gears"
,
key
=
"qiime_open_otu_table"
)
val
qiimeOpenOtuTable
=
summary
.
getFile
(
runId
,
"gears"
,
key
=
"qiime_open_otu_table"
)
val
centrifugePageAllMappingsKronaPlot
=
GearsKronaPlot
.
values
(
summary
,
runId
,
"centrifuge_report"
,
"centrifuge_report"
,
samples
,
libraries
,
sampleId
,
libId
,
Some
(
"centrifuge"
))
val
centrifugePageUniqueMappingsKronaPlot
=
GearsKronaPlot
.
values
(
summary
,
runId
,
"centrifuge_unique_report"
,
"centrifuge_unique_report"
,
samples
,
libraries
,
sampleId
,
libId
)
val
centrifugePage
=
val
centrifugePage
=
if
(
centrifugeExecuted
)
if
(
centrifugeExecuted
)
Some
(
Some
(
"Centrifuge analysis"
->
Future
.
successful
(
ReportPage
(
"Centrifuge analysis"
->
Future
.
successful
(
ReportPage
(
List
(
"Non-unique"
->
List
(
Future
.
successful
(
ReportPage
(
"Non-unique"
->
List
(),
Future
.
successful
(
List
(
"All mappings"
->
ReportSection
(
ReportPage
(
"/nl/lumc/sasc/biopet/pipelines/gears/krakenKrona.ssp"
,
List
(),
GearsKronaPlot
.
values
(
summary
,
List
(
"All mappings"
->
ReportSection
(
runId
,
"/nl/lumc/sasc/biopet/pipelines/gears/krakenKrona.ssp"
,
"centrifuge_report"
,
centrifugePageAllMappingsKronaPlot
)),
"centrifuge_report"
,
Map
()
samples
,
))),
libraries
,
sampleId
,
libId
,
Some
(
"centrifuge"
))
)),
Map
()
))),
List
(
"Unique mappings"
->
ReportSection
(
List
(
"Unique mappings"
->
ReportSection
(
"/nl/lumc/sasc/biopet/pipelines/gears/krakenKrona.ssp"
,
"/nl/lumc/sasc/biopet/pipelines/gears/krakenKrona.ssp"
,
Map
(
"summaryStatsTag"
->
"centrifuge_unique_report"
)
)),
centrifugePageUniqueMappingsKronaPlot
)),
Map
(
"summaryModuleTag"
->
"gearscentrifuge"
,
"centrifugeTag"
->
Some
(
"centrifuge"
))
Map
(
"summaryModuleTag"
->
"gearscentrifuge"
,
"centrifugeTag"
->
Some
(
"centrifuge"
))
)))
)))
else
None
else
None
val
krakenPageKronaPlot
=
GearsKronaPlot
.
values
(
summary
,
runId
,
"Krona"
,
"krakenkrona"
,
samples
,
libraries
,
sampleId
,
libId
)
val
krakenPage
=
val
krakenPage
=
if
(
krakenExecuted
)
if
(
krakenExecuted
)
Some
(
Some
(
"Kraken analysis"
->
Future
.
successful
(
ReportPage
(
"Kraken analysis"
->
Future
.
successful
(
List
(),
ReportPage
(
List
(
List
(),
"Krona plot"
->
Future
.
successful
(
List
(
"Krona plot"
->
Future
.
successful
(
ReportSection
(
"/nl/lumc/sasc/biopet/pipelines/gears/krakenKrona.ssp"
,
ReportSection
(
"/nl/lumc/sasc/biopet/pipelines/gears/krakenKrona.ssp"
,
GearsKronaPlot
krakenPageKronaPlot
))),
.
values
(
summary
,
Map
()
runId
,
)))
"Krona"
,
"krakenkrona"
,
samples
,
libraries
,
sampleId
,
libId
)))),
Map
()
)))
else
None
else
None
val
qiimeClosedPage
=
val
qiimeClosedPage
=
...
@@ -141,7 +153,10 @@ object GearsReport extends MultisampleReportBuilder {
...
@@ -141,7 +153,10 @@ object GearsReport extends MultisampleReportBuilder {
)))
)))
else
None
else
None
val
flexiprepReadSummary
=
FlexiprepReadSummary
.
values
(
summary
,
runId
,
samples
,
libraries
,
sampleId
,
libId
,
true
,
false
)
val
flexiprepReadSummary
=
FlexiprepReadSummary
.
values
(
summary
,
runId
,
samples
,
libraries
,
sampleId
,
libId
,
true
,
false
)
val
flexiprepBaseSummary
=
FlexiprepBaseSummary
.
values
(
summary
,
runId
,
samples
,
libraries
,
sampleId
,
libId
,
true
,
false
)
Future
{
Future
{
ReportPage
(
ReportPage
(
List
(
centrifugePage
,
krakenPage
,
qiimeClosedPage
,
qiimeOpenPage
).
flatten
:::
List
(
List
(
centrifugePage
,
krakenPage
,
qiimeClosedPage
,
qiimeOpenPage
).
flatten
:::
List
(
...
@@ -154,7 +169,7 @@ object GearsReport extends MultisampleReportBuilder {
...
@@ -154,7 +169,7 @@ object GearsReport extends MultisampleReportBuilder {
flexiprepReadSummary
),
flexiprepReadSummary
),
"QC bases"
->
ReportSection
(
"QC bases"
->
ReportSection
(
"/nl/lumc/sasc/biopet/pipelines/flexiprep/flexiprepBaseSummary.ssp"
,
"/nl/lumc/sasc/biopet/pipelines/flexiprep/flexiprepBaseSummary.ssp"
,
Map
(
"showPlot"
->
true
,
"showTable"
->
false
)
)
flexiprepBaseSummary
)
),
),
pageArgs
pageArgs
)
)
...
@@ -186,51 +201,55 @@ object GearsReport extends MultisampleReportBuilder {
...
@@ -186,51 +201,55 @@ object GearsReport extends MultisampleReportBuilder {
val
qiimeOpenOtuTable
=
Await
.
result
(
val
qiimeOpenOtuTable
=
Await
.
result
(
summary
.
getFile
(
runId
,
"gearssingle"
,
NoModule
,
sampleId
,
NoLibrary
,
"qiime_open_otu_table"
),
summary
.
getFile
(
runId
,
"gearssingle"
,
NoModule
,
sampleId
,
NoLibrary
,
"qiime_open_otu_table"
),
Duration
.
Inf
)
Duration
.
Inf
)
val
centrifugePageAllMappingsKronaPlot
=
GearsKronaPlot
.
values
(
summary
,
runId
,
"centrifuge_report"
,
"centrifuge_report"
,
samples
,
libraries
,
sampleId
,
libId
,
Some
(
"centrifuge"
))
val
centrifugePageUniqueMappingsKronaPlot
=
GearsKronaPlot
.
values
(
summary
,
runId
,
"centrifuge_unique_report"
,
"centrifuge_unique_report"
,
samples
,
libraries
,
sampleId
,
libId
)
val
gearsCentrifugePage
=
if
(
centrifugeExecuted
)
{
val
gearsCentrifugePage
=
if
(
centrifugeExecuted
)
{
Some
(
Some
(
"Centrifuge analysis"
->
Future
.
successful
(
ReportPage
(
"Centrifuge analysis"
->
Future
.
successful
(
ReportPage
(
List
(
"Non-unique"
->
Future
.
successful
(
ReportPage
(
List
(
List
(),
"Non-unique"
->
Future
.
successful
(
List
(
"All mappings"
->
ReportSection
(
ReportPage
(
"/nl/lumc/sasc/biopet/pipelines/gears/krakenKrona.ssp"
,
List
(),
GearsKronaPlot
.
values
(
summary
,
List
(
"All mappings"
->
ReportSection
(
runId
,
"/nl/lumc/sasc/biopet/pipelines/gears/krakenKrona.ssp"
,
"centrifuge_report"
,
centrifugePageAllMappingsKronaPlot
"centrifuge_report"
,
)),
samples
,
Map
()
libraries
,
))),
sampleId
,
libId
,
Some
(
"centrifuge"
))
)),
Map
()
))),
List
(
"Unique mappings"
->
ReportSection
(
List
(
"Unique mappings"
->
ReportSection
(
"/nl/lumc/sasc/biopet/pipelines/gears/krakenKrona.ssp"
,
"/nl/lumc/sasc/biopet/pipelines/gears/krakenKrona.ssp"
,
Map
(
"summaryStatsTag"
->
"centrifuge_unique_report"
)
)),
centrifugePageUniqueMappingsKronaPlot
)),
Map
(
"summaryModuleTag"
->
"gearscentrifuge"
,
"centrifugeTag"
->
Some
(
"centrifuge"
))
Map
(
"summaryModuleTag"
->
"gearscentrifuge"
,
"centrifugeTag"
->
Some
(
"centrifuge"
))
)))
)))
}
else
None
}
else
None
val
krakenPageKronaPlot
=
GearsKronaPlot
.
values
(
summary
,
runId
,
"Krona"
,
"krakenkrona"
,
samples
,
libraries
,
sampleId
,
libId
)
val
krakenAnalysisPage
=
val
krakenAnalysisPage
=
if
(
krakenExecuted
)
if
(
krakenExecuted
)
Some
(
Some
(
"Kraken analysis"
->
Future
.
successful
(
ReportPage
(
"Kraken analysis"
->
Future
.
successful
(
List
(),
ReportPage
(
List
(
List
(),
"Krona plot"
->
ReportSection
(
"/nl/lumc/sasc/biopet/pipelines/gears/krakenKrona.ssp"
,
List
(
"Krona plot"
->
ReportSection
(
GearsKronaPlot
"/nl/lumc/sasc/biopet/pipelines/gears/krakenKrona.ssp"
,
.
values
(
summary
,
krakenPageKronaPlot
)),
runId
,
Map
()
"Krona"
,
)))
"krakenkrona"
,
samples
,
libraries
,
sampleId
,
libId
))),
Map
()
)))
else
None
else
None
val
qiimeClosesOtuTablePage
=
val
qiimeClosesOtuTablePage
=
...
@@ -257,6 +276,10 @@ object GearsReport extends MultisampleReportBuilder {
...
@@ -257,6 +276,10 @@ object GearsReport extends MultisampleReportBuilder {
)))
)))
else
None
else
None
val
flexiprepReadSummary
=
FlexiprepReadSummary
.
values
(
summary
,
runId
,
samples
,
libraries
,
sampleId
)
val
flexiprepBaseSummary
=
FlexiprepBaseSummary
.
values
(
summary
,
runId
,
samples
,
libraries
,
sampleId
)
Future
{
Future
{
ReportPage
(
ReportPage
(
subPages
=
subPages
=
...
@@ -268,9 +291,11 @@ object GearsReport extends MultisampleReportBuilder {
...
@@ -268,9 +291,11 @@ object GearsReport extends MultisampleReportBuilder {
),
),
sections
=
List
(
sections
=
List
(
"QC reads"
->
ReportSection
(
"QC reads"
->
ReportSection
(
"/nl/lumc/sasc/biopet/pipelines/flexiprep/flexiprepReadSummary.ssp"
),
"/nl/lumc/sasc/biopet/pipelines/flexiprep/flexiprepReadSummary.ssp"
,
flexiprepReadSummary
),
"QC bases"
->
ReportSection
(
"QC bases"
->
ReportSection
(
"/nl/lumc/sasc/biopet/pipelines/flexiprep/flexiprepBaseSummary.ssp"
)
"/nl/lumc/sasc/biopet/pipelines/flexiprep/flexiprepBaseSummary.ssp"
,
flexiprepBaseSummary
)
),