From 7c6e2db723520d0751d1df68da437a5619299d00 Mon Sep 17 00:00:00 2001 From: Luis Pedro Coelho Date: Fri, 3 May 2024 14:52:21 +1000 Subject: [PATCH] RFCT Remove use of intermediate list object --- argnorm/drug_categorization.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/argnorm/drug_categorization.py b/argnorm/drug_categorization.py index eb7e6c0..622a363 100644 --- a/argnorm/drug_categorization.py +++ b/argnorm/drug_categorization.py @@ -14,26 +14,26 @@ def confers_resistance_to(aro_num: str) -> List[str]: aro_num (str): ARO number. Needs to be in the form 'ARO:number'. Returns: - drugs_list (list[str]): + target (list[str]): A list with ARO number of the drugs/antibiotics to which the input gene confers resistance to. ''' - if aro_num not in ARO.terms(): + if aro_num not in ARO: return [] - drugs_list = [] + target = set() for term in ARO[aro_num].superclasses(): for drug in term.relationships.get(confers_resistance_to_drug_class_rel, []): - drugs_list.append(drug.id) + target.add(drug.id) for drug in term.relationships.get(confers_resistance_to_antibiotic_rel, []): - drugs_list.append(drug.id) + target.add(drug.id) - if drugs_list: + if target: break - return sorted(set(drugs_list)) + return sorted(target) def drugs_to_drug_classes(drugs_list: List[str]) -> List[str]: '''