E.coli Core Model for Beginners (PART 3)

(please run PART 2 of this tutorial first)

4.C. Pentose Phosphate Pathway

The primary purpose of the pentose phosphate pathway (PPP) is to provide the 4-, 5- and 7-carbon precursors for the cell and produce nadph[c]. The 4-, 5- and 7-carbon precursors include D-erythrose-4-phosphate (e4p[c]), alpha-D-ribose-5-phosphate, (r5p[c]), and sedoheptulose-7-phosphate (s7p[c]), respectively. The nadph[c] is produced in the oxidative pathway by glucose-6-phosphate dehydrogenase (G6PDH2r) and phosphogluconate dehydrogenase (GND).
The location of the reactions associated with the PPP are shown below on the E.coli core map in Figure 16.
Figure 16. Pentose phosphate pathway subsystem reactions highlighted in blue on the E.coli core map [3].
The pentose phosphate pathway subsystem includes the following reactions derived from the core model. [Timing: Seconds]
model = e_coli_core; % Starting with the original model
model = changeRxnBounds(model,'EX_glc(e)',-10,'l');
model = changeRxnBounds(model,'EX_o2(e)',-30,'l');
model = changeObjective(model,'Biomass_Ecoli_core_w_GAM');
pppSubsystem = {'Pentose Phosphate Pathway'};
pppReactions = model.rxns(ismember(model.subSystems,pppSubsystem));
[~,ppp_rxnID] = ismember(pppReactions,model.rxns);
Reaction_Names = model.rxnNames(ppp_rxnID);
Reaction_Formulas = printRxnFormula(model,pppReactions,0);
T = table(Reaction_Names,Reaction_Formulas,'RowNames',pppReactions)
T =
Reaction_Names Reaction_Formulas ___________________________________ ______________________________________________________ G6PDH2r 'glucose 6-phosphate dehydrogenase' 'g6p[c] + nadp[c] <=> 6pgl[c] + h[c] + nadph[c] ' GND 'phosphogluconate dehydrogenase' '6pgc[c] + nadp[c] -> co2[c] + nadph[c] + ru5p-D[c] ' PGL '6-phosphogluconolactonase' '6pgl[c] + h2o[c] -> 6pgc[c] + h[c] ' RPE 'ribulose 5-phosphate 3-epimerase' 'ru5p-D[c] <=> xu5p-D[c] ' RPI 'ribose-5-phosphate isomerase' 'r5p[c] <=> ru5p-D[c] ' TALA 'transaldolase' 'g3p[c] + s7p[c] <=> e4p[c] + f6p[c] ' TKT1 'transketolase' 'r5p[c] + xu5p-D[c] <=> g3p[c] + s7p[c] ' TKT2 'transketolase' 'e4p[c] + xu5p-D[c] <=> f6p[c] + g3p[c] '
There are two distinct phases of the pentose phosphate pathway. The first is the "oxidative phase," in which nadph[c] is generated. Note that the pentose phosphate pathway is not the only source of nadph[c] in aerobic conditions. This was explored using "surftNet" in the energy management section (Section 4.A ). The second phase of the pentose phosphate pathway is referred to as the "non-oxidative" phase that provides a pathway for the synthesis of 4-, 5-, and 7-carbon precursors in anaerobic conditions. The pentose phosphate pathway reactions and supported precursors are shown in the Figure17 below.
Figure 17. Pentose phosphate pathway reactions and precursors [3].
The direction of the flux flowing through the non-oxidative part of the pentose phosphate pathway changes based on aerobic versus anaerobic conditions. This variation in flux direction is shown below in Figure 18.
Figure 18. The flow of flux through the pentose phosphate pathway based on A) aerobic or B) anaerobic conditions.
In this figure it can be seen that under (A) aerobic conditions the flux flows through the oxidative phase of the pentose phosphate pathway and then is directed downward through the non-oxidative phase and then works its way back to the glycolysis cycle. On the other hand, under (B) anaerobic conditions the flux enters the left side of reaction TKT2 of the pentose phosphate pathway from the glycolysis pathway operating under the condition of gluconeogenesis. The flux then splits to feed the needs of the three major precursors e4p[c], r5p[c], and s7p[c]. These specific flux values can be calculated using the COBRA Toolbox as follows. [Timing: Seconds]
% Obtain the rxnIDs for the pentose phosphate pathway reactions
[~,glycolysis_rxnID] = ismember(glycolysisReactions,model.rxns);
 
