**This is a beta version of MetaNetX/MNXref, MNXref identifiers may not be final**

A short tutorial

The bigg_e_coli_core model is a very simplified metabolic network model of Escherichia coli K12. This toy model is almost identical to the one in Orth et al. (2010). Note that we can only recommend reading this excellent primer as a complement to our hands-on tutorial.

Warming up

  • Reset your session (there is nothing to do if it is your first visit to the site, alternatively "Reset session" can be found in the menu on the left)
  • Pick the bigg_e_coli_core E. coli model from the model and pathway repository:
    1. click on the "Pick from repository" menu on the left
    2. select the model checkbox (writing "coli" in the search box should help you find the model)
    3. press the "Add to my Selection" button
  • You have now the model uploaded in your sandbox (you can always return to it by using the "Summary" menu).
  • MetaNetX.org treats each model (i.e., metabolic network or pathway) as an being constituted of different entities:
    1. chemical compounds (chem)
    2. subcellular compartments (comp)
    3. species (spec): chemical compounds that are assigned to a subcellular compartment
    4. metabolic reactions (reac): reactions that transform species into another
    5. genes or peptides (pept): the two are currently not distinguished, which make more
    6. "enzymes" (enzy): sets of peptides (or genes) linked to a reaction with information on bounds (maximal and minimal bounds) defining the directionality such that the maximum flux can be carried by this reaction with these enzymes
  • Depending on the studied model (GEM or pathway), it may contain biomass production reaction(s) (identified by the identifier "BIOMASS" in the corresponding reaction equation), or uptake or secretion reactions (external/boundary reactions; identified by chemical species associated with the artificial "BOUNDARY" compartment).
  • What are the total number of reactions, chemical compounds, and compartments in the model?
  • This is automatically displayed in the sandbox: #reac=97, #chem=56 and #comp=3. Indeed, a very small model.
  • What is the total number of external (or boundary) reactions?
  • What are the total numbers of reversible or irreversible reactions?
  • How many reactions occur in a single compartment only? What kind of reactions are the remaining reactions? What is their total number?
  • The answers can be found in the BC (Basic Classification) analysis summary, found on the right of the sandbox

Model boundary

  • Restrict the display to external reactions in the reac_list view by typing BOUNDARY in the search field. What can you tell about the growth conditions, i.e. about the "growth medium" of E. coli K12 as modelled by bigg_e_coli_core? What does it mean that some external reactions are unconstrained/unidirectional/bidirectional?
Some answers
  • D-glucose is the sole carbon source that can be consumed with an absolute uptake rate of 10.0 (the negative sign indicates that this boundary reaction proceeds from right to left).
  • Phosphate, ammonium, water, proton, oxygen, and carbon dioxide are available in excess. They can be "freely" exchanged (imported or exported) at the system boundary, as no particular flux constraints are placed on these reactions.
  • The remaining organic compounds (e.g. acetate) occurring in the external compartment can only be exported and thus correspond to possibly secreted metabolites. In other words, they are not present in the medium defined by default.


The bigg_e_coli_core model is a (very) simplified metabolic network.
  • What can you tell about its growth reaction? Is it biologically relevant?
  • What can you tell about the metabolism of sulfur?
  • Identify the growth reaction in the reac_list view by, for example, typing BIOMASS in the search field... What a simplified growth reaction!! Only two amino acids are required for growth: glutamate and glutamine.
  • There are no sulfur compounds in the set of boundary reactions - the sulfur metabolism is completely ignored although sulfur atoms occur in some metabolites, e.g. CoA!


Run the GCR (groups of coupled reactions) and FBA (flux balance analysis) on bigg_e_coli_core model.
  • Does the model grow? What if the flux of biomass production?
Run the GCR and BLO analysis methods. Their outcome strongly depends on the network topology and are extremely helpful to optimize a model
  • Can you identify any reaction correlation groups? How do they relate to the flux distribution?
  • Can you identify any reaction correlation groups that cannot carry a flux in steady state? If so, why?
Run the RKO and PKO analysis methods. Their predictions might be compared with independently acquired experimental results (e.g. gene essentiality) and used to validate the model (this is not directly feasible in web interface, unfortunately).

Model modification

