Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
}
header["max"] = {
'title': 'Max',
'description': 'Maximum coverage',
'shared_key': 'coverage'
}
header["std"] = {
'title': 'Std. Dev.',
'description': 'Coverage standard deviation',
'shared_key': 'coverage'
}
config = {'namespace': 'deepTools plotCoverage'}
self.add_section(
name = "Coverage metrics",
anchor = "deeptools_coverage_metrics",
plot = table.plot(self.deeptools_plotCoverageStdout, header, config)
)
if len(self.deeptools_plotCoverageOutRawCounts) > 0:
config = {
'id': 'deeptools_coverage_metrics_plot',
'title': 'deepTools: Coverage distribution',
'xlab': 'Coverage',
'ylab': 'Fraction of bases sampled'
}
self.add_section(
name = "Coverage distribution",
anchor = "deeptools_coverage_distribution",
description = "The fraction of bases with a given number of read/fragment coverage",
plot = linegraph.plot(self.deeptools_plotCoverageOutRawCounts, config)
)
pheader['mu_all_botgc'] = {'title':'Mu.low.gc','description':'Bottom Decile in GC Content'}
pheader['cv_all'] = {'title':'CV.gnm','description':'Whole Genome'}
pheader['cv_all_topgc'] = {'title':'CV.high.gc','description':'Top Decile in GC Content'}
pheader['cv_all_botgc'] = {'title':'CV.low.gc','description':'Bottom Decile in GC Content'}
pheader['mu_cpg'] = {'title':'CG.Mu.gnm','description':'All CpGs'}
pheader['mu_cpg_topgc'] = {'title':'CG.Mu.high.gc','description':'Top Decile in GC Content'}
pheader['mu_cpg_botgc'] = {'title':'CG.Mu.low.gc','description':'Bottom Decile in GC Content'}
pheader['cv_cpg'] = {'title':'CG.CV.gnm','description':'All CpGs'}
pheader['cv_cpg_topgc'] = {'title':'CG.CV.high.gc','description':'Top Decile in GC Content'}
pheader['cv_cpg_botgc'] = {'title':'CG.CV.low.gc','description':'Bottom Decile in GC Content'}
self.add_section(
name = 'Sequencing Depth',
anchor = 'biscuit-seq-depth',
description = "This plot shows sequence depth mean and uniformity measured in Coefficient of Variation (mu/sigma), mapQ>40 only. CG.* shows the depth on CpG only. GC contents were measured on 100bp non-overlapping windows.",
plot = table.plot(pd, pheader))
### Write the report
self.write_data_file(reports, 'multiqc_supernova')
config_table = {
'id': 'supernova_table',
'namespace': 'supernova'
}
self.add_section (
name = 'Assembly statistics',
anchor = 'supernova-table',
description = 'Statistics gathered from the summary report(s) of Supernova. Note! ' \
'There are more columns available but they are hidden by default.',
helptext = 'As a bare minimum these numbers are generated from the file report.txt, ' \
'found in the folder `sampleID/outs/`. If available the stats in the report ' \
'file will be superseded by the higher precision numbers found in the file ' \
'`sampleID/outs/assembly/stats/summary.json`',
plot = table.plot(reports, self.headers, config_table)
)
# N50 barcharts
n50_cats = [{'Scaff N50': {'name': 'Scaffold N50', 'color': '#66c2a5'}},
{'Contig N50': {'name': 'Contig N50', 'color': '#fc8d62'}},
{'Edge N50': {'name': 'Edge N50', 'color': '#8da0cb'}},
{'Phase N50': {'name': 'Phase block N50', 'color': '#e78ac3'}}
]
config_n50 = {
'id': 'supernova_n50',
'title': 'Supernova: N50 statistics',
'ylab': 'Scaffold N50',
'cpswitch': False,
'data_labels': ['Scaffold N50', 'Contig N50', 'Edge N50', 'Phase block N50']
}
self.add_section (
'suffix': '%',
'scale': 'RdYlGn'
}
table_config = {
'namespace': 'interop',
'id': 'interop-runmetrics-detail-table',
'table_title': 'Sequencing Lane Statistics',
'col1_header': 'Run - Lane - Read',
}
tdata = {}
for s_name in data:
for key in data[s_name]['details']:
tdata["{} - {}".format(s_name,key)]=data[s_name]['details'][key]
return table.plot(tdata, headers, table_config)