INDRA v1.18.0
Package structure and dependencies
- Starting with this release, INDRA supports Python 3.6+ only.
- The live curation service for the World Modelers use case is now in a separate repository at https://github.com/indralab/indra_wm_service.
- New dependencies for this release include
obonet
,tqdm
andpybiopax
. - Pyjnius is no longer a necessary requirement for any INDRA module (though it can still be optionally used for local JAR-based reading with Eidos and Reach).
Core assembly modules
- A major change in the current release is the introduction of the
indra.ontology
module which replaces theindra.preassembler.hierarchy_manager
module, for more details, see #1100. - New BioOntology at
indra.ontology.bio
which implements naming, identifier mapping and hierarchical relationships among 2.1 million relevant entities (up from 250k in the previous release). The BioOntology also subsumes the old cellular component hierarchy, activity hierarchy, and modification hierarchy, which has now been removed. - New WorldOntology at
indra.ontology.world
which replaces multiple reader-specific ontologies for the WorldModelers use case. - New ontology web service in
indra.ontology.app
which allows using the IndraOntology as a service for ID mapping, isa/partof queries, name lookups, etc. - New VirtualOntology
indra.ontology.virtual
which acts as a client for the ontology web service. - The name standardization and grounding standardization code has been reimplemented to use the IndraOntology, and is now under the
indra.ontology.standardize
module with significantly extended mapping capabilities, and many new functions. - The Preassembler has been adapted to use the IndraOntology and is extended with new options in
indra.preassembler
. - The
indra.preassembler.ontology_mapper
module along with a host of other scripts for making hierarchies (all replaced by the new IndraOntology) have been deprecated and removed. - Improved grounding mapping and disambiguation logic when multiple texts are available for an agent in
indra.preassembler.grounding_mapper
. - Many extensions to grounding mapping resources in
indra.resources.grounding
. - Bug fixes in
indra.pipeline
for handling some corner cases.
Knowledge sources
- With the relase of PyBioPAX (https://github.com/indralab/pybiopax), the BioPAX processor has been fully reimplemented, and is now a pure-Python module that no longer requires
pyjnius
to operate. Seeindra.sources.biopax
. - New API and processor for the Comparative Toxicogenomics Database (CTD) at
indra.sources.ctd
. - Improved extraction of grounding from PyBEL models in
indra.sources.bel
. - New API and processor for the DrugBank database at
indra.sources.drugbank
. - New API and processor for the OmniPath web service at
indra.sources.omnipath
. - New API and processor for Biofactoid at
indra.sources.biofactoid
. - Overhauled API and processor for the Target Affinity Spectrum in
indra.sources.tas
with significantly extended content and improved naming and grounding. - The BEL RDF processor has been deprecated and removed with the PyBEL processor continuing to serve as the entrypoint for processing BEL content in
indra.sources.bel
. - Multiple new biology-oriented endpoints in the Eidos API in
indra.sources.eidos
. - The CWMS RDF processor has been removed in factor of the EKB/XML processor which continues to operate at
indra.sources.cwms
.
Model assemblers
- Extended support for knowledge sources and simplified support for evidence count and source count annotations in the HtmlAssembler in
indra.assemblers.html
. There are also several bug fixes in handling some statement types in this module, as well as improved links out to literature content. - Extended support for knowledge source annotations in the CX assembler in
indra.assemblers.cx
. - Handling negative modification conditions in the EnglishAssembler
indra.assemblers.english
. - Improved signed graph assembly from BEL graphs in
indra.assemblers.pybel
.
Model analysis / explanation
- New dedicated module for causal path finding methods in
indra.explanation.pathfinding
. - Generalized and improved statement checking in all submodules of
indra.explanation.model_checker
with support for open-ended search.
Resources and database clients
- New Taxonomy client in
indra.databases.taxonomy_client
- New DrugBank client in
indra.databases.drugbank_client
- Reimplemented ChEBI client based on OBO in
indra.databases.chebi_client
. - Extended ChEBML client with naming information in
indra.databases.chembl_client
. - Extended LINCS client with more naming and mapping information in
indra.databases.lincs_client
. - The BioGRID client has been removed from
indra.databases.biogrid_client
since it has become redundant withindra.sources.biogrid
. - Support for the PubChem JSON web service endpoint in
indra.databases.pubchem_client
. - The network relevance client has been removed from
indra.databases.relevance_client
since it relied on a web service that is no longer operational. - Many extensions to mapping and naming resources, in particular for chemicals.
Literature clients
- New client for the DART document infrastructure used in the World Modelers use case in
indra.literature.dart
. - Better search by MeSH terms in the PubMed client in
indra.literature.pubmed_client
.
REST API
- The INDRA REST API has been completely reimplemented in a new framework, and has been extended significantly in its functionalities. It also comes with improved Swagger documentation with a public instance
running athttp://api.indra.bio:8000
.