From a687f3066bd7a1fb8a17897d2b7805f546f9aa57 Mon Sep 17 00:00:00 2001 From: Kathleen Date: Wed, 10 Jul 2024 12:32:26 -0400 Subject: [PATCH 1/4] Modified predicates affected by biolink:binds --- Common/predicates.py | 38 ++++++++++++++-------------- parsers/BINDING/src/loadBINDINGDB.py | 8 +++--- 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/Common/predicates.py b/Common/predicates.py index e6fd89c2..fce19bec 100644 --- a/Common/predicates.py +++ b/Common/predicates.py @@ -8,43 +8,43 @@ "allosteric_antagonist": f"{DGIDB}:antagonist", "allosteric_modulator": f"{DGIDB}:modulator", "antagonist": f"{DGIDB}:antagonist", - "antibody": f"{DGIDB}:binder", - "antibody_binding": f"{DGIDB}:binder", + "antibody": f"RO:0002436", + "antibody_binding": f"RO:0002436", "antisense_inhibitor": f"{DGIDB}:inhibitor", - "app_ki": f"RO:0002434", - "app_km": f"RO:0002434", - "binding_agent": f"{DGIDB}:binder", + "app_ki": f"RO:0002434", # apparent Ki? if so change to RO:0002436 + "app_km": f"RO:0002434", # apperent Km? if so change to RO:0002436 + "binding_agent": f"RO:0002436", "blocker": f"{DGIDB}:blocker", "channel_blocker": f"{DGIDB}:channel_blocker", "ec50": f"{DGIDB}:agonist", - "ed50": f"RO:0002434", + "ed50": f"RO:0002434", # Effective Dose. Potentially needs to be {DGIDB}:agonist "gating_inhibitor": f"{DGIDB}:gating_inhibitor", - "gi50": f"RO:0002434", + "gi50": f"RO:0002434", # Growth Inhibitor. Potentially needs to be {DGIDB}:agonist "ic50": f"{DGIDB}:inhibitor", "inhibitor": f"{DGIDB}:inhibitor", - "interacts_with": f"RO:0002434", + "interacts_with": f"{DRUGBANK}:target", # maps to biolink:physically_interacts_with "inverse_agonist": f"{DGIDB}:inverse_agonist", - "ka": f"RO:0002434", - "kact": f"RO:0002434", - "kb": f"{DGIDB}:binder", - "kd": f"{DGIDB}:binder", - "kd1": f"RO:0002434", + "ka": f"RO:0002436", + "kact": f"RO:0002436", # is this a miss type of kcat? + "kb": f"RO:0002436", # {DGIDB}:binder maps to biolink:binds which is depreciated + "kd": f"RO:0002436", + "kd1": f"RO:0002436", # RO:0002434 maps to biolink:related_to "ki": f"{DGIDB}:inhibitor", - "km": f"RO:0002434", - "ks": f"RO:0002434", + "km": f"RO:0002436", + "ks": f"RO:0002436", "modulator": f"{DGIDB}:modulator", - "mic": f"RO:0002434", - "mpc": f"RO:0002434", + "mic": f"RO:0002434", # What is this referring to? + "mpc": f"RO:0002434", # What is this referring to? "negative_modulator": f"{CHEMBL_MECHANISM}:negative_modulator", "negative_allosteric_modulator": f"{CHEMBL_MECHANISM}:negative_modulator", "opener": f"{CHEMBL_MECHANISM}:opener", "other": f"{DGIDB}:other", "partial_agonist": f"{DGIDB}:partial_agonist", - "pa2": f"RO:0002434", + "pa2": f"RO:0002434", # What is this referring to? "pharmacological_chaperone": f"{DGIDB}:chaperone", "positive_allosteric_modulator": f"{CHEMBL_MECHANISM}:positive_modulator", "positive_modulator": f"{CHEMBL_MECHANISM}:positive_modulator", "releasing_agent": f"{CHEMBL_MECHANISM}:releasing_agent", "substrate": f"{CHEMBL_MECHANISM}:substrate", - "xc50": f"RO:0002434" + "xc50": f"RO:0002436" # This is related to ec50 and ic50 both of which describe binding events } diff --git a/parsers/BINDING/src/loadBINDINGDB.py b/parsers/BINDING/src/loadBINDINGDB.py index e587425e..fc97c297 100644 --- a/parsers/BINDING/src/loadBINDINGDB.py +++ b/parsers/BINDING/src/loadBINDINGDB.py @@ -66,12 +66,12 @@ def __init__(self, test_mode: bool = False, source_data_dir: str = None): self.affinity_threshold = LOG_SCALE_AFFINITY_THRESHOLD self.measure_to_predicate = { - "pKi": "biolink:binds", + "pKi": "{DGIDB}:inhibitor", #inhibition constant "pIC50": "CTD:decreases_activity_of", - "pKd": "biolink:binds", + "pKd": "RO:0002436", "pEC50": "CTD:increases_activity_of", - "k_on": "biolink:binds", - "k_off": "biolink:binds" + "k_on": "RO:0002436", + "k_off": "RO:0002436" } self.bindingdb_version = None From 4cb0188743f17168cf5e5166196bf61e52ffd82d Mon Sep 17 00:00:00 2001 From: eKathleenCarter <163005214+eKathleenCarter@users.noreply.github.com> Date: Tue, 16 Jul 2024 12:41:36 -0400 Subject: [PATCH 2/4] Update predicates.py after comments Made changes to reflect comments by Chris: 1. Do not modify "ed50": f"RO:0002434" until we know where this predicate comes from. "But I guess the main point is that it makes no sense to have an ed50 between a chemical and a gene/protein. Is it possible to see whether we actually have any of these?" 2. "gi50": f"RO:0002434" -> {DGIDB}:Inhibitor 3. Do not modify "interacts_with" until we know where this predicate comes from. I" guess it would be easier to be sure if we know the context in which "interacts-with" was found in our ingestss. (but I'd be tempted to put 2436 for this one)" Main take away: where do these predicates come from? Can we track down how this was generated? --- Common/predicates.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Common/predicates.py b/Common/predicates.py index fce19bec..5fe519ef 100644 --- a/Common/predicates.py +++ b/Common/predicates.py @@ -17,12 +17,12 @@ "blocker": f"{DGIDB}:blocker", "channel_blocker": f"{DGIDB}:channel_blocker", "ec50": f"{DGIDB}:agonist", - "ed50": f"RO:0002434", # Effective Dose. Potentially needs to be {DGIDB}:agonist + "ed50": f"RO:0002434", # Effective Dose. Where does this predicate come from? CB (2024_07): "it makes no sense to have an ed50 between a chemical and a gene/protein" "gating_inhibitor": f"{DGIDB}:gating_inhibitor", - "gi50": f"RO:0002434", # Growth Inhibitor. Potentially needs to be {DGIDB}:agonist + "gi50": f"{DGIDB}:Inhibitor", # Growth Inhibitor "ic50": f"{DGIDB}:inhibitor", "inhibitor": f"{DGIDB}:inhibitor", - "interacts_with": f"{DRUGBANK}:target", # maps to biolink:physically_interacts_with + "interacts_with": f"{DRUGBANK}:target", # Where does this predicate come from? Possiblely needs to be modified to RO:0002436 "inverse_agonist": f"{DGIDB}:inverse_agonist", "ka": f"RO:0002436", "kact": f"RO:0002436", # is this a miss type of kcat? From 766c5b75dff428030bb2820547c1a3fb1521d248 Mon Sep 17 00:00:00 2001 From: eKathleenCarter <163005214+eKathleenCarter@users.noreply.github.com> Date: Tue, 16 Jul 2024 12:42:45 -0400 Subject: [PATCH 3/4] Update predicates.py forgot to revert changes for interacts_with. Will keep it unmodified until further clarification. --- Common/predicates.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Common/predicates.py b/Common/predicates.py index 5fe519ef..966247cf 100644 --- a/Common/predicates.py +++ b/Common/predicates.py @@ -22,7 +22,7 @@ "gi50": f"{DGIDB}:Inhibitor", # Growth Inhibitor "ic50": f"{DGIDB}:inhibitor", "inhibitor": f"{DGIDB}:inhibitor", - "interacts_with": f"{DRUGBANK}:target", # Where does this predicate come from? Possiblely needs to be modified to RO:0002436 + "interacts_with": f"RO:0002434", # Where does this predicate come from? Possiblely needs to be modified to RO:0002436 "inverse_agonist": f"{DGIDB}:inverse_agonist", "ka": f"RO:0002436", "kact": f"RO:0002436", # is this a miss type of kcat? From 734cc6e4c42e2315b217e762bb481aff867835e7 Mon Sep 17 00:00:00 2001 From: Evan Morris Date: Fri, 19 Jul 2024 14:32:02 -0400 Subject: [PATCH 4/4] bumping parsing versions for binds refactor parsers --- parsers/BINDING/src/loadBINDINGDB.py | 2 +- parsers/PHAROS/src/loadPHAROS.py | 2 +- parsers/drugcentral/src/loaddrugcentral.py | 2 +- parsers/gtopdb/src/loadGtoPdb.py | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/parsers/BINDING/src/loadBINDINGDB.py b/parsers/BINDING/src/loadBINDINGDB.py index fc97c297..226dd2e5 100644 --- a/parsers/BINDING/src/loadBINDINGDB.py +++ b/parsers/BINDING/src/loadBINDINGDB.py @@ -52,7 +52,7 @@ class BINDINGDBLoader(SourceDataLoader): source_data_url = "https://www.bindingdb.org/rwd/bind/chemsearch/marvin/SDFdownload.jsp?all_download=yes" license = "All data and download files in bindingDB are freely available under a 'Creative Commons BY 3.0' license.'" attribution = 'https://www.bindingdb.org/rwd/bind/info.jsp' - parsing_version = '1.5' + parsing_version = '1.6' def __init__(self, test_mode: bool = False, source_data_dir: str = None): """ diff --git a/parsers/PHAROS/src/loadPHAROS.py b/parsers/PHAROS/src/loadPHAROS.py index 13e11d16..aebe6755 100644 --- a/parsers/PHAROS/src/loadPHAROS.py +++ b/parsers/PHAROS/src/loadPHAROS.py @@ -19,7 +19,7 @@ class PHAROSLoader(SourceDataLoader): source_data_url = "https://pharos.nih.gov/" license = "Data accessed from Pharos and TCRD is publicly available from the primary sources listed above. Please respect their individual licenses regarding proper use and redistribution." attribution = 'Sheils, T., Mathias, S. et al, "TCRD and Pharos 2021: mining the human proteome for disease biology", Nucl. Acids Res., 2021. DOI: 10.1093/nar/gkaa993' - parsing_version: str = '1.6' + parsing_version: str = '1.7' GENE_TO_DISEASE_QUERY: str = """select distinct x.value, d.did, d.name, p.sym, d.dtype, d.score from disease d diff --git a/parsers/drugcentral/src/loaddrugcentral.py b/parsers/drugcentral/src/loaddrugcentral.py index 8e8da236..4a008760 100644 --- a/parsers/drugcentral/src/loaddrugcentral.py +++ b/parsers/drugcentral/src/loaddrugcentral.py @@ -22,7 +22,7 @@ class DrugCentralLoader(SourceDataLoader): source_data_url = "https://drugcentral.org/download" license = "https://drugcentral.org/privacy" attribution = "https://drugcentral.org/about" - parsing_version: str = '1.4' + parsing_version: str = '1.5' omop_relationmap = {'off-label use': 'RO:0002606', # is substance that treats 'reduce risk': 'RO:0002606', # is substance that treats diff --git a/parsers/gtopdb/src/loadGtoPdb.py b/parsers/gtopdb/src/loadGtoPdb.py index d75542cd..71625048 100644 --- a/parsers/gtopdb/src/loadGtoPdb.py +++ b/parsers/gtopdb/src/loadGtoPdb.py @@ -57,7 +57,7 @@ class GtoPdbLoader(SourceDataLoader): source_data_url = "http://www.guidetopharmacology.org/" license = "https://www.guidetopharmacology.org/about.jsp#license" attribution = "https://www.guidetopharmacology.org/citing.jsp" - parsing_version: str = '1.3' + parsing_version: str = '1.4' def __init__(self, test_mode: bool = False, source_data_dir: str = None): """