Python compatibility
- This release of INDRA is compatible with Python 3.5+ only and 2.x is not supported anymore.
Package structure, dependencies
- The `protmapper` package is a new dependency which takes over interfacing with UniProt (including file-based access and web service access). Consequently, almost all functionalities of `indra.databases.uniprot_client` and `indra.databases.phosphosite_client`, as well as the core of `indra.preassembler.site_mapper` are now provided by `protmapper`. The overall API of these INDRA modules has not changed, however.
- INDRA is now also available as a Docker image on Dockerhub under
`labsyspharm/indra`, further instructions in the README
- Installation instructions for the Python-Java bridge pyjnius have been updated,
INDRA's Java/Scala based dependencies can now work with versions of Java up to 11.
- The `statements.py` file has been refactored into its own module in
`indra.statements`, the overall API has not changed.
- INDRA's logging is now fully hierarchical and follows the submodule
structure.
Input processors
- CWMS processor in `indra.sources.cwms` can extract temporal and geo-spatial
context.
- Major overhaul of Hume processor in `indra.sources.hume`, supporting latest
JSON-LD format and extracting temporal and geo-spatial context
- An additional JSON-based API and processor is now available for SOFIA in
`indra.sources.sofia`, supporting text reading.
- New input processor for the RLIMS-P reading system in `indra.sources.rlimsp`.
- The INDRA DB REST source in `indra.sources.indra_db_rest` has been refactored
into multiple files and now provides a Processor class-based interface similar
to other input sources.
- More robust handling of invalid identifiers in PyBEL inputs in
`indra.sources.bel`.
- BioPAX input processor in `indra.sources.biopax` now eliminates spurious
duplicate extractions by patterns
- New analysis script is available in `indra.sources.trips` for TRIPS/CWMS
extractions.
Core assembly modules
- Belief engine makes a new Bayesian scorer class available in `indra.belief`
which allows integrating curation directly into belief scores.
- Preassembler in `indra.preassembler` preserves original grounding in addition
to the original entity texts upon Statement deduplication.
- The SiteMapper has been substantially refactored to take its core functionality from the `protmapper` package (https://github.com/indralab/protmapper).
- A new disambiguation tool, DEFT (https://github.com/indralab/deft) is now
integrated into the grounding mapping process in
`indra.preassembler.grounding_mapper`.
- Bug fixes and performance improvements in HierarchyManager in
`indra.preassembler.hierarchy_manager`.
- Bug fixes and performance improvements in OntologyMapper in
`indra.preassembler.ontology_mapper`.
- Assembly pipeline in `indra.tools.assemble_corpus` now supports merging
grounding from multiple evidences at the Statement level, as well as additional
preasssembly functionalities such as evidence flattening.
Tools
- New web service added for real-time curation of Statements with belief
updates, ontology extension, and re-grounding/re-assembly in
`indra.tools.live_curation`.
Output assemblers
- Major overhaul of the PySB Assembler in `indra.assemblers.pysb` to refactor
into multiple files, support individual statement-level policies, and passing
in parameterization from outside.
- CX assembler in `indra.assemblers.cx` supports setting custom network visual
styles.
- Major improvements and many new features in the HTML assembler for curation in
`indra.assemblers.html`, including grouping and ranking of Statements
- Fixes to the SBGN assembly format in `indra.assemblers.sbgn`.
Literature and database clients
- PMC client in `indra.literature.pmc` now supports getting text from NXML
- Protein lengths now available via the UniProt client in
`indra.databases.uniprot_client`
Resources
- All resource files updated to latest version as of 12/1/2018
- New ontology mapping resources for Hume and CWMS
REST API
- Multiple new input and assembly endpoints added to the REST API for Eidos,
CWMS, Sofia, and Hume, ontology mapping, and belief filtering.