Skip to main content

CobraBabel: COBRA Model Translator

Project description

Metabolic models are available from many sources and different source systems use different ID namespaces. That makes combining and comparing models from different sources difficult. CobraBabel supports the following source systems:

  1. Virtual Metabolic Human (VMH)
  2. Biochemical, Genetic and Genomic knowledge base (BiGG)
  3. MetaNetX
  4. Kyoto Encyclopedia of Genes and Genomes (KEGG)

Features include:

  • Create a universal model from VMH, BiGG, MetaNetX
  • Get a list of available models from BiGG
  • Create an organism model from VMH, BiGG
  • Get a specific reaction or metabolite from BiGG, KEGG
  • Get a specific enzyme, DNA sequence, or amino acid sequence from KEGG


Use pip to install CobraBabel from PyPI (we recommend doing this inside a virtual environment):

pip install cobrababel

Source systems

CobraBabel uses the data access methods provided by the source systems. The current version of the source system supported by CobraBabel is shown below. If a source system changes its interface, it is possible for CobraBabel to return an error or incorrect data. Additional details on the source systems are in the notes below.

CobraBabel uses web services provided by other organizations which can be offline, the interface can change, or the URL can change. CobraBabel uses these default URLs:

VMH notes

CobraBabel uses the most recent versions of Recon2 and AGORA.

VMH provides a SEED2VMH_translation.csv file which is not the same as the translation table in Supplementary Table 15 in the AGORA paper. Supplementary Table 15 is provided as an Excel workbook which was parsed into two files: (1) vmh_metabolite_xref.tsv and (2) vmh_reaction_xref.tsv which are provided in the “data” folder.

BiGG Notes

CobraBabel uses BiGG API version 2.

Universal metabolites can have more than one formula if different models use a different formula for a metabolite with the same ID (same situation can occur with charge). Currently, CobraBabel blindly picks the first formula in the list of formulae for a universal metabolite.

Universal metabolites have a list of all the compartments where the metabolite is used but a compartment name is not provided. Since different models may use different names for the same compartment ID, when a universal metabolite is added to a model the compartment name is not set.

There is no bulk download of universal metabolites and reactions so creating a universal model is very slow because each metabolite and reaction is downloaded separately.

MetaNetX Notes

CobraBabel uses MNXref Version 2015/09/03.

Some reactions are defined with unspecified stoichiometry coefficients, for example: (2n) MNXM1471 + 1 MNXM3341 = (2n) MNXM1 + 1 MNXM4074 + (2n) MNXM537. Currently, CobraBabel does not include these reactions when creating an universal model.

There are some reactions where there is a BIOMASS metabolite in the reaction definition. But the BIOMASS metabolite is not defined so any reactions with the BIOMASS metabolite are not included in the universal model.

If a reaction has a value in the Source field, there is only one source in the format: source:id. Sources include Rhea (rhea), KEGG (kegg), MetaCyc (metacyc), UniPathway (upa), The Seed (seed), BiGG (bigg), BioPath (biopath), and Reactome (reactome). Set the verbose parameter when calling create_metanetx_universal_model() to show a warning for reactions with an invalid format in the Source field.

There are no compartments so metabolites are defined without a compartment.

There are no names for reactions so the reaction name is set to the reaction ID.

All reactions are defined as bi-directional so the lower and upper bounds are set to the default values (-1000.0, 1000.0) for all reactions.

KEGG Notes

CobraBabel uses the current version of the KEGG API.

Note, there are some limitations on using the KEGG API, most importantly:

Restrictions: KEGG API is provided for academic use by academic users belonging to academic institutions. This service should not be used for bulk data downloads. Please obtain KEGG FTP academic subscription for downloading KEGG data.


When setting OTU representatives in the organism database, there can be variability in which organism is selected when there are multiple equally good matches. For example, in the KEGG database there are two Mycobacterium tuberculosis H37Rv organisms, one with ID “T00015” and one with ID “T02178”. It is random as to which one gets picked as the OTU representative.

A sample OTU representative source file is provided in the “data/otu-reps.tsv” file which was retrieved from the KBase Central Data Model using the all_entities_OTU command.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for cobrababel, version 0.1.1
Filename, size File type Python version Upload date Hashes
Filename, size cobrababel-0.1.1.tar.gz (29.1 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page