Methods for using the GECKO model with cobrapy

geckopy, data-integration, enzyme-constraints, kinetics, matlab, proteomics, systems-biology, toolbox
pip install geckopy==1.3.2



Current Version Build Status PyPI Version Documentation Status Join the chat at


The GECKO toolbox is a Matlab/Python package for enhancing a Genome-scale model to account for Enzyme Constraints, using Kinetics and Omics. It is the companion software to this publication, and it has two main parts:

  • geckomat: Matlab+Python scripts to fetch online data and build/simulate enzyme-constrained models.
  • geckopy: a Python package which can be used with cobrapy to obtain a ecYeastGEM model object, optionally adjusted for provided proteomics data.

Last update: 2018-10-12

This repository is administered by Benjamin J. Sanchez (@BenjaSanchez), Division of Systems and Synthetic Biology, Department of Biology and Biological Engineering, Chalmers University of Technology.

geckomat: Building enzyme-constrained models

Required software - Python module

Required software - Matlab module


  • For creating an enzyme constrained model:
    • Update the following data files in /databases with your organism infomation:
      • databases/chemostatData.tsv: Chemostat data for estimating GAM (optional).
      • databases/manual_data.txt: Kcat data from eventual manual curations (optional).
      • databases/prot_abundance.txt: Protein abundance Data from Pax-DB.
      • databases/ Gene-proteins data from uniprot.
    • Adapt the following functions in /geckomat to your organism:
      • geckomat/get_enzyme_data/preprocessModel.m
      • geckomat/change_model/manualModifications.m (optional)
      • geckomat/change_model/removeIncorrectPathways.m
      • geckomat/limit_proteins/sumBioMass.m (If chemostat data is provided)
      • geckomat/limit_proteins/scaleBioMass.m (If chemostat data is provided)
      • geckomat/kcat_sensitivity_analysis/changeMedia_batch.m
    • Run geckomat/get_enzyme_data/updateDatabases.m to update ProtDatabase.mat.
    • Run geckomat/enhanceGEM.m with your metabolic model as input.
  • For performing simulations with an enzyme-constrained model: Enzyme-constrained models can be used as any other metabolic model, with toolboxes such as COBRA or RAVEN. For more information on rxn/met naming convention, see the supporting information of Sanchez et al. (2017)

geckopy: Integrating proteomic data to ecYeastGEM

If all you need is the ecYeastGEM model to use together with cobrapy you can use the geckopy Python package.

Required software

  • Python 2.7, 3.4, 3.5 or 3.6
  • cobrapy


pip install geckopy


from geckopy import GeckoModel
import pandas
some_measurements = pandas.Series({'P00549': 0.1, 'P31373': 0.1, 'P31382': 0.1})
model = GeckoModel('multi-pool')


  • Benjamin J. Sanchez (@BenjaSanchez), Chalmers University of Technology, Gothenburg Sweden
  • Ivan Domenzain (@IVANDOMENZAIN), Chalmers University of Technology, Gothenburg Sweden
  • Moritz Emanuel Beber (@Midnighter), Danish Technical University, Lyngby Denmark
  • Henning Redestig (@hredestig), Danish Technical University, Lyngby Denmark
  • Cheng Zhang, Science for Life Laboratory, KTH - Royal Institute of Technology, Stockholm Sweden