Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Klinische Genetica
capture-lumc
hutspot
Commits
5a37ebb5
Commit
5a37ebb5
authored
Jun 17, 2020
by
van den Berg
Browse files
Add picard AlignmentSummaryMetrics
parent
02d7cd72
Changes
3
Hide whitespace changes
Inline
Side-by-side
Snakefile
View file @
5a37ebb5
...
...
@@ -525,6 +525,7 @@ rule multiqc:
output:
html = "multiqc_report/multiqc_report.html",
insert = "multiqc_report/multiqc_data/multiqc_picard_insertSize.json",
AlignmentMetrics = "multiqc_report/multiqc_data/multiqc_picard_AlignmentSummaryMetrics.json",
HsMetrics = "multiqc_report/multiqc_data/multiqc_picard_HsMetrics.json" if "baitsfile" in config else []
container: containers["multiqc"]
shell: "multiqc --data-format json --force --outdir multiqc_report . "
...
...
@@ -537,11 +538,13 @@ rule merge_stats:
sample=config['samples']),
mpy = config["merge_stats"],
insertSize = rules.multiqc.output.insert,
AlignmentMetrics = rules.multiqc.output.AlignmentMetrics,
HsMetrics = rules.multiqc.output.HsMetrics
output: "stats.json"
container: containers["vtools"]
shell: "python {input.mpy} --collectstats {input.cols} "
"--picard-insertSize {input.insertSize} "
"--picard-AlignmentMetrics {input.AlignmentMetrics} "
"--picard-HsMetrics {input.HsMetrics} > {output}"
rule stats_tsv:
...
...
src/merge_stats.py
View file @
5a37ebb5
...
...
@@ -58,6 +58,18 @@ def add_picard_HsMetrics(data, filename):
raise
RuntimeError
(
f
"Unknown sample
{
sample
}
"
)
def
add_picard_AlignmentMetrics
(
data
,
filename
):
AlignmentMetrics
=
parse_json
(
filename
)
for
sample
in
AlignmentMetrics
:
for
d
in
data
[
'sample_stats'
]:
if
d
[
'sample_name'
]
==
sample
:
d
[
'picard_AlignmentSummaryMetrics'
]
=
AlignmentMetrics
[
sample
]
break
else
:
raise
RuntimeError
(
f
"Unknown sample
{
sample
}
"
)
def
main
(
args
):
data
=
dict
()
data
[
"sample_stats"
]
=
list
()
...
...
@@ -71,6 +83,11 @@ def main(args):
if
args
.
picard_HsMetrics
:
add_picard_HsMetrics
(
data
,
args
.
picard_HsMetrics
)
if
args
.
picard_AlignmentMetrics
:
add_picard_AlignmentMetrics
(
data
,
args
.
picard_AlignmentMetrics
)
print
(
json
.
dumps
(
data
))
...
...
@@ -90,5 +107,10 @@ if __name__ == "__main__":
nargs
=
'?'
,
help
=
(
'Path to multiQC json summary for picard '
'HsMetrics'
))
parser
.
add_argument
(
'--picard-AlignmentMetrics'
,
required
=
False
,
nargs
=
'?'
,
help
=
(
'Path to multiQC json summary for picard '
'AlignmentSummaryMetrics'
))
args
=
parser
.
parse_args
()
main
(
args
)
tests/test_integration_run.yml
View file @
5a37ebb5
...
...
@@ -39,6 +39,7 @@
contains
:
-
MEDIAN_INSERT_SIZE
-
WIDTH_OF_99_PERCENT
-
picard_AlignmentSummaryMetrics
-
name
:
test-integration-small-scatter
tags
:
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a 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