Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Mirrors
biopet.biopet
Commits
627f9574
Commit
627f9574
authored
Oct 22, 2015
by
Wai Yi Leung
Browse files
Small fixes in report
parent
73033e0d
Changes
4
Hide whitespace changes
Inline
Side-by-side
public/biopet-core/src/main/resources/nl/lumc/sasc/biopet/core/report/ext/js/gears.js
View file @
627f9574
...
...
@@ -175,7 +175,7 @@ function loadTable(d, target) {
.
data
(
child
)
.
on
(
"
click
"
,
outerclick
);
row
.
append
(
"
td
"
).
attr
(
"
class
"
,
"
col-md-3
"
).
text
(
child
.
size
);
row
.
append
(
"
td
"
).
attr
(
"
class
"
,
"
col-md-3
"
).
text
(
child
.
value
);
row
.
append
(
"
td
"
).
attr
(
"
class
"
,
"
col-md-3
"
).
text
(
child
.
count
);
}
...
...
@@ -221,7 +221,7 @@ var y = d3.scale.sqrt()
var
color
=
d3
.
scale
.
category20c
();
var
svg
=
d3
.
select
(
"
body
"
).
append
(
"
svg
"
)
var
svg
=
d3
.
select
(
"
#svgholder
"
).
append
(
"
svg
"
)
.
attr
(
"
width
"
,
width
)
.
attr
(
"
height
"
,
height
)
.
append
(
"
g
"
)
...
...
@@ -248,7 +248,7 @@ var arc = d3.svg.arc()
// Keep track of the node that is currently being displayed as the root.
var
node
;
d3
.
json
(
"
./tst.json
"
,
function
(
error
,
root
)
{
function
loadGears
(
root
)
{
console
.
log
(
root
);
node
=
root
;
var
path
=
svg
.
datum
(
root
).
selectAll
(
"
path
"
)
...
...
@@ -291,9 +291,7 @@ d3.json("./tst.json", function(error, root) {
// Get total size of the tree = value of root node from partition.
totalSize
=
path
.
node
().
__data__
.
value
;
});
}
d3
.
select
(
self
.
frameElement
).
style
(
"
height
"
,
height
+
"
px
"
);
...
...
public/biopet-tools/src/main/scala/nl/lumc/sasc/biopet/tools/KrakenReportToJson.scala
View file @
627f9574
...
...
@@ -148,18 +148,12 @@ object KrakenReportToJson extends ToolCommand {
}
})
val
result
=
Map
(
"unclasified"
->
lines
(
0
).
toJSON
(
withChildren
=
false
),
val
result
=
Map
(
"unclas
s
ified"
->
lines
(
0
).
toJSON
(
withChildren
=
false
),
"classified"
->
lines
(
1
).
toJSON
(
withChildren
=
true
))
mapToJson
(
result
).
spaces2
}
def
summary
:
String
=
{
val
result
=
Map
(
"unclasified"
->
lines
(
0
).
toJSON
(
withChildren
=
false
),
"classified"
->
lines
(
1
).
toJSON
(
withChildren
=
true
))
mapToJson
(
result
).
spaces2
}
def
main
(
args
:
Array
[
String
])
:
Unit
=
{
val
commandArgs
:
Args
=
parseArgs
(
args
)
...
...
public/gears/src/main/resources/nl/lumc/sasc/biopet/pipelines/gears/gearsSunburst.ssp
View file @
627f9574
...
...
@@ -33,9 +33,7 @@
#if (showPlot)
<div class="row">
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js" charset="utf-8"></script>
<script src="${rootPath}ext/js/gears.js"></script>
<div class="col-md-12">
<h3 id='currentlevel'>Root</h3>
<div>
<span id="selection_name"></span> -
...
...
@@ -49,7 +47,15 @@
</form>
<div id="sequence"></div>
<div id="datatable">
<div id="datatable"></div>
<div id="svgholder"></div>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js" charset="utf-8"></script>
<script src="${rootPath}ext/js/gears.js"></script>
<script type="application/ecmascript">
#{
...
...
@@ -58,9 +64,9 @@
}#
var krakenresult = JSON.parse('<%= unescape(bla) %>');
loadGears(krakenresult.kraken.classified);
</script>
</script>
</div>
</div>
#end
public/gears/src/main/scala/nl/lumc/sasc/biopet/pipelines/gears/Gears.scala
View file @
627f9574
...
...
@@ -18,9 +18,9 @@ package nl.lumc.sasc.biopet.pipelines.gears
import
nl.lumc.sasc.biopet.core.PipelineCommand
import
nl.lumc.sasc.biopet.core.summary.SummaryQScript
import
nl.lumc.sasc.biopet.extensions.kraken.
{
Kraken
,
KrakenReport
}
import
nl.lumc.sasc.biopet.extensions.picard.
{
SortSam
,
SamToFastq
}
import
nl.lumc.sasc.biopet.extensions.picard.SamToFastq
import
nl.lumc.sasc.biopet.extensions.sambamba.SambambaView
import
nl.lumc.sasc.biopet.extensions.tools.
{
KrakenReportToJson
,
FastqSync
}
import
nl.lumc.sasc.biopet.extensions.tools.
{
FastqSync
,
KrakenReportToJson
}
import
nl.lumc.sasc.biopet.utils.config.Configurable
import
org.broadinstitute.gatk.queue.QScript
...
...
@@ -30,27 +30,25 @@ import org.broadinstitute.gatk.queue.QScript
class
Gears
(
val
root
:
Configurable
)
extends
QScript
with
SummaryQScript
{
def
this
()
=
this
(
null
)
@Input
(
shortName
=
"R1"
,
required
=
false
)
var
fastq
File
R1
:
Option
[
File
]
=
None
@Input
(
doc
=
"R1 reads in FastQ format"
,
shortName
=
"R1"
,
required
=
false
)
var
fastqR1
:
Option
[
File
]
=
None
@Input
(
shortName
=
"R2"
,
required
=
false
)
var
fastq
File
R2
:
Option
[
File
]
=
None
@Input
(
doc
=
"R2 reads in FastQ format"
,
shortName
=
"R2"
,
required
=
false
)
var
fastqR2
:
Option
[
File
]
=
None
@Input
(
doc
=
"
From the bam all the upmapped reads are used for kraken
"
,
shortName
=
"bam"
,
required
=
false
)
@Input
(
doc
=
"
All unmapped reads will be extracted from this bam for analysis
"
,
shortName
=
"bam"
,
required
=
false
)
var
bamFile
:
Option
[
File
]
=
None
@Argument
(
required
=
false
)
var
outputName
:
String
=
_
var
GearsOutputFiles
:
scala.collection.mutable.Map
[
String
,
File
]
=
scala
.
collection
.
mutable
.
Map
.
empty
/** Executed before running the script */
def
init
()
:
Unit
=
{
require
(
fastq
File
R1
.
isDefined
||
bamFile
.
isDefined
,
"Must define fastq file(s) or a bam file"
)
require
(
fastq
File
R1
.
isDefined
!=
bamFile
.
isDefined
,
"Can't define a bam file and a R1 file"
)
require
(
fastqR1
.
isDefined
||
bamFile
.
isDefined
,
"Must define fastq file(s) or a bam file"
)
require
(
fastqR1
.
isDefined
!=
bamFile
.
isDefined
,
"Can't define a bam file and a R1 file"
)
if
(
outputName
==
null
)
{
if
(
fastq
File
R1
.
isDefined
)
outputName
=
fastq
File
R1
.
map
(
_
.
getName
if
(
fastqR1
.
isDefined
)
outputName
=
fastqR1
.
map
(
_
.
getName
.
stripSuffix
(
".gz"
)
.
stripSuffix
(
".fastq"
)
.
stripSuffix
(
".fq"
))
...
...
@@ -97,41 +95,41 @@ class Gears(val root: Configurable) extends QScript with SummaryQScript {
// TODO: need some sanity check on whether R2 is really containing reads (e.g. Single End libraries)
fastqSync
.
outputFastq2
=
new
File
(
outputDir
,
s
"$outputName.unmapped.R2.sync.fq.gz"
)
fastqSync
.
outputStats
=
new
File
(
outputDir
,
s
"$outputName.sync.stats
.json
"
)
fastqSync
.
outputStats
=
new
File
(
outputDir
,
s
"$outputName.sync.stats"
)
add
(
fastqSync
)
addSummarizable
(
fastqSync
,
"fastqsync"
)
GearsO
utputFiles
+=
(
"fastqsync_stats"
->
fastqSync
.
outputStats
)
GearsO
utputFiles
+=
(
"fastqsync_R1"
->
fastqSync
.
outputFastq1
)
GearsO
utputFiles
+=
(
"fastqsync_R2"
->
fastqSync
.
outputFastq2
)
o
utputFiles
+=
(
"fastqsync_stats"
->
fastqSync
.
outputStats
)
o
utputFiles
+=
(
"fastqsync_R1"
->
fastqSync
.
outputFastq1
)
o
utputFiles
+=
(
"fastqsync_R2"
->
fastqSync
.
outputFastq2
)
List
(
fastqSync
.
outputFastq1
,
fastqSync
.
outputFastq2
)
}.
getOrElse
(
List
(
fastq
File
R1
,
fastq
File
R2
).
flatten
)
}.
getOrElse
(
List
(
fastqR1
,
fastqR2
).
flatten
)
// start kraken
val
krakenAnalysis
=
new
Kraken
(
this
)
krakenAnalysis
.
input
=
fastqFiles
krakenAnalysis
.
output
=
new
File
(
outputDir
,
s
"$outputName.krkn.raw"
)
krakenAnalysis
.
paired
=
(
fastqFiles
.
length
==
2
)
krakenAnalysis
.
paired
=
fastqFiles
.
length
==
2
krakenAnalysis
.
classified_out
=
Option
(
new
File
(
outputDir
,
s
"$outputName.krkn.classified.fastq"
))
krakenAnalysis
.
unclassified_out
=
Option
(
new
File
(
outputDir
,
s
"$outputName.krkn.unclassified.fastq"
))
krakenAnalysis
.
classified_out
=
Some
(
new
File
(
outputDir
,
s
"$outputName.krkn.classified.fastq"
))
krakenAnalysis
.
unclassified_out
=
Some
(
new
File
(
outputDir
,
s
"$outputName.krkn.unclassified.fastq"
))
add
(
krakenAnalysis
)
GearsO
utputFiles
+=
(
"kraken_output_raw"
->
krakenAnalysis
.
output
)
GearsO
utputFiles
+=
(
"kraken_classified_out"
->
krakenAnalysis
.
classified_out
.
getOrElse
(
""
))
GearsO
utputFiles
+=
(
"kraken_unclassified_out"
->
krakenAnalysis
.
unclassified_out
.
getOrElse
(
""
))
o
utputFiles
+=
(
"kraken_output_raw"
->
krakenAnalysis
.
output
)
o
utputFiles
+=
(
"kraken_classified_out"
->
krakenAnalysis
.
classified_out
.
getOrElse
(
""
))
o
utputFiles
+=
(
"kraken_unclassified_out"
->
krakenAnalysis
.
unclassified_out
.
getOrElse
(
""
))
// create kraken summary file
val
krakenReport
=
new
KrakenReport
(
this
)
krakenReport
.
input
=
krakenAnalysis
.
output
krakenReport
.
show_zeros
=
true
krakenReport
.
output
=
new
File
(
outputDir
,
s
"$outputName.krkn.full"
)
add
(
krakenReport
)
GearsO
utputFiles
+=
(
"kraken_report_input"
->
krakenReport
.
input
)
GearsO
utputFiles
+=
(
"kraken_report_output"
->
krakenReport
.
output
)
o
utputFiles
+=
(
"kraken_report_input"
->
krakenReport
.
input
)
o
utputFiles
+=
(
"kraken_report_output"
->
krakenReport
.
output
)
val
krakenReportJSON
=
new
KrakenReportToJson
(
this
)
krakenReportJSON
.
inputReport
=
krakenReport
.
output
...
...
@@ -140,8 +138,8 @@ class Gears(val root: Configurable) extends QScript with SummaryQScript {
add
(
krakenReportJSON
)
addSummarizable
(
krakenReportJSON
,
"krakenreport"
)
GearsO
utputFiles
+=
(
"kraken_report_json_input"
->
krakenReportJSON
.
inputReport
)
GearsO
utputFiles
+=
(
"kraken_report_json_output"
->
krakenReportJSON
.
output
)
o
utputFiles
+=
(
"kraken_report_json_input"
->
krakenReportJSON
.
inputReport
)
o
utputFiles
+=
(
"kraken_report_json_output"
->
krakenReportJSON
.
output
)
addSummaryJobs
()
}
...
...
@@ -152,13 +150,13 @@ class Gears(val root: Configurable) extends QScript with SummaryQScript {
/** Pipeline settings shown in the summary file */
def
summarySettings
:
Map
[
String
,
Any
]
=
Map
.
empty
++
(
if
(
bamFile
.
isDefined
)
Map
(
"input_bam"
->
bamFile
.
get
)
else
Map
())
++
(
if
(
fastq
File
R1
.
isDefined
)
Map
(
"input_R1"
->
fastq
File
R1
.
get
)
else
Map
())
(
if
(
fastqR1
.
isDefined
)
Map
(
"input_R1"
->
fastqR1
.
get
)
else
Map
())
/** Statistics shown in the summary file */
def
summaryFiles
:
Map
[
String
,
File
]
=
Map
.
empty
++
(
if
(
bamFile
.
isDefined
)
Map
(
"input_bam"
->
bamFile
.
get
)
else
Map
())
++
(
if
(
fastq
File
R1
.
isDefined
)
Map
(
"input_R1"
->
fastq
File
R1
.
get
)
else
Map
())
++
GearsO
utputFiles
(
if
(
fastqR1
.
isDefined
)
Map
(
"input_R1"
->
fastqR1
.
get
)
else
Map
())
++
o
utputFiles
}
/** This object give a default main method to the pipelines */
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment