Skip to content
Snippets Groups Projects
Commit 6a808558 authored by Blaise Li's avatar Blaise Li
Browse files

Counts table reformatting.

parent a85cbad9
No related branches found
No related tags found
No related merge requests found
__copyright__ = "Copyright (C) 2022 Blaise Li" __copyright__ = "Copyright (C) 2022 Blaise Li"
__licence__ = "GNU GPLv3" __licence__ = "GNU GPLv3"
__version__ = 0.3 __version__ = 0.4
from .libcodonusage import ( from .libcodonusage import (
aa2colour, aa2colour,
codon2aa,
columns_by_aa, columns_by_aa,
detect_fishy_genes, detect_fishy_genes,
load_bias_table, load_bias_table,
load_counts_table, load_counts_table,
make_aa_codon_columns,
make_counts_only,
render_md, render_md,
violin_usage, violin_usage,
violin_usage_vertical, violin_usage_vertical,
......
...@@ -224,6 +224,27 @@ def detect_fishy_genes(codon_counts): ...@@ -224,6 +224,27 @@ def detect_fishy_genes(codon_counts):
return criteria return criteria
def make_counts_only(counts_table):
"""
Integrate "informative" columns of *counts_table* into the index.
"""
info_cols = [
counts_table.index.name,
*counts_table.columns.difference(codon2aa)]
assert set(info_cols) == {
"old_locus_tag", "locus_tag", "length", "start_codon", "expected_start_aa",
"first_stop", "nb_stops", "start_upstream", "end_downstream"}
return counts_table.reset_index().set_index(info_cols)
def make_aa_codon_columns(counts_table):
"""Transform column headers into a (aa, codon) MultiIndex."""
counts_table.columns = pd.MultiIndex.from_tuples(
((codon2aa[codon], codon) for codon in counts_table.columns),
names=("aa", "codon"))
return counts_table
def load_bias_table(table_path, nb_cluster_series=2): def load_bias_table(table_path, nb_cluster_series=2):
""" """
Load a table containing by-amino-acid codon usage biases. Load a table containing by-amino-acid codon usage biases.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment