-
Notifications
You must be signed in to change notification settings - Fork 2
Node Normalizer
Node normalization takes a CURIE, and returns:
- The preferred CURIE for this entity
- All other known equivalent identifiers for the entity
- Semantic types for the entity as defined by the Biolink Model
The data currently served by Node Normalization is created by the prototype project Babel, which attempts to find identifier equivalences, and makes sure that CURIE prefixes are BioLink Model compliant. The NodeNormalization service, however, is independent of Babel and as improved identifier equivalence tools are developed, their results can be easily incorporated.
The Node Normalizer contains both TRAPI and non-TRAPI interfaces. The simplest usage is to send a curie (or a list of curies to the /get_normalized_nodes
endpoint. There are both GET and POST versions of this function (Note the use of the version number in the path.
This version will change over time. The current version, as of Sep 2023, is 1.3).
CURL Example:
curl -X 'GET' \
'https://nodenormalization-sri.renci.org/1.3/get_normalized_nodes?curie=MESH%3AD014867' \
-H 'accept: application/json'
Response:
{"MESH:D014867":
{"id":
{"identifier":"PUBCHEM.COMPOUND:22247451","label":"Hydron;hydroxide"},
"equivalent_identifiers":[
{"identifier":"PUBCHEM.COMPOUND:22247451","label":"Hydron;hydroxide"},
{"identifier":"PUBCHEM.COMPOUND:962","label":"Water"},
{"identifier":"CHEMBL.COMPOUND:CHEMBL1098659","label":"WATER"},
{"identifier":"UNII:059QF0KO0R"},
{"identifier":"CHEBI:15377","label":"water"},
{"identifier":"DRUGBANK:DB09145"},
{"identifier":"MESH:D014867","label":"Water"},
{"identifier":"HMDB:HMDB0002111"},
{"identifier":"KEGG.COMPOUND:C00001","label":"H2O"},
{"identifier":"INCHIKEY:IKBQPNVYXHKVJS-LVZFUZTISA-N"}],
"type":["biolink:ChemicalSubstance",
"biolink:Entity",
"biolink:NamedThing",
"biolink:BiologicalEntity",
"biolink:MolecularEntity"]
}
}
For examples of service usage, see the example notebook.
Nodenormalizer runs as a pair of docker containers, one running a redis-server, and one running the webserver. Details for standing up these docker containers, loading them with data, and deploying them is found at the README file on the github repository
For reporting or reviewing issues related to Node Normalization, visit the Github Issues.
- Live Interface https://nodenormalization-sri.renci.org/1.3/docs
- Github Repository https://github.com/TranslatorSRI/NodeNormalization
- SmartAPI Registry http://smart-api.info/registry?q=95b84739a360f89aff4ea1364c2ac242