surajchoubey / dingo

A python library for metabolic networks sampling and analysis

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

unit-tests Chat

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 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.

Unit tests

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

Documentation

Read dingo documentation

You can also have a look at our Google Collab notebook on how to use dingo.

About

A python library for metabolic networks sampling and analysis

License:GNU Lesser General Public License v3.0


Languages

Language:Jupyter Notebook 53.9%Language:Python 32.4%Language:C++ 9.2%Language:Cython 4.4%Language:MATLAB 0.2%