Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
'title': 'Peddy: Sex Check',
'xlab': 'Sex From Ped',
'ylab': 'Sex Het Ratio',
'categories': ["Female", "Male", "Unknown"]
}
self.add_section(
name = 'Sex Check',
description = "Predicted sex against heterozygosity ratio",
helptext = """
Higher values of Sex Het Ratio suggests the sample is female, low values suggest male.
See [the main peddy documentation](http://peddy.readthedocs.io/en/latest/#sex-check) for more details about the `het_check` command.
""",
anchor='peddy-sexcheck-plot',
plot=scatter.plot(data, pconfig)
)
}
pconfig = {
'id': 'peddy_pca_plot',
'title': 'Peddy: PCA Plot',
'xlab': 'PC1',
'ylab': 'PC2',
'marker_size': 5,
'marker_line_width': 0
}
if len(data) > 0:
self.add_section (
name = 'PCA Plot',
anchor = 'peddy-pca-plot',
plot = scatter.plot(data, pconfig)
)
pconfig['sortRows'] = pconfig.get('sortRows', False)
headers = mod['config'].get('headers')
self.add_section( plot = table.plot(mod['data'], headers, pconfig) )
self.write_data_file( mod['data'], "multiqc_{}".format(modname.lower().replace(' ', '_')) )
# Bar plot
elif mod['config'].get('plot_type') == 'bargraph':
self.add_section( plot = bargraph.plot(mod['data'], mod['config'].get('categories'), pconfig) )
# Line plot
elif mod['config'].get('plot_type') == 'linegraph':
self.add_section( plot = linegraph.plot(mod['data'], pconfig) )
# Scatter plot
elif mod['config'].get('plot_type') == 'scatter':
self.add_section( plot = scatter.plot(mod['data'], pconfig) )
# Heatmap
elif mod['config'].get('plot_type') == 'heatmap':
self.add_section( plot = heatmap.plot(mod['data'], mod['config'].get('xcats'), mod['config'].get('ycats'), pconfig) )
# Beeswarm plot
elif mod['config'].get('plot_type') == 'beeswarm':
self.add_section( plot = beeswarm.plot(mod['data'], pconfig) )
# Raw HTML
elif mod['config'].get('plot_type') == 'html':
self.add_section( content = mod['data'] )
# Raw image file as html
elif mod['config'].get('plot_type') == 'image':
self.add_section( content = mod['data'] )
'id': 'peddy_het_check_plot',
'title': 'Peddy: Het Check',
'xlab': 'median depth',
'ylab': 'proportion het calls',
}
self.add_section (
name = 'Het Check',
description = "Proportion of sites that were heterozygous against median depth.",
helptext = """
A high proportion of heterozygous sites suggests contamination, a low proportion suggests consanguinity.
See [the main peddy documentation](https://peddy.readthedocs.io/en/latest/output.html#het-check) for more details about the `het_check` command.
""",
anchor = 'peddy-hetcheck-plot',
plot = scatter.plot(data, pconfig)
)
data = self.ignore_samples(data)
if data:
log.info("Found goleft indexcov bin reports for %s samples" % (len(data)))
pconfig = {
'id': 'goleft_indexcov-bin-plot',
'title': 'goleft indexcov: Problematic low and non-uniform coverage bins',
'xlab': 'Proportion of bins with depth < 0.15',
'ylab': 'Proportion of bins with depth outside of (0.85, 1.15)',
'yCeiling': 1.0, 'yFloor': 0.0, 'xCeiling': 1.0, 'xFloor': 0.0}
self.add_section (
name = 'Problem coverage bins',
anchor = 'goleft_indexcov-bin',
description = 'This plot identifies problematic samples using binned coverage distributions.',
helptext = helptext,
plot = scatter.plot(data, pconfig)
)
return True
else:
return False
pconfig = {
'id': 'slamdunk_pca',
'title': 'Slamdunk: PCA',
'xlab': 'PC1',
'ylab': 'PC2',
'tt_label': 'PC1 {point.x:.2f}: PC2 {point.y:.2f}'
}
self.add_section (
name = 'PCA (T>C based)',
anchor = 'slamdunk_PCA',
description = """This plot shows the principal components of samples based
on the distribution of reads with T>C conversions within UTRs
(see the <a href="http://t-neumann.github.io/slamdunk/docs.html#summary">slamdunk docs</a>).""",
plot = scatter.plot(self.PCA_data, pconfig)
)
}
data = dict()
for s_name in self.deeptools_plotPCAData:
try:
data[s_name] = {'x': self.deeptools_plotPCAData[s_name][1], 'y': self.deeptools_plotPCAData[s_name][2]}
except KeyError:
pass
if len(data) == 0:
log.debug('No valid data for PCA plot')
return None
self.add_section(
name="PCA plot",
anchor="deeptools_pca",
description="PCA plot with the top two principal components calculated based on genome-wide distribution of sequence reads",
plot=scatter.plot(data, config)
)
return len(self.deeptools_plotPCAData)