Skip to content

Commit

Permalink
Merge pull request #251 from RobokopU24/signor_development_1
Browse files Browse the repository at this point in the history
SIGNOR 3.0 parser. Updated to map SIGNOR phenotypes to GO terms when …
  • Loading branch information
EvanDietzMorris authored Dec 23, 2024
2 parents 502581d + 32fee4c commit b5ab1b6
Show file tree
Hide file tree
Showing 7 changed files with 803 additions and 0 deletions.
2 changes: 2 additions & 0 deletions Common/data_sources.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
REACTOME = 'Reactome'
SCENT = 'Scent'
SGD = 'SGD'
SIGNOR = 'SIGNOR'
HUMAN_STRING = 'STRING-DB-Human'
TEXT_MINING_KP = 'textminingkp'
UBERGRAPH_NONREDUNDANT = 'UbergraphNonredundant'
Expand Down Expand Up @@ -83,6 +84,7 @@
REACTOME: ("parsers.Reactome.src.loadReactome", "ReactomeLoader"),
SCENT: ("parsers.scent.src.loadScent", "ScentLoader"),
SGD: ("parsers.SGD.src.loadSGD", "SGDLoader"),
SIGNOR: ("parsers.SIGNOR.src.loadSIGNOR", "SIGNORLoader"),
TEXT_MINING_KP: ("parsers.textminingkp.src.loadTMKP", "TMKPLoader"),
UBERGRAPH_NONREDUNDANT: ("parsers.UberGraph.src.loadUG", "UGLoader"),
UBERGRAPH_REDUNDANT: ("parsers.UberGraph.src.loadUG", "UGRedundantLoader"),
Expand Down
1 change: 1 addition & 0 deletions Common/prefixes.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@
ORPHANET='ORPHANET'
PUBCHEM_COMPOUND='PUBCHEM.COMPOUND'
PUBMED='PMID'
RNACENTRAL='RNACENTRAL'
UBERON='UBERON'
UNIPROTKB='UniProtKB'
UMLS='UMLS'
9 changes: 9 additions & 0 deletions graph_specs/signor-graph-spec.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
graphs:

- graph_id: SIGNOR
graph_name: 'SIGNOR 3.0: The SIGnaling Network Open Resource'
graph_description: 'SIGNOR is a repository of manually annotated causal relationships between human proteins, chemicals of biological relevance, stimuli and phenotypes.'
graph_url: https://signor.uniroma2.it
output_format: neo4j
sources:
- source_id: SIGNOR
487 changes: 487 additions & 0 deletions parsers/SIGNOR/src/loadSIGNOR.py

Large diffs are not rendered by default.

223 changes: 223 additions & 0 deletions parsers/SIGNOR/src/signor_mechanism_predicate_mapping.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,223 @@
from Common.biolink_constants import *

ptm_dict = {
"acetylation": "increased",
"ADP-ribosylation": "increased",
"carboxylation": "increased",
"deacetylation": "decreased",
"degradation": "increased", # cleavage
"deglycosylation": "decreased",
"demethylation": "decreased",
"dephosphorylation": "decreased",
"desumoylation": "decreased",
"deubiquitination": "decreased",
"glycosylation": "increased",
"hydroxylation": "increased",
"lipidation": "increased",
"methylation": "increased",
"monoubiquitination": "increased",
"neddylation": "increased",
"oxidation": "increased",
"palmitoylation": "increased",
"phosphorylation": "increased",
"polyubiquitination": "increased",
"s-nitrosylation": "increased",
"sumoylation": "increased",
"trimethylation": "increased",
"tyrosination": "increased",
"ubiquitination": "increased"
}

