High-level interface for users

Users primarily interested in using cameo as a tool for enumerating metabolic engineering strategies have access to cameo’s advanced programming interface via :mod:cameo.api that provides access to potential products (:mod:cameo.api.products), host organisms (:mod:cameo.api.hosts) and a configurable design function (:attr:cameo.api.design). Running :func:cameo.api.design requires only minimal input.

from cameo import api
report = api.design(product='L-serine')
Found 5 compounds that match query 'L-serine'
                     name     formula charge     mass  MNXM53           L-serine     C3H7NO3      0  105.093
MNXM114         L-proline     C5H9NO2      0   115.13
MNXM3635       L-mimosine   C8H10N2O4      0  198.176
MNXM89905      L-allysine    C6H11NO3      0  145.156
MNXM384    L-saccharopine  C11H19N2O6     -1  275.278

                                                       InChI  MNXM53     InChI=1S/C3H7NO3/c4-2(1-5)3(6)7/h2,5H,1,4H2,(H...
MNXM114    InChI=1S/C5H9NO2/c7-5(8)4-2-1-3-6-4/h4,6H,1-3H...
MNXM3635   InChI=1S/C8H10N2O4/c9-5(8(13)14)3-10-2-1-6(11)...
MNXM89905  InChI=1S/C6H11NO3/c7-5(6(9)10)3-1-2-4-8/h4-5H,...
MNXM384    InChI=1S/C11H20N2O6/c12-7(10(16)17)3-1-2-6-13-...

                                                      SMILES       source  MNXM53                             [NH3+][C@@H](CO)C([O-])=O  chebi:33384
MNXM114                           [O-]C(=O)[C@@H]1CCC[NH2+]1  chebi:60039
MNXM3635           [NH3+][C@@H](CN1C=CC(=O)C(O)=C1)C([O-])=O  chebi:29063
MNXM89905                  [H]C(=O)CCC[C@H]([NH3+])C([O-])=O  chebi:58321
MNXM384    [NH3+][C@@H](CCCC[NH2+][C@@H](CCC([O-])=O)C([O...  chebi:57951

           search_rank
MNXM53               0
MNXM114              1
MNXM3635             2
MNXM89905            3
MNXM384              4
Choosing best match (L-serine) ... please interrupt if this is not the desired compound.
/Users/niko/Arbejder/Dev/cameo/cameo/api/products.py:75 SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
<IPython.core.display.Javascript at 0x114c52910>
<IPython.core.display.Javascript at 0x114c52950>
Processing
Escherichia coli
ETA: --:--:--
0%
<IPython.core.display.Javascript at 0x114c52d10>
<IPython.core.display.Javascript at 0x114c52e10>
Processing
iJO1366
ETA: --:--:--
0%
<IPython.core.display.Javascript at 0x11bbcaa90>
<IPython.core.display.Javascript at 0x11bbcaa50>
<IPython.core.display.Javascript at 0x1048f3e50>
<IPython.core.display.Javascript at 0x11aa711d0>
<IPython.core.display.Javascript at 0x11c280cd0>
<IPython.core.display.Javascript at 0x11aa71150>
<IPython.core.display.Javascript at 0x11aa71090>
<IPython.core.display.Javascript at 0x11aa71110>
<IPython.core.display.Javascript at 0x11aa5eed0>
<IPython.core.display.Javascript at 0x11aa5ee90>
<IPython.core.display.Javascript at 0x11aa5ef10>
<IPython.core.display.Javascript at 0x11aa5ef50>
Processing
iMM904
ETA: --:--:--
0%
<IPython.core.display.Javascript at 0x114c52e90>
<IPython.core.display.Javascript at 0x11934d650>
<IPython.core.display.Javascript at 0x125185510>
<IPython.core.display.Javascript at 0x1251852d0>
<IPython.core.display.Javascript at 0x126889f10>
<IPython.core.display.Javascript at 0x1251851d0>
<IPython.core.display.Javascript at 0x125185250>
<IPython.core.display.Javascript at 0x125185190>
<IPython.core.display.Javascript at 0x125172e10>
<IPython.core.display.Javascript at 0x125172050>
<IPython.core.display.Javascript at 0x125185210>
<IPython.core.display.Javascript at 0x125172d90>

IPython notebook

Click here to download this page as an IPython notebook.