% Glucose aerobic flux
FBAsolution = optimizeCbModel(model,'max',0,0);
Glucose_Aerobic_Flux = round(FBAsolution.x(ppp_rxnID),3);
 
% Fructose aerobic flux
model = changeRxnBounds(model,'EX_glc(e)',-0,'l');
model = changeRxnBounds(model,'EX_fru(e)',-10,'l');
FBAsolution = optimizeCbModel(model,'max',0,0);
Fructcose_Aerobic_Flux = round(FBAsolution.x(ppp_rxnID),3);
 
% Set anaerobic conditions
model = changeRxnBounds(model,'EX_o2(e)',-0,'l');
 
% Glucose anaerobic flux
model = changeRxnBounds(model,'EX_glc(e)',-10,'l');
FBAsolution = optimizeCbModel(model,'max',0,0);
Glucose_Anaerobic_Flux = round(FBAsolution.x(ppp_rxnID),3);
 
% Fructose anaerobic flux
model = changeRxnBounds(model,'EX_glc(e)',-0,'l');
model = changeRxnBounds(model,'EX_fru(e)',-10,'l');
FBAsolution = optimizeCbModel(model,'max',0,0);
Fructose_Anaerobic_Flux = round(FBAsolution.x(ppp_rxnID),3);
 
T = table(Glucose_Aerobic_Flux,Fructcose_Aerobic_Flux,Glucose_Anaerobic_Flux,...
Fructose_Anaerobic_Flux,'RowNames',pppReactions)
T =
Glucose_Aerobic_Flux Fructcose_Aerobic_Flux Glucose_Anaerobic_Flux Fructose_Anaerobic_Flux ____________________ ______________________ ______________________ _______________________ G6PDH2r 4.96 4.96 0 0 GND 4.96 4.96 0 0 PGL 4.96 4.96 0 0 RPE 2.678 2.678 -0.371 -0.152 RPI -2.282 -2.282 -0.371 -0.152 TALA 1.497 1.497 -0.092 -0.038 TKT1 1.497 1.497 -0.092 -0.038 TKT2 1.181 1.181 -0.279 -0.114

4.D. Tricarboxylic Acid Cycle

