Giter Club home page Giter Club logo

cobrame's Introduction

Build_Status License Documentation Docker

COBRAme

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.1101/106559. Note that the model may be edited and updated until it is peer-reviewed and published.

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.

Installation

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

Solving

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

qMINOS

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']

SoPlex

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)

Requirements

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.

cobrame's People

Contributors

aebrahim avatar avsastry avatar laurenceyang33 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.