From ad2d5a2e8adace417c3b9ea6ff1f9f728c492e12 Mon Sep 17 00:00:00 2001
From: Blaise Li <blaise.li__git@nsup.org>
Date: Thu, 14 Apr 2022 12:27:08 +0200
Subject: [PATCH] Option to return proportions too, not just biases.

---
 libcodonusage/__init__.py      |  2 +-
 libcodonusage/libcodonusage.py | 14 ++++++++++----
 2 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/libcodonusage/__init__.py b/libcodonusage/__init__.py
index 3c99cc9..c45672d 100644
--- a/libcodonusage/__init__.py
+++ b/libcodonusage/__init__.py
@@ -1,6 +1,6 @@
 __copyright__ = "Copyright (C) 2022 Blaise Li"
 __licence__ = "GNU GPLv3"
-__version__ = "0.21"
+__version__ = "0.22"
 from .libcodonusage import (
     aa2colour,
     aa_usage,
diff --git a/libcodonusage/libcodonusage.py b/libcodonusage/libcodonusage.py
index 94d722f..8b136fc 100644
--- a/libcodonusage/libcodonusage.py
+++ b/libcodonusage/libcodonusage.py
@@ -352,7 +352,7 @@ SUZUKI_DOI = "10.1016/j.febslet.2005.10.032"
 SUZUKI_LINK = f"[Suzuki et al (2005)](https://doi.org/{SUZUKI_DOI})"
 
 
-def gene_wide_codon_usage(codon_counts, verbose=False):
+def gene_wide_codon_usage(codon_counts, verbose=False, return_props=False):
     """
     Compute codon usage biases "gene-wide" as the standardized
     difference between a gene's codon proportions and global
@@ -414,10 +414,12 @@ across genes) so that they are more comparable between codons.
     # standardized_codon_usage_biases.style.hide(axis="index")
     if verbose:
         display(standardized_codon_usage_biases.head(3))
+    if return_props:
+        return (standardized_codon_usage_biases, codon_proportions)
     return standardized_codon_usage_biases
 
 
-def by_aa_codon_usage(codon_counts, verbose=False):
+def by_aa_codon_usage(codon_counts, verbose=False, return_props=False):
     """
     Compute codon usage biases "by amino-acid" as the standardized
     difference between a gene's codon proportions and global
@@ -495,10 +497,12 @@ across genes) so that they are more comparable between codons.
     # standardized_codon_usage_biases.style.hide(axis="index")
     if verbose:
         display(standardized_codon_usage_biases.head(3))
+    if return_props:
+        return (standardized_codon_usage_biases, codon_proportions)
     return standardized_codon_usage_biases
 
 
-def aa_usage(codon_counts, verbose=False):
+def aa_usage(codon_counts, verbose=False, return_props=False):
     """
     Compute amino-acid usage biases as the standardized
     difference between a gene's amino-acid proportions
@@ -563,6 +567,8 @@ across genes) so that they are more comparable between amino-acids.
     # standardized_aa_usage_biases.style.hide(axis="index")
     if verbose:
         display(standardized_aa_usage_biases.head(3))
+    if return_props:
+        return (standardized_aa_usage_biases, aa_proportions)
     return standardized_aa_usage_biases
 
 
@@ -1319,7 +1325,7 @@ def violin_usage_by_clusters_splitby(
     for clss in classes:
         fig = violin_usage_by_clusters(
             usage_with_clusters.loc[
-                (*(slice(None) for _ in range(idx_level)), clss),],
+                (*(slice(None) for _ in range(idx_level)), clss), ],
             aa, ylabel_template + f" for {clss}",
             cluster_level_template=cluster_level_template,
             vertical=vertical, **violin_kwargs)
-- 
GitLab