A COBRApy extension for genome-scale models of metabolism and expression (ME-models)
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
cobrame To version 0.0.9 May 21, 2018
docker Update Docker README Jun 5, 2018
docs Removed duplicate 'of' Dec 19, 2018
.gitignore add dependencies to setup Jan 24, 2015
.travis.yml More time for travis builds Nov 20, 2017
LICENSE Create LICENSE Oct 11, 2016
README.rst Update README.rst Jan 11, 2019
setup.py To version 0.0.9 May 21, 2018
tox.ini Mass balance checks and overall improvements Sep 20, 2017
travis_install.sh Travis test against complement Repo/Branch Sep 21, 2017


Build_Status License Documentation Docker


A COBRApy extension for constructing and simulating genome-scale models of metabolism and gene expression (ME-models)

For more information on ME-models and the COBRAme ME-model architecture, see the COBRAme readthedocs.

If using COBRAme or iJL1678b-ME in a publication, please cite: doi:10.1371/journal.pcbi.1006302.

COBRAme with Docker

Docker images are available on DockerHub which contain pre-installed versions COBRAme, the solvers, all dependencies using Python 3.6. Dockerfiles are also available to build Docker containers locally.

The DockerHub images contain a precompiled version the qMINOS solver and SoPlex can additionally be installed if a Docker container is build locally.


  1. clone the repository
  2. run python setup.py develop --user

Build ME-model

A full COBRAme ME-model currently only exists for E. coli K-12 MG1655. See the ECOLIme package for the data and scripts required to build iJL1678b-ME. After installing ECOLIme, iJL1678b-ME can be constructed from scratch by running build_ME_model.py.

Note: ECOLIme and COBRAme are versioned together (i.e. version 0.0.8 of ECOLIme should be used with version 0.0.8 of COBRAme, etc.)


ME-models are inherently ill-scaled and thus require extended precision solvers in to be solved accurately. COBRAme currently supports the use of two such solvers: qMINOS (128-bit precision) and SoPlex (80-bit precision). Both solvers are freely available for academic use. For further examples, refer to solve_demo.ipynb


To install qMINOS for use with COBRAme:

  1. Obtain the qMINOS source code from Prof. Michael A. Saunders at Stanford University
  2. Download and install the solvemepy extension
  3. Once installed, ME-models can be solved using a bisection routine by running the following code:
from qminospy.me1 import ME_NLP1

me_nlp = ME_NLP1(me_model, growth_key='mu')
muopt, hs, xopt, cache = me_nlp.bisectmu(precision=1e-6, mumax=1.5)
me_model.solution.f = me_model.solution.x_dict['biomass_dilution']


To install SoPlex for use with COBRAme:

  1. Download the SoPlex source code from ZIB
  2. Download and install the soplex_cython extension
  3. Once installed, ME-models can be solved using a binary search routine by running the following code:
from cobrame.solve.algorithms import binary_search

binary_search(me_model, min_mu=.1, max_mu=1.5, debug=True, mu_accuracy=1e-6)


COBRAme and its extensions require:

  • Python versions 2.7+/3.5+
  • COBRApy versions <= 0.5.11. We recommend using 0.5.11.
  • Linux is recommended, with a relatively recent glibc. Mac OS X is also supported. Windows has worked in the past, but is not explicitly supported at this time.