Mira

Overview

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.

Target Users:

Mira can be used by modelers or researchers who want to transform or extend an existing model in various ways, to meet the needs of their specific situation.

Features Supported:

Users can use Mira to:

  • Make structural model modifications
  • Do structural model comparison for model selection purposes
  • Extend existing domain knowledge graphs (DKGs) or add new DKGs, for models being applied to new contexts

Resources

Installation and Configuration

GitHub Repository

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 .

The dependencies for the project are listed in the top-level configuration file setup.cfg.

If you wanted to install extra dependencies that aren’t listed under install_requires in setup.cfg, 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.

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

FAQ

Contact Information for Questions