From 4998529f8acd48a4ce7d96b0e697513af74aff36 Mon Sep 17 00:00:00 2001
From: Fontrodona Nicolas <nicolas.fontrodona@ens-lyon.fr>
Date: Fri, 12 Jun 2020 09:44:44 +0200
Subject: [PATCH] src/nt_composition/make_nt_correlation.py: Modification of
 create_all_frequency_figure to make the density figure for all chIA-PET
 projets

---
 src/nt_composition/make_nt_correlation.py | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/src/nt_composition/make_nt_correlation.py b/src/nt_composition/make_nt_correlation.py
index 4ff46811..f506a23d 100644
--- a/src/nt_composition/make_nt_correlation.py
+++ b/src/nt_composition/make_nt_correlation.py
@@ -119,7 +119,7 @@ def get_frequency_dic(cnx: sqlite3.Connection, nt: str, ft_type: str
 
 
 def create_density_table(arr_interaction: np.array, dic_freq: Dict[str, float],
-                         ) -> pd.DataFrame:
+                         analyse_id) -> pd.DataFrame:
     """
     Create the density table, a table showing the frequency of \
     a nucleotide in every exon in a chia-pet projet and the mean \
@@ -127,12 +127,13 @@ def create_density_table(arr_interaction: np.array, dic_freq: Dict[str, float],
 
     :param arr_interaction: array of interaction between exons.
     :param dic_freq: The frequency dataframe.
+    :param analyse_id The id of the current analysis
     :return: The density table
     """
     logging.debug(f'Calculating density table ({os.getpid()})')
     exons_list = get_interacting_exon(arr_interaction)
     dic = {'exon': [], 'freq_exon': [], 'freq_coloc_exon': [], 'oexon': []}
-    pbar = tqdm(exons_list, desc=f"Getting frequencies...({os.getpid()})",
+    pbar = tqdm(exons_list, desc=f"Working on {analyse_id} ({os.getpid()}) :",
                 position=mp.current_process()._identity[0] - 1)
     for exon in pbar:
         freq_ex = dic_freq[exon]
@@ -203,7 +204,8 @@ def create_density_figure(nt: str, ft_type: str,
         cnx = sqlite3.connect(ConfigNt.db_file)
         arr_interaction = get_project_colocalisation(cnx, project)
         dic_freq = get_frequency_dic(cnx, nt, ft_type)
-        df = create_density_table(arr_interaction, dic_freq)
+        analyse_id = f"{project}_{ft_type}_{nt}"
+        df = create_density_table(arr_interaction, dic_freq, analyse_id)
         df.to_csv(outfile, sep="\t", index=False)
         r, p = create_density_fig(df, project, ft_type, nt)
     else:
@@ -285,8 +287,9 @@ def create_all_frequency_figures(ps: int,
     """
     logging_def(ConfigNt.interaction, __file__, logging_level)
     di = pd.read_csv(ConfigNt.interaction_file, sep="\t")
-    with open(ConfigNt.selected_project, 'r') as f:
-        projects = f.read().splitlines()
+    projects = di['projects'].values
+    # with open(ConfigNt.selected_project, 'r') as f:
+    #     projects = f.read().splitlines()
     nt_list = ['A', 'C', 'G', 'T', 'S', 'W']
     param = product(projects, nt_list, ['nt'])
     pool = mp.Pool(processes=ps)
-- 
GitLab