Installation#
GECKO is available as a MATLAB toolbox and as the Python package geckopy. Both implement the same procedure and can reconstruct, simulate and analyze the same ecModels: pick whichever fits your existing workflow.
Equipment#
A computer running macOS, Windows or Linux, with an internet connection to reach KEGG, UniProt, PubChem and GitHub. Data from these sources can also be downloaded or reconstructed manually elsewhere, but downloading it directly through GECKO functions is the most convenient route.
The starting point is a conventional constraint-based metabolic model, at genome scale or smaller, in SBML format L3V1 FBCv2. A well-curated model produces a well-performing ecModel, but the procedure works on any valid model, regardless of whether it belongs to a model organism.
Software#
MATLAB version 2019b or above (MathWorks). No additional MathWorks toolboxes are required.
RAVEN toolbox version 2.9.2 or later (repository), which provides the reconstruction functions GECKO builds on, and some of the functions used to simulate and analyze ecModels.
Python 3.11 or above.
geckopy (repository), built on cobrapy for the constraint-based modeling layer and raven-toolbox (the Python port of RAVEN) for model-manipulation primitives and ecModel YAML I/O. Installing geckopy pulls in both dependencies automatically.
Both toolboxes also need a linear-programming solver (see Choosing a solver below) and, for DLKcat, Docker.
RAVEN toolbox / raven-toolbox#
Installation instructions are in the
RAVEN documentation:
the repository is downloaded via git clone, as a ZIP archive from GitHub, or
installed as a MATLAB Add-On. Instructions for installing the recommended
solver Gurobi are in the same page, under
Choosing and configuring a solver.
After finishing installation, run the checks in MATLAB:
checkRaven;
raven-toolbox is a dependency of geckopy and installs automatically with it (see GECKO Toolbox / geckopy below); there is no separate installation step.
GECKO Toolbox / geckopy#
The latest GECKO release installs as a MATLAB Add-On: Home → Add-Ons → Get Add-Ons → search "GECKO Toolbox".
Cloning the repository with git is recommended instead, since it makes
upgrading a git pull rather than a full reinstall:
git clone --depth=1 https://github.com/CompMetEng/GECKO
or download a ZIP archive from the GitHub releases page and extract it to a location with read and write access.
After cloning or extracting, navigate to the GECKO folder in MATLAB and install it, which adds the GECKO subfolders to the MATLAB path:
cd('path/to/GECKO')
GECKOInstaller.install
To remove:
GECKOInstaller.uninstall
Upgrading, with any install method. Run GECKOInstaller.uninstall
first, regardless of how GECKO was installed: it clears the old GECKO
folder from the MATLAB path so a later session does not warn about paths
that no longer exist. Then update (Add-On manager's Check for Updates, a
fresh ZIP extract, or git pull on the main branch) and run
GECKOInstaller.install again.
geckopy and raven-toolbox are both pre-release on PyPI, so --pre is
required:
pip install --pre geckopy
geckopy's dependency on raven-toolbox already names a pre-release specifier,
which opts pip into matching pre-releases for that package too; --pre
alone is enough, raven-toolbox does not need naming separately. To pin the
exact versions of both instead of "whatever's newest":
pip install raven-toolbox==3.0.0b1 geckopy==4.0.0b1
For the development branch, ahead of the latest PyPI release, install from GitHub instead:
pip install \
git+https://github.com/CompMetEng/raven-toolbox.git@develop \
git+https://github.com/CompMetEng/geckopy.git@develop
Verify the install:
python -c "import geckopy; print(geckopy.__version__)"
To remove:
pip uninstall geckopy raven-toolbox
geckopy also installs a geckopy command-line tool, used to scaffold new
ecModel projects and to download UniProt/KEGG data.
Choosing a solver#
Solver |
License |
Good for |
|---|---|---|
Gurobi |
Free academic |
Genome-scale models, sensitivity tuning, large ecModels (recommended) |
SoPlex (SCIP Optimization Suite) |
Open source |
An open-source alternative to Gurobi |
Both MATLAB and Python use the same underlying solvers: MATLAB through RAVEN and the COBRA Toolbox, Python through cobrapy.
Tip
Avoid GLPK GLPK, the default solver of RAVEN, is not recommended for GECKO: ecModels are larger and more numerically demanding than the conventional GEMs GLPK is adequate for. Configure Gurobi or SoPlex before working with an ecModel of genome scale.
Docker#
DLKcat runs in a Docker container. Installation instructions are at docs.docker.com/get-started/get-docker.
Tip
Running DLKcat without Docker
If installing Docker Desktop is difficult, the src/dlkcat-gecko/ folder of
the GECKO repository contains the Python scripts and data needed to run
DLKcat directly from the DLKcat.tsv output of writeDLKcatInput (Python:
write_dlkcat_input).
Tutorial code#
In GECKO/tutorials:
full_ecModel/protocol.mreconstructs and analyzes a tutorial ecModel for Saccharomyces cerevisiae.light_ecModel/protocol.mbuilds a light ecModel of the generic human-GEM.
In geckopy/tutorials:
full_ecModel/protocol.pymirrors the MATLAB full-ecModel tutorial step for step, covering the full pipeline for S. cerevisiae.light_ecModel/protocol.pybuilds a light ecModel from a small 5-reaction demo model (geckopy/examples/ecTestGEM), so it runs in seconds without external data.
Both tutorials, in both languages, generate ecModels suitable only for use within the respective tutorials; the reconstructed models may need additional curation before other use.