mechanism_map = {
"binding": {
"predicate": f"RO:0002436", # directly_physically_interacts_with
},

"catalytic activity": {
"predicate": f"RO:0002327", # catalyzes
},

"chemical activation": {
"edge_properties": {
CAUSAL_MECHANISM_QUALIFIER: "chemical activation"
}
},

"chemical inhibition": {
"edge_properties": {
CAUSAL_MECHANISM_QUALIFIER: "chemical inhibition"
}
},

"chemical modification": {
"predicate": f"biolink:affects",
"edge_properties": {
QUALIFIED_PREDICATE: f"RO:0003303", # causes
OBJECT_ASPECT_QUALIFIER: "chemical modification",
}
},
"destabilization": {
"predicate": f"biolink:affects",
"edge_properties": {
QUALIFIED_PREDICATE: "RO:0003303",
OBJECT_DIRECTION_QUALIFIER: "decreased",
OBJECT_ASPECT_QUALIFIER: "stability"
}
},

# This probably needs to be a node property. "is_a"
"gtpase - activating protein": {
},

# This probably needs to be a node property.
"guanine nucleotide exchange factor": {
},

"post transcriptional modification": {
"predicate": f"biolink:affects",
"edge_properties": {
QUALIFIED_PREDICATE: "RO:0003303",
OBJECT_ASPECT_QUALIFIER: "post transcriptional modification"
}
},

"post translational modification": {
"predicate": f"biolink:affects",
"edge_properties": {
QUALIFIED_PREDICATE: "RO:0003303",
OBJECT_ASPECT_QUALIFIER: "post translation modification"
}
},

# new predicate?
"precursor of": {
},

"relocalization": {
"predicate": f"biolink:affects",
"edge_properties": {
QUALIFIED_PREDICATE: "RO:0003303",
OBJECT_ASPECT_QUALIFIER: "relocation"
}
},

"small molecule catalysis": {
"predicate": "RO:0002327", # catalyses
},

"transcriptional regulation": {
"predicate": f"biolink:affects",
"edge_properties": {
QUALIFIED_PREDICATE: "RO:0003303",
CAUSAL_MECHANISM_QUALIFIER: "transcriptional_regulation"
}
},

"translation regulation": {
"predicate": f"biolink:affects",
"edge_properties": {
OBJECT_ASPECT_QUALIFIER: "translation"
}
},

}

