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