API reference#
GECKO ships as two implementations that build the same enzyme-constrained metabolic models with the same algorithms:
GECKO: the MATLAB toolbox, built on RAVEN and the COBRA Toolbox. Functions use
camelCasenames.geckopy: the Python implementation, built on cobrapy. Functions use
snake_casenames.
The function help on these pages is extracted directly from the source of each toolbox on the branch tracked by this site, so it stays in sync with the code.
How these pages are organised#
The reference is split into two parallel trees, one per language, each organised by the toolbox's own module layout and each function shown with its full help text:
MATLAB API (GECKO): one page per
srccategory (Build & edit ecModel,Gather kcats,Limit proteins, …).Python API (geckopy): one page per package, mirroring the same categories.
MATLAB vs Python: a third page pairing every function that exists in both, generated at build time from both toolboxes' sources.
Every page opens with a Functions table you can scan, followed by the full help for each function.
To move between the two implementations, use the
MATLAB vs Python table, which pairs every
function that exists in both (camelCase ↔ snake_case) and links to both
references.
How the two compare#
GECKO and geckopy build the same models with the same algorithms, and the two implementations are developed together: most functions exist on both sides, and the few that exist on only one are tracked on the MATLAB vs Python page in both directions, not just as gaps in geckopy. The differences between the two implementations are in calling convention, not in what the functions compute:
GECKO (MATLAB) |
geckopy (Python) |
|
|---|---|---|
Naming |
|
|
Returns |
multiple outputs |
one return value; the model is often mutated in place |
Indexing |
1-based |
0-based |
Missing data |
often a silent default |
usually raises |
Note
A note on the two docstring styles
geckopy's docstrings are NumPy-style, so they render as structured
parameter/return tables. GECKO's MATLAB help blocks use the toolbox's own
Input: / Output: convention, so they render as faithful help text rather
than typed tables. The content is the same; only the formatting differs.
Use the navigation to browse either tree, or start from the MATLAB vs Python table.