sorgerlab / indra

INDRA (Integrated Network and Dynamical Reasoning Assembler) is an automated model assembly system interfacing with NLP systems and databases to collect knowledge, and through a process of assembly, produce causal graphs and dynamical models.
http://indra.bio
BSD 2-Clause "Simplified" License
173 stars 65 forks source link

using a identifiers.org namespace that is not embedded in INDRA #1401

Closed guerrerosimonl closed 1 year ago

guerrerosimonl commented 1 year ago

I'm planning to use INDRA in a new project and I would like to use a identifiers.org namespace that is not included in INDRA (for instance, https://registry.identifiers.org/registry/neurolex). I'm using REACH but would be able to switch to another reading system if needed. My goal is to improve the identification of neuroscience terms when processing literature. Is it a straight forward way to include this namespace?

bgyori commented 1 year ago

Hi @guerrerosimonl, the process for extending each reading system, whether Reach or some other one is distinct from extending INDRA. For Reach, you can add new lexical resources by extending the following module: https://github.com/clulab/reach/tree/master/bioresources, you will see a short README there where I wrote some instructions on how to do this. Given changes to the Reach resources, you can rebuild it locally and use it for reaching.

As for INDRA, to some extent, it will "just work" with any identifiers.org/bioregistry.io namespace. Except, in order to do name normalization, automated mapping to other namespaces, and recognition of ontological relationships, a new namespace would ideally be added to the INDRA BioOntology Graph. This is constructed in this file: https://github.com/sorgerlab/indra/blob/master/indra/ontology/bio/ontology.py, and can be extended by adding nodes and edges corresponding to each new resource.

If I can help more hands on, we can set up a meeting sometime.

guerrerosimonl commented 1 year ago

Great, clear! I'll work on it and I'll keep you posted. Closing for now!