indra_db
indra_db copied to clipboard
A Database-based knowledge back-end built on and for INDRA. The INDRA Database is a service that can be set up by any user with their own content and knowledge access. Our implementation of the databa...
INDRA DB

The INDRA (Integrated Network and Dynamical Reasoning Assembler) Database is a framework for creating, maintaining, and accessing a database of content, readings, and statements. This implementation is currently designed to work primarily with Amazon Web Services RDS running Postrgres 9+. Used as a backend to INDRA, the INDRA Database provides a systematic way of scaling the knowledge acquired from other databases, reading, and manual input, and puts that knowledge at your fingertips through a direct Python client and a REST api.
Knowledge sources
The INDRA Database currently integrates and distills knowledge from several different sources, both biology-focused natural language processing systems and other pre-existing databases
Daily Readers
We have read all available content, and every day we run the following readers:
we read all new content with the following readers:
we read a limited subset of new content with the following readers:
on the latest content drawn from:
- PubMed - ~19 million abstracts and ~29 million titles
- PubMed Central - ~2.7 million fulltext
- Elsevier - ~0.7 million fulltext (requires special access)
Other Readers
We also include more or less static content extracted from the following readers:
Other Databases
We include the information from these pre-existing databases:
- Pathway Commons database
- BEL Large Corpus
- SIGNOR
- BioGRID
- TAS
- TRRUST
- PhosphoSitePlus
- Causal Biological Networks Database
- VirHostNet
- CTD
- Phospho.ELM
- DrugBank
- CONIB
- CRoG
- DGI
These databases are retrieved primarily using the tools in indra.sources
. The
statements extracted from all of these sources are stored and updated in the
database.
Knowledge Assembly
The INDRA Database uses the powerful internal assembly tools available in INDRA but implemented for large-scale incremental assembly. The resulting corpus of cleaned and de-duplicated statements, each with fully maintained provenance, is the primary product of the database.
For more details on the internal assembly process of INDRA, see the INDRA documentation.
Access
The content in the database can be accessed by those that created it using the
indra_db.client
submodule. This repo also implements a REST API which can be
used by those without direct acccess to the database. For access to our REST
API, please contact the authors.
Installation
The INDRA database only works for Python 3.6+, though some parts are still compatible with 3.5.
First, install INDRA,
then simply clone this repo, and make sure that it is visible in your
PYTHONPATH
.
Funding
The development of INDRA DB is funded under the DARPA Communicating with Computers program (ARO grant W911NF-15-1-0544).