GECKO#
MATLAB & Python
Reconstruction, simulation and analysis of enzyme-constrained metabolic models (ecModels): a MATLAB toolbox built on RAVEN, and geckopy, a Python port built on cobrapy.
Install#
pip install --pre geckopy
--pre is required: the GECKO 4 releases of geckopy and the releases of raven-toolbox that it depends on are pre-releases. Without --pre, pip installs geckopy 2.0.2, an earlier and unrelated package of the same name.
pip install \
git+https://github.com/CompMetEng/raven-toolbox.git@develop \
git+https://github.com/CompMetEng/geckopy.git@develop
Installs the develop branch of both packages, which is ahead of the latest PyPI release.
git clone --depth=1 https://github.com/CompMetEng/GECKO
Then run GECKOInstaller.install in MATLAB. The clone is the develop branch; --branch <tag> selects a release tag listed on the tags page.
Home → Add-Ons → Get Add-Ons → search "GECKO Toolbox". The Add-On installs a GitHub release; the latest, v3.2.5, is GECKO 3 (see GECKO 3 to GECKO 4). GECKO 4 is a pre-release, installed with git or from a ZIP archive.
Features#
Convert a conventional GEM into an ecModel by bounding reaction rates with enzyme kcat and abundance.
Constrain individual enzyme usage with absolute or relative proteomics measurements.
A smaller, faster-simulating ecModel variant for when full proteome coverage is not needed.
Quick start#
from geckopy import ModelAdapter, load_ec_model
# load a previously built ecModel from a project folder
adapter = ModelAdapter.from_folder("path/to/project")
model = load_ec_model("ecYeastGEM.yml", adapter)
# set growth as the objective
model.objective = "r_2111"
# run FBA -- simulation comes from cobrapy, unchanged
sol = model.optimize()
print(f"Growth rate: {sol.objective_value:.4f} h⁻¹")
% load a previously built ecModel from a project folder
ModelAdapterManager.setDefault('path/to/project');
model = loadEcModel('ecYeastGEM.yml');
% set growth as the objective
model = setParam(model, 'obj', 'r_2111', 1);
% run FBA
sol = solveLP(model);
fprintf('Growth rate: %.4f h-1\n', sol.f);
Documentation#
The order of the functions from model construction to analysis, with the alternative paths, as MATLAB and Python diagrams.
Convert a GECKO 3 project and its ecModel to project format 4 with upgradeGECKOproject or geckopy upgrade.
Set up GECKO in MATLAB or geckopy in Python, the solver and Docker for DLKcat.
Corresponding objects, names that differ, functions of one implementation and differences in behaviour.
Citing GECKO#
Publications that use GECKO cite:
Chen, Y., Gustafsson, J., Tafur Rangel, A., Anton, M., Domenzain, I., Kittikunapong, C., Li, F., Yuan, L., Nielsen, J. & Kerkhoven, E. J. Reconstruction, simulation and analysis of enzyme-constrained metabolic models using GECKO Toolbox 3.0. Nature Protocols 19, 629-667 (2024). https://doi.org/10.1038/s41596-023-00931-7
See Citations for the full list, including papers that have used this protocol.
Source code#
GECKO is publicly available under the MIT licence at CompMetEng/GECKO, archived at https://doi.org/10.5281/zenodo.7699818. geckopy, the Python port, is at CompMetEng/geckopy.
Getting help#
Report a bug or request a feature against whichever implementation it concerns; ask a usage question in either repository's Discussions.
Implementation |
Issues |
Discussions |
|---|---|---|
GECKO (MATLAB) |
||
geckopy (Python) |