dingo is a Python package that analyzes metabolic networks.
It relies on high dimensional sampling with Markov Chain Monte Carlo (MCMC)
methods and fast optimization methods to analyze the possible states of a
metabolic network. To perform MCMC sampling, dingo
relies on the C++
library
volesti, which provides
several algorithms for sampling convex polytopes.
dingo
also performs two standard methods to analyze the flux space of a
metabolic network, namely Flux Balance Analysis and Flux Variability Analysis.
dingo
is part of GeomScale project.
Installation
To load the submodules that dingo uses, run
git submodule update --init
You will need to download and unzip the Boost library:
wget -O boost_1_76_0.tar.bz2 https://boostorg.jfrog.io/artifactory/main/release/1.76.0/source/boost_1_76_0.tar.bz2
tar xjf boost_1_76_0.tar.bz2
rm boost_1_76_0.tar.bz2
Then, you need to install the dependencies for the PySPQR library; for Debian/Ubuntu Linux, run
apt-get install libsuitesparse-dev
To install the Python dependencies, install Poetry. Then, run
poetry shell
poetry install
To exploit the fast implementations of dingo, you have to install the Gurobi solver. Run
pip3 install -i https://pypi.gurobi.com gurobipy
Then, you will need a license. For more information, we refer to the Gurobi download center.
Unit tests
Now, you can run the unit tests by the following commands:
python3 tests/fba.py
python3 tests/full_dimensional.py
python3 tests/max_ball.py
python3 tests/scaling.py
If you have installed Gurobi successfully, then run
python3 tests/fast_implementation_test.py
Documentation
Read the dingo documentation
You can also have a look at our Google Colab notebook
on how to use dingo
.