/* * Full-scale model of glycolysis in Saccharomyces cerevisiae * * Model Status * * This model runs in both OpenCell and COR to replicate the published * results (figure 6). The units have been checked and they are * consistent. This CellML model translation is based on the curated * SBML model in the BioModels database (BIOMD0000000061.xml). * Note that in order to replicate figure 6 the model has to be * run for at least 100 seconds first to allow all the oscillations * to stabilise. * * Model Structure * * ABSTRACT: We present a powerful, general method of fitting a * model of a biochemical pathway to experimental substrate concentrations * and dynamical properties measured at a stationary state, when * the mechanism is largely known but kinetic parameters are lacking. * Rate constants and maximum velocities are calculated from the * experimental data by simple algebra without integration of kinetic * equations. Using this direct approach, we fit a comprehensive * model of glycolysis and glycolytic oscillations in intact yeast * cells to data measured on a suspension of living cells of Saccharomyces * cerevisiae near a Hopf bifurcation, and to a large set of stationary * concentrations and other data estimated from comparable batch * experiments. The resulting model agrees with almost all experimentally * known stationary concentrations and metabolic fluxes, with the * frequency of oscillation and with the majority of other experimentally * known kinetic and dynamical variables. The functional forms * of the rate equations have not been optimized. * * The original paper reference is cited below: * * Full-scale model of glycolysis in Saccharomyces cerevisiae, * F. Hynne, S. Dano, and P. G. Sorensen , 2001, Biophysical Chemistry * , 94, 121-163. PubMed ID: 11744196 * * reaction diagram * * [[Image file: hynne_2001.png]] * * The glycolysis pathway described by the mathematical model. */ import nsrunit; unit conversion on; // unit millimolar predefined unit millimolar2=1 meter^(-6)*mole^2; unit minute=60 second^1; unit flux=.01666667 meter^(-3)*second^(-1)*mole^1; unit first_order_rate_constant=.01666667 second^(-1); unit second_order_rate_constant=.01666667 meter^3*second^(-1)*mole^(-1); math main { realDomain time minute; time.min=0; extern time.max; extern time.delta; real Glc_x_0 millimolar; Glc_x_0=24.0; real Glc_x(time) millimolar; when(time=time.min) Glc_x=6.7; real GlcTrans(time) flux; real inGlc(time) flux; real Glc(time) millimolar; when(time=time.min) Glc=0.573074; real HK(time) flux; real G6P(time) millimolar; when(time=time.min) G6P=4.2; real PGI(time) flux; real storage(time) flux; real F6P(time) millimolar; when(time=time.min) F6P=0.49; real PFK(time) flux; real FBP(time) millimolar; when(time=time.min) FBP=4.64; real ALD(time) flux; real GAP(time) millimolar; when(time=time.min) GAP=0.115; real GAPDH(time) flux; real TIM(time) flux; real DHAP(time) millimolar; when(time=time.min) DHAP=2.95; real lpGlyc(time) flux; real BPG(time) millimolar; when(time=time.min) BPG=0.00027; real lpPEP(time) flux; real PEP(time) millimolar; when(time=time.min) PEP=0.04; real PK(time) flux; real Pyr(time) millimolar; when(time=time.min) Pyr=8.7; real PDC(time) flux; real ATP(time) millimolar; when(time=time.min) ATP=2.1; real consum(time) flux; real AK(time) flux; real ADP(time) millimolar; when(time=time.min) ADP=1.5; real AMP(time) millimolar; when(time=time.min) AMP=0.33; real CN_x_0 millimolar; CN_x_0=5.60; real CN_x(time) millimolar; when(time=time.min) CN_x=5.20358; real lacto(time) flux; real inCN(time) flux; real ACA(time) millimolar; when(time=time.min) ACA=1.48153; real difACA(time) flux; real ADH(time) flux; real ACA_x(time) millimolar; when(time=time.min) ACA_x=1.28836; real outACA(time) flux; real EtOH(time) millimolar; when(time=time.min) EtOH=19.2379; real difEtOH(time) flux; real EtOH_x(time) millimolar; when(time=time.min) EtOH_x=16.4514; real outEtOH(time) flux; real Glyc(time) millimolar; when(time=time.min) Glyc=4.196; real difGlyc(time) flux; real Glyc_x(time) millimolar; when(time=time.min) Glyc_x=1.68478; real outGlyc(time) flux; real NADH(time) millimolar; when(time=time.min) NADH=0.33; real NAD(time) millimolar; when(time=time.min) NAD=0.65; real k0 first_order_rate_constant; k0=0.048; real K2_Glc millimolar; K2_Glc=1.7; real K2_IG6P millimolar; K2_IG6P=1.2; real K2_IIG6P millimolar; K2_IIG6P=7.2; real V_2m flux; V_2m=1014.96; real P2 dimensionless; P2=1.0; real y_vol dimensionless; y_vol=59.0; real K3_DGlc millimolar; K3_DGlc=0.37; real K3_Glc millimolar; K3_Glc=0.0; real K3_ATP millimolar; K3_ATP=0.1; real V_3m flux; V_3m=51.7547; real V_4m flux; V_4m=496.042; real K4_G6P millimolar; K4_G6P=0.8; real K4_F6P millimolar; K4_F6P=0.15; real K4_eq dimensionless; K4_eq=0.13; real K5 millimolar2; K5=0.021; real kappa5 dimensionless; kappa5=0.15; real V_5m flux; V_5m=45.4327; real K6_eq millimolar; K6_eq=0.081; real K6_FBP millimolar; K6_FBP=0.3; real K6_DHAP millimolar; K6_DHAP=2.0; real K6_GAP millimolar; K6_GAP=4.0; real K6_IGAP millimolar; K6_IGAP=10.0; real V_6r flux; V_6r=1.10391E4; real V_6f flux; V_6f=2.20782E3; real K7_eq dimensionless; K7_eq=0.055; real K7_DHAP millimolar; K7_DHAP=1.23; real K7_GAP millimolar; K7_GAP=1.27; real V_7m flux; V_7m=1.16365E2; real K8_NAD millimolar; K8_NAD=0.1; real K8_NADH millimolar; K8_NADH=0.06; real K8_GAP millimolar; K8_GAP=0.6; real K8_BPG millimolar; K8_BPG=0.01; real K8_eq dimensionless; K8_eq=0.0055; real V_8m flux; V_8m=8.33858E2; real k9f second_order_rate_constant; k9f=4.43866E5; real k9r second_order_rate_constant; k9r=1.52862E3; real K10_PEP millimolar; K10_PEP=0.2; real K10_ADP millimolar; K10_ADP=0.17; real V_10m flux; V_10m=3.43096E2; real K11 millimolar; K11=0.3; real V_11m flux; V_11m=5.31328E1; real K12_NADH millimolar; K12_NADH=0.1; real K12_ACA millimolar; K12_ACA=0.71; real V_12m flux; V_12m=8.98023E1; real k13 first_order_rate_constant; k13=16.72; real K15_NADH millimolar; K15_NADH=0.13; real K15_INADH millimolar; K15_INADH=0.034; real K15_INAD millimolar; K15_INAD=0.13; real K15_DHAP millimolar; K15_DHAP=25.0; real V_15m flux; V_15m=8.14797E1; real k16 first_order_rate_constant; k16=1.9; real k18 first_order_rate_constant; k18=24.7; real k20 second_order_rate_constant; k20=2.83828E-3; real k22 second_order_rate_constant; k22=2.25932; real k23 first_order_rate_constant; k23=3.20760; real k24f second_order_rate_constant; k24f=4.32900E2; real k24r second_order_rate_constant; k24r=1.33333E2; // // // Glc_x:time=(inGlc-GlcTrans); // Glc:time=(59*GlcTrans-HK); // G6P:time=(HK-(PGI+storage)); // F6P:time=(PGI-PFK); // FBP:time=(PFK-ALD); // GAP:time=(ALD+TIM-GAPDH); // DHAP:time=(ALD-(TIM+lpGlyc)); // BPG:time=(GAPDH-lpPEP); // PEP:time=(lpPEP-PK); // Pyr:time=(PK-PDC); // ATP:time=(PK+lpPEP-(PFK+storage+HK+consum+AK)); // ADP:time=(PFK+storage+HK+consum+2*AK-(PK+lpPEP)); // AMP:time=((-1)*AK); // // CN_x:time=(inCN-lacto); // ACA:time=(PDC-(59*difACA+ADH)); // ACA_x:time=(difACA-(lacto+outACA)); // EtOH:time=(ADH-59*difEtOH); // EtOH_x:time=(difEtOH-outEtOH); // Glyc:time=(lpGlyc-59*difGlyc); // Glyc_x:time=(difGlyc-outGlyc); // NADH:time=(GAPDH-(ADH+lpGlyc)); // NAD:time=(ADH+lpGlyc-GAPDH); // inGlc=(k0*(Glc_x_0-Glc_x)); // GlcTrans=(V_2m/y_vol*(Glc_x/K2_Glc/(1+Glc_x/K2_Glc+(P2*(Glc_x/K2_Glc)+1)/(P2*(Glc/K2_Glc)+1)*(1+Glc/K2_Glc+G6P/K2_IG6P+Glc*G6P/(K2_Glc*K2_IIG6P))))-V_2m/y_vol*(Glc/K2_Glc/(1+Glc/K2_Glc+(P2*(Glc/K2_Glc)+1)/(P2*(Glc_x/K2_Glc)+1)*(1+Glc_x/K2_Glc)+G6P/K2_IG6P+Glc*G6P/(K2_Glc*K2_IIG6P)))); // HK=(V_3m*ATP*Glc/(K3_DGlc*K3_ATP+K3_Glc*ATP+K3_ATP*Glc+Glc*ATP)); // PGI=(V_4m*G6P/(K4_G6P+G6P+K4_G6P/K4_F6P*F6P)-V_4m*(F6P/K4_eq)/(K4_G6P+G6P+K4_G6P/K4_F6P*F6P)); // PFK=(V_5m*F6P^2/(K5*(1+kappa5*(ATP/AMP)*(ATP/AMP))+F6P^2)); // ALD=(V_6f*FBP/(K6_FBP+FBP+GAP*K6_DHAP*V_6f/(K6_eq*V_6r)+DHAP*K6_GAP*V_6f/(K6_eq*V_6r)+FBP*GAP/K6_IGAP+GAP*DHAP*V_6f/(K6_eq*V_6r))-V_6f*(GAP*DHAP/K6_eq)/(K6_FBP+FBP+GAP*K6_DHAP*V_6f/(K6_eq*V_6r)+DHAP*K6_GAP*V_6f/(K6_eq*V_6r)+FBP*GAP/K6_IGAP+GAP*DHAP*V_6f/(K6_eq*V_6r))); // TIM=(V_7m*DHAP/(K7_DHAP+DHAP+K7_DHAP/K7_GAP*GAP)-V_7m*(GAP/K7_eq)/(K7_DHAP+DHAP+K7_DHAP/K7_GAP*GAP)); // GAPDH=(V_8m*GAP*NAD/(K8_GAP*K8_NAD*(1+GAP/K8_GAP+BPG/K8_BPG)*(1+NAD/K8_NAD+NADH/K8_NADH))-V_8m*(BPG*NADH/K8_eq)/(K8_GAP*K8_NAD*(1+GAP/K8_GAP+BPG/K8_BPG)*(1+NAD/K8_NAD+NADH/K8_NADH))); // lpPEP=(k9f*BPG*ADP-k9r*PEP*ATP); // PK=(V_10m*ADP*PEP/((K10_PEP+PEP)*(K10_ADP+ADP))); // PDC=(V_11m*Pyr/(K11+Pyr)); // ADH=(V_12m*ACA*NADH/((K12_NADH+NADH)*(K12_ACA+ACA))); // outEtOH=(k0*EtOH_x); // difEtOH=(k13/y_vol*(EtOH-EtOH_x)); // lpGlyc=(V_15m*DHAP/(K15_DHAP*(1+K15_INADH/NADH*(1+NAD/K15_INAD))+DHAP*(1+K15_NADH/NADH*(1+NAD/K15_INAD)))); // outGlyc=(k0*Glyc_x); // difGlyc=(k16/y_vol*(Glyc-Glyc_x)); // outACA=(k0*ACA_x); // difACA=(k18/y_vol*(ACA-ACA_x)); // lacto=(k20*ACA_x*CN_x); // inCN=(k0*(CN_x_0-CN_x)); // storage=(k22*ATP*G6P); // consum=(k23*ATP); // AK=(k24f*AMP*ATP-k24r*ADP^2); // }