Easy strain design using a high-level interface¶
If you’re running this notebook on
try.cameo.bio, things might run very slow
due to our inability to provide access to the
CPLEX
solver on a public webserver. Furthermore, Jupyter kernels might
crash and restart due to memory limitations on the server. To avoid
that, we encourage the users to shutdown previously opened notebooks.
You can do from the Home
page that by selecting the notebooks
highlighted in green and pressing the Shutdown
button on the top
of the menu.
Users primarily interested in using cameo as a tool for enumerating
metabolic engineering strategies have access to cameo’s advanced
programming interface via cameo.api
that provides access to
potential products (cameo.api.products
), host organisms
(cameo.api.hosts
) and a configurable design function
(cameo.api.design
). Running cameo.api.design
requires only
minimal input and will run the following workflow.
Import the advanced interface.
from cameo import api
Searching for products¶
Search by trivial name.
api.products.search('caffeine')
InChI | SMILES | charge | formula | mass | name | source | search_rank | |
---|---|---|---|---|---|---|---|---|
MNXM680 | InChI=1S/C8H10N4O2/c1-10-4-9-6-5(10)7(13)12(3)... | CN1C=NC2=C1C(=O)N(C)C(=O)N2C | 0 | C8H10N4O2 | 194.1906 | caffeine | chebi:27732 | 0 |
Search by ChEBI ID.
api.products.search('chebi:27732')
InChI | SMILES | charge | formula | mass | name | source | search_rank | |
---|---|---|---|---|---|---|---|---|
MNXM680 | InChI=1S/C8H10N4O2/c1-10-4-9-6-5(10)7(13)12(3)... | CN1C=NC2=C1C(=O)N(C)C(=O)N2C | 0 | C8H10N4O2 | 194.1906 | caffeine | chebi:27732 | 0 |
Host organisms¶
Currently the following host organisms and respective models are available in cameo. More hosts and models will be added in the future (please get in touch with us if you’d like to get a particular host organism included).
for host in api.hosts:
for model in host.models:
print(host.name, model.id)
Escherichia coli iJO1366
Saccharomyces cerevisiae iMM904
Computing strain engineering strategies¶
For demonstration purposes, we’ll set a few options to limit the computational time. Also we’ll create a multiprocessing view to take advantage of multicore CPUs (strain design algorithms will be run in parallel for individually predicted heterologous pathways).
from cameo.parallel import MultiprocessingView
mp_view = MultiprocessingView()
Limit the number of predicted heterlogous pathways to 4.
api.design.options.max_pathway_predictions = 4
Set a time limit of 30 minutes on individual heuristic optimizations.
api.design.options.heuristic_optimization_timeout = 30
report = api.design(product='vanillin', view=mp_view)
Id | Name | Formula |
---|---|---|
MNXM754 | vanillin | C8H8O3 |
equation | lower_bound | upper_bound | |
---|---|---|---|
MNXR5340 | H(+) + NADH + O2 + vanillate <=> H2O + 3,4-dih... | -1000 | 1000 |
MNXR5336 | 2.0 H(+) + NADH + vanillate <=> H2O + vanillin... | -1000 | 1000 |
MNXR2795 | S-adenosyl-L-methionine + glycine <=> H(+) + S... | -1000 | 1000 |
MNXR68718 | H2O + 3,4-dihydroxybenzoate <=> 3-dehydroshiki... | -1000 | 1000 |
Max flux: 4.29196
equation | lower_bound | upper_bound | |
---|---|---|---|
MNXR5340 | H(+) + NADH + O2 + vanillate <=> H2O + 3,4-dih... | -1000 | 1000 |
MNXR5336 | 2.0 H(+) + NADH + vanillate <=> H2O + vanillin... | -1000 | 1000 |
MNXR84169 | (6R)-5,10-methylenetetrahydrofolate + glycine ... | -1000 | 1000 |
MNXR68718 | H2O + 3,4-dihydroxybenzoate <=> 3-dehydroshiki... | -1000 | 1000 |
Max flux: 7.28363
equation | lower_bound | upper_bound | |
---|---|---|---|
MNXR5340 | H(+) + NADH + O2 + vanillate <=> H2O + 3,4-dih... | -1000 | 1000 |
MNXR5336 | 2.0 H(+) + NADH + vanillate <=> H2O + vanillin... | -1000 | 1000 |
MNXR68718 | H2O + 3,4-dihydroxybenzoate <=> 3-dehydroshiki... | -1000 | 1000 |
MNXR651 | 2.0 H(+) + NADH + formate <=> H2O + formaldehy... | -1000 | 1000 |
Max flux: 7.58479
equation | lower_bound | upper_bound | |
---|---|---|---|
MNXR5340 | H(+) + NADH + O2 + vanillate <=> H2O + 3,4-dih... | -1000 | 1000 |
MNXR5336 | 2.0 H(+) + NADH + vanillate <=> H2O + vanillin... | -1000 | 1000 |
MNXR230 | H(+) + 4-hydroxybenzoate + O2 + NADPH <=> H2O ... | -1000 | 1000 |
MNXR640 | methanol + NAD(+) <=> H(+) + NADH + formaldehyde | -1000 | 1000 |
<IPython.core.display.Javascript object>
This is the format of your plot grid:
[ (1,1) x1,y1 ] [ (1,2) x2,y2 ]
[ (2,1) x3,y3 ] [ (2,2) x4,y4 ]