Object-oriented software for dynamic flux-balance simulations.

Project description

This project provides an object-oriented software package for dynamic flux-balance analysis (DFBA) simulations using implementations of the direct method or Algorithm 1 described in the paper Harwood et al., 2016. The main algorithms for solving embedded LP problems are written in C++ and use the GNU Linear Programming Kit (GLPK) and the Suite of Nonlinear and Differential/Algebraic Equation Solvers (SUNDIALS) CVODE or IDA. Extension modules to cobrapy are provided for easy generation and simulation of DFBA models.

Installation

Currently, we do not provide Python wheels for this package and therefore Installing from source is a bit more involved. The quickest way to run the software is from the provided Docker image:

docker run --rm -it davidtourigny/dfba:latest

Installing from source

Currently this package is compatible with most UNIX-like operating systems. Provided the following Dependencies are installed, the module can be installed from the root of the repository using the command:

pip install .

Dependencies

• A version of Python 3.6 or higher is required

• You need cmake for the build process

• You will need git to clone this repository to access the scripts and build files

• You need a working compiler with C++11 support, for example, by installing build-essential on Debian-derived Linux systems

• GLPK version 4.65 is required or can be installed using build_glpk.sh

• SUNDIALS version 5.0.0 or higher is required or can be installed using build_sundials.sh

• pybind11 is required or can be installed using build_pybind11.sh

Be aware that some of these packages have their own dependencies that must therefore be installed also (e.g. GLPK depends on GMP and pybind11 requires pytest).

Alternatively, a Dockerfile is provided for building a Docker image to run the software from an interactive container. The Docker image can be built in one step by issuing the command:

make build

from the root of this repository. It can then be started using:

make run

Documentation

Documentation for dfba is provided at readthedocs

Authors

• David S. Tourigny

• Moritz E. Beber

• Jorge Carrasco Muriel (visualization and documentation)

Funding

• David S. Tourigny is a Simons Foundation Fellow of the Life Sciences Research Foundation.

Project details

Uploaded source