The tricarboxylic acid (TCA) cycle or the citric acid cycle supports a variety of cellular functions depending on the environment. Under aerobic conditions the TCA cycle operates in a counter-clockwise direction using acetyl-CoA as a substrate to produce three cellular precursors, reducing power nadh[c] and nadph[c], cellular energy atp[c] through substrate phosphorylation, and carbon dioxide (co2[c]). While in the anaerobic condition, only part of the TCA cycle will be used to produce two of the three precursors and the reducing power nadph[c]. The location of the TCA cycle subsystem is shown on the following E.coli core map (Figure 19).
Figure 19. TCA pathway subsystem reactions highlighted in blue on E.coli core map [3].
The reactions associated with the TCA cycle can be retrieved from the E.coli core model as shown below. [Timing: Seconds]
model = e_coli_core;
TCA_Reactions = transpose({'CS','ACONTa','ACONTb','ICDHyr','AKGDH','SUCOAS',...
'FRD7','SUCDi','FUM','MDH'});
[~,TCA_rxnID] = ismember(TCA_Reactions,model.rxns);
Reaction_Names = model.rxnNames(TCA_rxnID);
Reaction_Formulas = printRxnFormula(model,TCA_Reactions,0);
T = table(Reaction_Names,Reaction_Formulas,'RowNames',TCA_Reactions)
T =
Reaction_Names Reaction_Formulas _____________________________________________________ ____________________________________________________________ CS 'citrate synthase' 'accoa[c] + h2o[c] + oaa[c] -> cit[c] + coa[c] + h[c] ' ACONTa 'aconitase (half-reaction A, Citrate hydro-lyase)' 'cit[c] <=> acon-C[c] + h2o[c] ' ACONTb 'aconitase (half-reaction B, Isocitrate hydro-lyase)' 'acon-C[c] + h2o[c] <=> icit[c] ' ICDHyr 'isocitrate dehydrogenase (NADP)' 'icit[c] + nadp[c] <=> akg[c] + co2[c] + nadph[c] ' AKGDH '2-Oxoglutarate dehydrogenase' 'akg[c] + coa[c] + nad[c] -> co2[c] + nadh[c] + succoa[c] ' SUCOAS 'succinyl-CoA synthetase (ADP-forming)' 'atp[c] + coa[c] + succ[c] <=> adp[c] + pi[c] + succoa[c] ' FRD7 'fumarate reductase' 'fum[c] + q8h2[c] -> q8[c] + succ[c] ' SUCDi 'succinate dehydrogenase (irreversible)' 'q8[c] + succ[c] -> fum[c] + q8h2[c] ' FUM 'fumarase' 'fum[c] + h2o[c] <=> mal-L[c] ' MDH 'malate dehydrogenase' 'mal-L[c] + nad[c] <=> h[c] + nadh[c] + oaa[c] '
The E.coli core model does not include the membrane reactions (FRD7 and SUCDi) in the TCA cycle (Citric Acid Cycle) subsystem. They have been added to this discussion since they close the TCA loop and allow complete TCA operation.
The precursors associated with the TCA cyle are shown below in Figure 20. The precursors include; 1) oxaloacetate (oaa[c]) for the biosynthesis of asparagine, aspartic acid, isoleucine, lysine, methionine, and threonine, 2) 2-oxoglutarate or alpha-ketoglutarate (akg[c]) for the biosynthesis of arginine, glutamine, glutamic acid, and proline and finally 3) succinyl-CoA (succoa[c]) for heme biosynthesis.
Figure 20. TCA pathway reactions and precursors [3].
The TCA cycle can be divided into an oxidative pathway and a reductive pathway as illustrated in Figure 19. The oxidative pathway of the TCA cycle runs counterclockwise in the lower part of the cycle, from oxaloacetate (oaa[c]), through 2-oxoglutarate (akg[c]). Under aerobic conditons the oxidative pathway can continue counterclockwise from 2-oxoglutarate (akg[c]) full circle to oxaloacetate (oaa[c]). The full TCA cycle can totally oxidize acetyl-CoA (accoa[c]), but only during aerobic growth on acetate or fatty acids.
Under anaerobic conditions, the TCA cycle functions not as a cycle, but as two separate pathways. The oxidative pathway, the counterclockwise lower part of the cycle, still forms the precursor 2-oxoglutarate. The reductive pathway, the clockwise upper part of the cycle, can form the precursor succinyl-CoA.
Let's begin this exploration by visualizing the fluxes through the core model when pyruvate is used as the carbon source for both aerobic and anaerobic conditions. [Timing: Seconds]
% Key parameters for TCA pathway section
model = e_coli_core;
model = changeRxnBounds(model,'EX_glc(e)',-0,'l');
model = changeRxnBounds(model,'EX_pyr(e)',-20,'l');
model = changeRxnBounds(model,'EX_o2(e)',-30,'l'); % Set at -30 for aerobic
model = changeObjective(model,'Biomass_Ecoli_core_w_GAM');
FBAsolution = optimizeCbModel(model,'max',0,0);
 
% Import E.coli core map and adjust parameters
map=readCbMap('ecoli_core_map.txt');
options.zeroFluxWidth = 0.1;
options.rxnDirMultiplier = 10;
drawFlux(map, model, FBAsolution.x, options);
Document Written
A close-up on the TCA cycle for both the aerobic and anaerobic cases are shown in Figure 21.
Figure 21. A close-up of the TCA cycle with pyruvate as the carbon source for both aerobic and anaerobic conditions.
The specific flux values for each of these conditions is calculated below. [Timing: Seconds]
model = e_coli_core;
% Pyruvate aerobic flux
model = changeRxnBounds(model,'EX_glc(e)',-0,'l');
model = changeRxnBounds(model,'EX_pyr(e)',-20,'l');
model = changeRxnBounds(model,'EX_o2(e)',-30,'l');
FBAsolution = optimizeCbModel(model,'max',0,0);
Pyrvate_Aerobic_Flux = round(FBAsolution.x(TCA_rxnID),3);
 