# Effect to Predicate Mapping
effect_mapping = {
"form complex": {
"biolink:in_complex_with": {},
"RO:0002436": {}
},

"down-regulates": {
"RO:0002448": {
OBJECT_DIRECTION_QUALIFIER: "downregulates"
}
},

"down-regulates activity": {
"RO:0002448": {
OBJECT_DIRECTION_QUALIFIER: "downregulates",
OBJECT_ASPECT_QUALIFIER: "activity"
}
},

"down-regulates quantity": {
"RO:0002448": {
OBJECT_DIRECTION_QUALIFIER: "downregulates",
OBJECT_ASPECT_QUALIFIER: "abundance"
}
},

"down-regulates quantity by destabilization": {
"RO:0002448": {
OBJECT_DIRECTION_QUALIFIER: "downregulates",
OBJECT_ASPECT_QUALIFIER: "abundance"
},

"biolink:affects": {
QUALIFIED_PREDICATE: "RO:0003303",
OBJECT_DIRECTION_QUALIFIER: "decreased",
OBJECT_ASPECT_QUALIFIER: "stability"
}
},

"down-regulates quantity by repression": {
"RO:0002448": {
OBJECT_DIRECTION_QUALIFIER: "downregulates",
OBJECT_ASPECT_QUALIFIER: "abundance"
},

"biolink:affects": {
QUALIFIED_PREDICATE: "RO:0003303",
OBJECT_DIRECTION_QUALIFIER: "decreased",
OBJECT_ASPECT_QUALIFIER: "expression"
}
},

"up-regulates": {
"RO:0002448": {
OBJECT_DIRECTION_QUALIFIER: "upregulates"
}
},

"up-regulates activity": {
"RO:0002448": {
OBJECT_DIRECTION_QUALIFIER: "upregulates",
OBJECT_ASPECT_QUALIFIER: "activity"
}
},

"up-regulates quantity": {
"RO:0002448": {
OBJECT_DIRECTION_QUALIFIER: "upregulates",
OBJECT_ASPECT_QUALIFIER: "abundance"
}
},

"up-regulates quantity by stabilization": {
"RO:0002448": {
OBJECT_DIRECTION_QUALIFIER: "upregulates",
OBJECT_ASPECT_QUALIFIER: "abundance"
},

"biolink:affects": {
QUALIFIED_PREDICATE: "RO:0003303",
OBJECT_DIRECTION_QUALIFIER: "increased",
OBJECT_ASPECT_QUALIFIER: "stability"
}
},

"up-regulates quantity by expression": {
"RO:0002448": {
OBJECT_DIRECTION_QUALIFIER: "upregulates",
OBJECT_ASPECT_QUALIFIER: "abundance"
},

"biolink:affects": {
QUALIFIED_PREDICATE: "RO:0003303",
OBJECT_DIRECTION_QUALIFIER: "increased",
OBJECT_ASPECT_QUALIFIER: "expression"
}
}
}
80 changes: 80 additions & 0 deletions parsers/SIGNOR/src/signor_predicate_mapping.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
PREDICATE_MAPPING = {
"down-regulates":{
"predicate":"biolink:regulates",
"qualified_predicate":"",
"object_direction_qualifier":"downregulated",
"object_aspect_qualifier":"",
},
"up-regulates quantity":{
"predicate":"biolink:regulates",
"qualified_predicate":"biolink:causes",
"object_direction_qualifier":"increased",
"object_aspect_qualifier":"abundance",
},
"down-regulates quantity by repression":{
"predicate":"biolink:regulates",
"qualified_predicate":"biolink:causes",
"object_direction_qualifier":"decreased",
"object_aspect_qualifier":"expression",
},
"up-regulates":{
"predicate":"biolink:regulates",
"qualified_predicate":"",
"object_direction_qualifier":"upregulated",
"object_aspect_qualifier":"",
},
"down-regulates quantity by destabilization":{
"predicate":"biolink:regulates",
"qualified_predicate":"biolink:causes",
"object_direction_qualifier":"decreased",
"object_aspect_qualifier":"stability",
},
"up-regulates quantity by expression":{
"predicate":"biolink:regulates",
"qualified_predicate":"biolink:causes",
"object_direction_qualifier":"increased",
"object_aspect_qualifier":"expression",
},
"down-regulates quantity":{
"predicate":"biolink:regulates",
"qualified_predicate":"biolink:causes",
"object_direction_qualifier":"decreased",
"object_aspect_qualifier":"abundance",
},
"up-regulates activity":{
"predicate":"biolink:regulates",
"qualified_predicate":"biolink:causes",
"object_direction_qualifier":"increased",
"object_aspect_qualifier":"activity",
},
"down-regulates activity":{
"predicate":"biolink:regulates",
"qualified_predicate":"biolink:causes",
"object_direction_qualifier":"decreased",
"object_aspect_qualifier":"activity",
},
"form complex":{
"predicate":"biolink:in_complex_with",
"qualified_predicate":"",
"object_direction_qualifier":"",
"object_aspect_qualifier":"",
},
"up-regulates quantity by stabilization":{
"predicate":"biolink:regulates",
"qualified_predicate":"biolink:causes",
"object_direction_qualifier":"increased",
"object_aspect_qualifier":"stability",
},
"down-regulates quantity by repression":{
"predicate":"biolink:regulates",
"qualified_predicate":"biolink:causes",
"object_direction_qualifier":"decreased",
"object_aspect_qualifier":"expression",
},
"unknown":{
"predicate":"biolink:regulates",
"qualified_predicate":"",
"object_direction_qualifier":"",
"object_aspect_qualifier":"",
}
}
1 change: 1 addition & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
pandas==2.2.2
requests==2.32.3
requests-toolbelt>=1.0.0
pytest==8.2.0
robokop-genetics==0.5.0
# intermine is on pypi but as of 6/23 it's broken for python 3.10+, this fork fixes the issue
Expand Down

0 comments on commit b5ab1b6

Please sign in to comment.