Skip to main content

cameo - computer aided metabolic engineering & optimziation

Project description

Join the chat at https://gitter.im/biosustain/cameo PyPI License Build Status Coverage Status DOI

What is Cameo?

Cameo is a high-level python library developed to aid the strain design process in metabolic engineering projects. The library provides a modular framework of simulation methods, strain design methods, access to models, that targets developers that want custom analysis workflows.

Computationally heavy methods have been parallelized and can be run on a clusters using the IPython parallelization framework (see example and documentation for more details). The default fallback is python’s multiprocessing library.

Furthermore, it exposes a high-level API to users that just want to compute promising strain designs.

You got curious? Head over to try.cameo.bio and give it a try.

Installation

Use pip to install Cameo from PyPI (we recommend doing this inside a virtual environment).

pip install cameo

We highly recommend updating pip beforehand (pip install pip --upgrade).

In case you downloaded the source code, run

pip install -e .  # recommended

while you are in the top level directory. You might need to run these commands with administrative privileges if you’re not using a virtual environment (using sudo for example).

Examples

A number of examples are available as static (nbviewer.ipython.org) or executable Jupyter (née IPython) notebooks (try.cameo.bio).

High-level API (for users)

Compute strain engineering strategies for a desired product in a number of host organisms using the high-level interface.

from cameo.api import design
design(product='L-Serine')

Output

Low-level API (for developers)

Find gene knockout targets using evolutionary computation.

from cameo import models
from cameo.strain_design.heuristic import GeneKnockoutOptimization
from cameo.strain_design.heuristic.objective_functions import biomass_product_coupled_yield

model = models.bigg.e_coli_core
obj = biomass_product_coupled_yield(
    model.reactions.Biomass_Ecoli_core_w_GAM,
    model.reactions.EX_succ_e,
    model.reactions.EX_glc_e)
ko = GeneKnockoutOptimization(model=model, objective_function=obj)
ko.run(max_evaluations=50000, n=1, mutation_rate=0.15, indel_rate=0.185)

Output

Predict heterologous pathways for a desired chemical.

from cameo.strain_design import pathway_prediction
predictor = pathway_prediction.PathwayPredictor(model)
pathways = predictor.run(product="vanillin")

Output

Dependencies

This library depends on:

  • cobrapy for constraint-based modeling
  • optlang for heuristic optimization and mathematical programming

Furthermore, the following dependencies are needed:

  • numpy and scipy for obvious reasons.
  • IPython is needed for parallel computations and notebook interface.
  • bokeh is needed for reporting progress and plotting in the IPython notebook interface.
  • pandas is needed because most functions returns results as pandas DataFrames.
  • inspyred for evolutionary computations.

Contributions

..are very welcome! Please read the guideline for instructions how to contribute.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for cameo, version 0.8.0b1
Filename, size File type Python version Upload date Hashes
Filename, size cameo-0.8.0b1-py2.py3-none-any.whl (24.7 MB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size cameo-0.8.0b1.tar.gz (26.6 MB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page