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.
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 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 gurobi download center.
Now, you can run the unit tests by the following commands:
python3 tests/unit_tests.py
If you have installed gurobi sucesfully then run:
python3 tests/fast_implementation_test.py
Read dingo documentation
You can also have a look at our Google Collab notebook
on how to use dingo
.