From 79bc55949775d35f86b94115199884bc3a1f9f71 Mon Sep 17 00:00:00 2001 From: Fontrodona Nicolas <nicolas.fontrodona@ens-lyon.fr> Date: Thu, 29 Oct 2020 15:14:29 +0100 Subject: [PATCH] src/nt_composition/make_nt_correlation.py: add a distance parameter into get_project_colocalisation function to recover only interaction far from at least 10kb --- src/nt_composition/make_nt_correlation.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/nt_composition/make_nt_correlation.py b/src/nt_composition/make_nt_correlation.py index ddbb5b18..58969b9e 100644 --- a/src/nt_composition/make_nt_correlation.py +++ b/src/nt_composition/make_nt_correlation.py @@ -61,7 +61,7 @@ def get_project_colocalisation(cnx: sqlite3.Connection, project: str, global_weight: int, same_gene: bool, get_weight: bool = False, exon_bc: Optional[np.array] = None, - inter_chr: bool = False, + inter_chr: bool = False, distance: int = 10000, level: str = "exon") -> np.array: """ Get the interactions in project `project` for gene and exons @@ -84,8 +84,11 @@ def get_project_colocalisation(cnx: sqlite3.Connection, project: str, """ logging.debug(f'Recovering interaction ({os.getpid()})') select_add = get_select_addition(global_weight, get_weight, same_gene) - inter_str = " AND level = 'inter'" if inter_chr else "" - inter_str_t = " AND t1.level = 'inter'" if inter_chr else "" + inter_str = " AND level = 'inter'" \ + if inter_chr else f"AND (level = 'inter' OR distance >= {distance})" + inter_str_t = " AND t1.level = 'inter'" \ + if inter_chr \ + else f"AND (t1.level = 'inter' OR t1.distance >= {distance})" if level == "gene" and not same_gene: logging.warning(f"When level is equal to gene then same_gene must " f"be true. Setting it to True.") -- GitLab