% Pyruvate anaerobic flux
model = changeRxnBounds(model,'EX_o2(e)',-0,'l');
FBAsolution = optimizeCbModel(model,'max',0,0);
Pyrvate_Anaerobic_Flux = round(FBAsolution.x(TCA_rxnID),3);
 
T = table(Pyrvate_Aerobic_Flux,Pyrvate_Anaerobic_Flux,...
'RowNames',TCA_Reactions)
T =
Pyrvate_Aerobic_Flux Pyrvate_Anaerobic_Flux ____________________ ______________________ CS 11.216 0.071 ACONTa 11.216 0.071 ACONTb 11.216 0.071 ICDHyr 9.433 0.071 AKGDH 8.762 0 SUCOAS -8.762 0 FRD7 0 0 SUCDi 10.545 0 FUM 10.545 0 MDH 12.328 0
These fluxes show that under aerobic conditions the full TCA cyle is operational while under anaerobic conditions only the lower part of the TCA cycle (CS, ACONTa, ACONTb and ICDHyr), the oxidative pathway, is used.

4.E. Glycoxylate Cycle, Gluconeogenesis, and Anapleurotic Reactions

The glycoxylate cycle and gluconeogenic reactions are necessary to allow E. coli to grow on 3-carbon (pyruvate) and 4-carbon compounds (malate, fumarate, and succinate). This occurs by avoiding the loss of carbon to carbon dioxide in the TCA cycle (glycoxylate cycle), providing a pathway for generation of glycolytic intermediates from TCA intermediates (anapleurotic reactions), and reversing the carbon flux through glycolysis (gluconeogenesis) to produce essential precursors for biosynthesis.
The location of the glycoxylate cycle, gluconeogenesis, and anapleurotic reactions on the E.coli core map is shown in Figure 22 below.
Figure 22. Glycoxylate cycle, gluconeogenesis, and anapleurotic reactions highlighted in blue on the E.coli core map [3].
The reactions included in this section on the glycoxylate cycle, gluconeogenesis, and anapleurotic reactions are shown below. This subsystem is referred to in the core model as the "anapleurotic reactions" subsystem. [Timing: Seconds]
% Set initial constraints for glycoxylate cycle, gluconeogenesis, and anapleurotic reactions section
model = e_coli_core;
ANA_Reactions = transpose({'ICL','MALS','ME1','ME2','PPS','PPCK',...
'PPC'});
[~,ANA_rxnID] = ismember(ANA_Reactions,model.rxns);
Reaction_Names = model.rxnNames(ANA_rxnID);
Reaction_Formulas = printRxnFormula(model,ANA_Reactions,0);
T = table(Reaction_Names,Reaction_Formulas,'RowNames',ANA_Reactions)
T =
Reaction_Names Reaction_Formulas ___________________________________ ________________________________________________________________ ICL 'Isocitrate lyase' 'icit[c] -> glx[c] + succ[c] ' MALS 'malate synthase' 'accoa[c] + glx[c] + h2o[c] -> coa[c] + h[c] + mal-L[c] ' ME1 'malic enzyme (NAD)' 'mal-L[c] + nad[c] -> co2[c] + nadh[c] + pyr[c] ' ME2 'malic enzyme (NADP)' 'mal-L[c] + nadp[c] -> co2[c] + nadph[c] + pyr[c] ' PPS 'phosphoenolpyruvate synthase' 'atp[c] + h2o[c] + pyr[c] -> amp[c] + 2 h[c] + pep[c] + pi[c] ' PPCK 'phosphoenolpyruvate carboxykinase' 'atp[c] + oaa[c] -> adp[c] + co2[c] + pep[c] ' PPC 'phosphoenolpyruvate carboxylase' 'co2[c] + h2o[c] + pep[c] -> h[c] + oaa[c] + pi[c] '
These individual reactions associated with the glycoxylate cycle, gluconeogenesis, and anapleurotic reactions are graphically shown in Figure 23.