Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time

Cameo—Computer Aided Metabolic Engineering and Optimization

Join the chat at PyPI License Build Status Coverage Status DOI zenhub binder

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 and strain design methods that targets developers that want to develop new design algorithms and custom analysis workflows. Furthermore, it exposes a high-level API to users that just want to compute promising strain designs.

Curious? Head over to and give it a try.

Please cite if you've used cameo in a scientific publication.


Use pip to install cameo from PyPI.

$ pip install cameo

In case you downloaded or cloned the source code from GitHub or your own fork, you can run the following to install cameo for development.

$ pip install -e <path-to-cameo-repo>  # recommended

You might need to run these commands with administrative privileges if you're not using a virtual environment (using sudo for example). Please check the documentation for further details.

Documentation and Examples

Documentation is available on Numerous Jupyter notebooks provide examples and tutorials and also form part of the documentation. They are also availabe in executable form on ( Furthermore, course materials for a two day cell factory engineering course are available here.

High-level API (for users)

Compute strain engineering strategies for a desired product in a number of host organisms using the high-level interface (runtime is on the order of hours).

from cameo.api import design


The high-level API can also be called from the command line.

$ cameo design vanillin

For more information run

$ cameo --help

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(
ko = GeneKnockoutOptimization(model=model, objective_function=obj), 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 ="vanillin")



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