Skip to content

gyorilab/mira

Repository files navigation

MIRA

Documentation Status

MIRA is a framework for representing systems using ontology-grounded meta-model templates, and generating various model implementations and exchange formats from these templates. It also implements algorithms for assembling and querying domain knowledge graphs in support of modeling.

Resources

Example notebooks

  • Defining multiple model variants using MIRA Templates: Notebook 1
  • Generating an executable model from MIRA Templates and running simulation: Notebook 2
  • Stratifying and visualizing MIRA models, and exporting as Petri nets: Notebook 3
  • Processing an SBML model from BioModels, visualizing and exporting into Petri nets: Notebook 4
  • Using the MIRA Domain Knowledge Graph REST API: Notebook 5
  • Using the Model REST API to perform various model operations: Notebook 6
  • Using the web client in python that connects to the REST API: Notebook 7
  • Demonstrating MIRA TemplateModel capabilities Notebook 8
  • Rapid construction of DKGs in ASKEM: Notebook 9
  • Implement a masking intervention in a compartmental model to simulate epidemic trajectories under different scenarios: Notebook 10
  • Benchmarking the efficacy of DKG groundings on a set of COVID EPI Models: Notebook 11

Related work

MIRA builds on and generalizes prior work including:

  • EMMAA: A framework for automatically maintaining a set of models surrounding the biology of viral pandemics, cancer, and other disease areas based on new findings as soon as they appear in the literature. Models are automatically analyzed against observations.
  • INDRA: An automated model building system from literature mining, structured databases, and natural language input for molecular biology. INDRA Statements serve as domain-specific instances of MIRA Templates.
  • INDRA CoGEx: A 3*10^7-relation scale domain-specific knowledge graph of biomedicine combining causal mechanisms with ontologies and relations derived from data.
  • INDRA World: A generalization of INDRA to modeling socio-economic systems, using a templated approach representing causal influence, events, and concepts.

Installation

The most recent code and data can be installed directly from GitHub with:

python -m pip install git+https://github.com/gyorilab/mira.git

To install in development mode, use the following:

git clone git+https://github.com/gyorilab/mira.git
cd mira
python -m pip install -e .

If you wanted to install extra dependencies that aren't listed under install_requires such as the packages required for running ode simulations, use the following:

python -m pip install -e .[ode]

To install multiple dependency blocks listed in setup.cfg, run the following:

python -m pip install -e .[ode,docs]

Extra dependency blocks/packages required for modules

Module Dependency
mira/modeling/ode.py ode
mira/modeling/viz.py viz
mira/sources/biomodels.py biomodels
mira/sources/sbml/processor.py sbml
mira/sources/space_latex.py tests

Documentation

Full documentation can be found here.

Funding

The development of MIRA is funded by the DARPA ASKEM program, grant number HR00112220036.