The idea is to create a new model for the anaerobic growth of E. coli K12:
  • Reset the session and re-import the bigg_e_coli_core model, such as all previously made analyses will be erased (thus simplifying the display)
  • Use the "Show/hide columns" button on the right of the reac_list to select "Reac ID:" as a column to be displayed
  • Determine the Reac ID of the boundary reaction of O2 (Answer: mnxr102090c2b)
  • Export the bigg_e_coli_core model in SBML3 format (Excel might be more convenient for performing a quick change, but the Excel format provided by MetaNetX is not compatible with any other software)
  • Find the line containing 'mnxr102090c2b'. It is part of an XML block containing something like:
<reaction fast="false" fbc:lowerFluxBound="cobra_default_lb" fbc:upperFluxBound="cobra_default_ub" id="mnxr102090c2b" ...
  • You can optionally inspect the <reaction>...</reaction> block to understand how XML represent a reaction and its attributes
  • Replace the upper and lower bounds of the flux with zero, i.e. replace the strings "cobra_default_lb" with "B_0" and "cobra_default_ub" with "B_0"
  • Save the file and upload it into the sandbox using the "Import" menu. Supply it with a nice name like "anaerobic". It takes some times because MetaNetX is performing a validation of the mapping to the MNXref namespace
  • Inspect the original and modified models using the reac_list view. Can you identify any differences between the original and the modified model? If everything went alright, only the bounds of the targeted reaction have been modified

More analysis

Run FBA on both the original and modified (anaerobic) model.
  • Can you identify any differences in the external flux distributions between the aerobic and anaerobic models?
  • Can you establish the overall growth stoichiometries for both models (hint: examine at the flux distribution of the boundary reactions)? Are they compatible with E. coli K12 biology?
  • Can you identify any internal reaction(s) of the two models with altered directionality?
  • The different stoichiometries (aerobic versus anaerobic growth) are qualitatively correct from a microbial perspective:

    Aerobic respiratory metabolism10.0 D-glucopyranose + 17.75 dioxygen + 5.27 NH4(+) + 3.56 hydrogenphosphate-->18.87 CO(2) + 17.65 H(+) + 25.91 H2O + 0.97 BIOMASS
    Anaerobic fermentative metabolism 10.0 D-glucopyranose + 1.22 NH4(+) + 0.82 hydrogenphosphate + 0.40 CO2-->30.18 H(+) + 6.96 H2O + 0.22 BIOMASS + 17.68 formate + 8.42 acetate + 8.18 ethanol

    However, the absolute values of the fluxes are not realistic, for example, the above stoichiometry implies that ~70% of the carbon of the D-glucopyranose is assimilated in aerobic conditions, which is certainly too high! Also, the (small) consumption of CO2 during anaerobic growth is suspect. These results can nevertheless be regarded as very encouraging given that (i) a stoichiometric model is a drastic simplification of a complete dynamic system and (ii) bigg_e_coli_core is an excerpt of a larger E. coli genome-scale metabolic network, that is about 20 times larger.
  • Yes, the ATP synthase:
    4 H(+) extracellular + ADP + hydrogenphosphate <==> ATP + H2O + 3H(+)

    During aerobic growth, respiration generates a proton gradient, which is dissipated to generate ATP. During anaerobic growth, ATP consumption generates the proton gradient, which drives the various transport processes.

Reaction knockout

Run the reaction knockout analysis (RKO) on both the aerobic and the anaerobic models.
  • How many reactions are essential in each model (aerobic vs anaerobic growth)?
  • Are there reactions that are essential in only one model?
  • Are there reactions leading to a beneficial, i.e. producing more biomass, knockout? If so, why?
  • aerobicanaerobic

  • The following cytoplasmic reactions are essential for anaerobic growth:

    1 ADP + 1 H(+) + 1 D-fructofuranose 1,6-bisphosphate(4-) <-- 1 ATP + 1 D-fructofuranose 6-phosphate
    1 phosphoenolpyruvate + 1 CO(2) + 1 H2O --> 1 Oxaloacetate + 1 H(+) + 1 hydrogenphosphate
    1 glyceraldehyde 3-phosphate(2-) + 1 glycerone phosphate<==>1 D-fructofuranose 1,6-bisphosphate(4-)
    1 D-glucopyranose 6-phosphate<==>1 D-fructofuranose 6-phosphate
    1 glyceraldehyde 3-phosphate(2-)<==>1 glycerone phosphate

    However, there is no reaction that is essential for aerobic growth!

A more realistic model

  • Add the model iAF1260 to your workspace and compare it to the bigg_e_coli_core model with respect to the growth reaction and the boundary conditions.
  • Rerun the previous analyses and manipulations to get a feeling for a more realistic and complete model.