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.
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).
A number of examples are available as static (nbviewer.ipython.org) or executable Jupyter (née IPython) notebooks (try.cameo.bio).
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')
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)
Predict heterologous pathways for a desired chemical.
from cameo.strain_design import pathway_prediction
predictor = pathway_prediction.PathwayPredictor(model)
pathways = predictor.run(product="vanillin")
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.