/* * This code is generated by BioUML FrameWork * for BIOMD0000000063.xml diagram at 2008.03.20 15:04:48 */ import biouml.plugins.simulation.ae.NewtonSolver; import biouml.plugins.simulation.java.JavaBaseModel; import ru.biosoft.math.MathRoutines; public class BIOMD0000000063 extends JavaBaseModel { /* * Write rules to calculate equation parameters */ /* * Write rules to calculate equation parameters excluding internal variables. */ public void __internalRateVarInitFunc_0(double time, double[] x) { rate_Vatpase = Vatpase_Vm8*x[0]; rate_Vgapd = Vgapd_Vm5/(1 + Vgapd_K5G3P/(0.01*x[1]) + (Vgapd_K5NAD/Vgapd_NAD + Vgapd_K5G3P*Vgapd_K5NAD/(Vgapd_NAD*0.01*x[1]) + Vgapd_K5G3P*Vgapd_K5NAD*Vgapd_NADH/(Vgapd_NAD*0.01*x[1]*Vgapd_K5NADH))*(1 + 0.5*(-x[0] + Math.pow((12*x[0] - 3*Math.pow(x[0], 2)), 0.5))/Vgapd_K5ADP + (3 - x[0] - 0.5*(-x[0] + Math.pow((12*x[0] - 3*Math.pow(x[0], 2)), 0.5)))/Vgapd_K5AMP + x[0]/Vgapd_K5ATP)); rate_Vgol = Vgol_Vm7*(x[4]/Vgol_K6PEP*0.5*(-x[0] + Math.pow((12*x[0] - 3*Math.pow(x[0], 2)), 0.5))/Vgol_K6ADP)*(Vgol_g6R*(1 + x[4]/Vgol_K6PEP + 0.5*(-x[0] + Math.pow((12*x[0] - 3*Math.pow(x[0], 2)), 0.5))/Vgol_K6ADP + Vgol_g6R*x[4]/Vgol_K6PEP*0.5*(-x[0] + Math.pow((12*x[0] - 3*Math.pow(x[0], 2)), 0.5))/Vgol_K6ADP) + Vgol_q6*Vgol_L60*Math.pow(((1 + Vgol_c6FDP*x[1]/Vgol_K6FDP)/(1 + x[1]/Vgol_K6FDP)), 2)*Vgol_g6T*Vgol_c6PEP*x[4]/Vgol_K6PEP*Vgol_c6ADP*0.5*(-x[0] + Math.pow((12*x[0] - 3*Math.pow(x[0], 2)), 0.5))/Vgol_K6ADP*(1 + Vgol_c6PEP*x[4]/Vgol_K6PEP + Vgol_c6ADP*0.5*(-x[0] + Math.pow((12*x[0] - 3*Math.pow(x[0], 2)), 0.5))/Vgol_K6ADP + Vgol_g6T*Vgol_c6PEP*x[4]/Vgol_K6PEP*Vgol_c6ADP*0.5*(-x[0] + Math.pow((12*x[0] - 3*Math.pow(x[0], 2)), 0.5))/Vgol_K6ADP))/((1 + 9.550000000000001E-9/Vgol_h6)*(Math.pow((1 + x[4]/Vgol_K6PEP + 0.5*(-x[0] + Math.pow((12*x[0] - 3*Math.pow(x[0], 2)), 0.5))/Vgol_K6ADP + Vgol_g6R*x[4]/Vgol_K6PEP*0.5*(-x[0] + Math.pow((12*x[0] - 3*Math.pow(x[0], 2)), 0.5))/Vgol_K6ADP), 2) + Vgol_L60*Math.pow(((1 + Vgol_c6FDP*x[1]/Vgol_K6FDP)/(1 + x[1]/Vgol_K6FDP)), 2)*Math.pow((1 + Vgol_c6PEP*x[4]/Vgol_K6PEP + Vgol_c6ADP*0.5*(-x[0] + Math.pow((12*x[0] - 3*Math.pow(x[0], 2)), 0.5))/Vgol_K6ADP + Vgol_g6T*Vgol_c6PEP*x[4]/Vgol_K6PEP*Vgol_c6ADP*0.5*(-x[0] + Math.pow((12*x[0] - 3*Math.pow(x[0], 2)), 0.5))/Vgol_K6ADP), 2))); rate_Vhk = Vhk_Vm2/(1 + Vhk_Km2Glc/x[3] + Vhk_Km2ATP/x[0] + Vhk_Ks2Glc*Vhk_Km2ATP/(x[3]*x[0])); rate_Vin = Vin_Vm1 - Vin_Ki1G6P*x[2]; rate_Vpfk = Vpfk_Vm4*Vpfk_g4R*0.3*x[2]/Vpfk_K4F6P*x[0]/Vpfk_K4ATP*(1 + 0.3*x[2]/Vpfk_K4F6P + x[0]/Vpfk_K4ATP + Vpfk_g4R*0.3*x[2]/Vpfk_K4F6P*x[0]/Vpfk_K4ATP)/(Math.pow((1 + 0.3*x[2]/Vpfk_K4F6P + x[0]/Vpfk_K4ATP + Vpfk_g4R*0.3*x[2]/Vpfk_K4F6P*x[0]/Vpfk_K4ATP), 2) + Vpfk_L40*Math.pow(((1 + Vpfk_c4AMP*(3 - x[0] - 0.5*(-x[0] + Math.pow((12*x[0] - 3*Math.pow(x[0], 2)), 0.5)))/Vpfk_K4AMP)/(1 + (3 - x[0] - 0.5*(-x[0] + Math.pow((12*x[0] - 3*Math.pow(x[0], 2)), 0.5)))/Vpfk_K4AMP)), 2)*Math.pow((1 + Vpfk_c4F6P*0.3*x[2]/Vpfk_K4F6P + Vpfk_c4ATP*x[0]/Vpfk_K4ATP + Vpfk_gT*Vpfk_c4F6P*0.3*x[2]/Vpfk_K4F6P*Vpfk_c4ATP*x[0]/Vpfk_K4ATP), 2)); rate_Vpk = Vpk_Vm6*(x[4]/Vpk_K6PEP*0.5*(-x[0] + Math.pow((12*x[0] - 3*Math.pow(x[0], 2)), 0.5))/Vpk_K6ADP)*(Vpk_g6R*(1 + x[4]/Vpk_K6PEP + 0.5*(-x[0] + Math.pow((12*x[0] - 3*Math.pow(x[0], 2)), 0.5))/Vpk_K6ADP + Vpk_g6R*x[4]/Vpk_K6PEP*0.5*(-x[0] + Math.pow((12*x[0] - 3*Math.pow(x[0], 2)), 0.5))/Vpk_K6ADP) + Vpk_q6*Vpk_L60*Math.pow(((1 + Vpk_c6FDP*x[1]/Vpk_K6FDP)/(1 + x[1]/Vpk_K6FDP)), 2)*Vpk_g6T*Vpk_c6PEP*x[4]/Vpk_K6PEP*Vpk_c6ADP*0.5*(-x[0] + Math.pow((12*x[0] - 3*Math.pow(x[0], 2)), 0.5))/Vpk_K6ADP*(1 + Vpk_c6PEP*x[4]/Vpk_K6PEP + Vpk_c6ADP*0.5*(-x[0] + Math.pow((12*x[0] - 3*Math.pow(x[0], 2)), 0.5))/Vpk_K6ADP + Vpk_g6T*Vpk_c6PEP*x[4]/Vpk_K6PEP*Vpk_c6ADP*0.5*(-x[0] + Math.pow((12*x[0] - 3*Math.pow(x[0], 2)), 0.5))/Vpk_K6ADP))/((1 + 9.550000000000001E-9/Vpk_h6)*(Math.pow((1 + x[4]/Vpk_K6PEP + 0.5*(-x[0] + Math.pow((12*x[0] - 3*Math.pow(x[0], 2)), 0.5))/Vpk_K6ADP + Vpk_g6R*x[4]/Vpk_K6PEP*0.5*(-x[0] + Math.pow((12*x[0] - 3*Math.pow(x[0], 2)), 0.5))/Vpk_K6ADP), 2) + Vpk_L60*Math.pow(((1 + Vpk_c6FDP*x[1]/Vpk_K6FDP)/(1 + x[1]/Vpk_K6FDP)), 2)*Math.pow((1 + Vpk_c6PEP*x[4]/Vpk_K6PEP + Vpk_c6ADP*0.5*(-x[0] + Math.pow((12*x[0] - 3*Math.pow(x[0], 2)), 0.5))/Vpk_K6ADP + Vpk_g6T*Vpk_c6PEP*x[4]/Vpk_K6PEP*Vpk_c6ADP*0.5*(-x[0] + Math.pow((12*x[0] - 3*Math.pow(x[0], 2)), 0.5))/Vpk_K6ADP), 2))); rate_Vpol = 1.1*Vpol_Vm3*Math.pow(x[2], Vpol_n3)/(Math.pow(Vpol_K3Gly, Vpol_n3) + Math.pow(x[2], Vpol_n3))/(1 + Vpol_Km30/0.7*(1 + Vpol_Km3G6P/x[2])); } public void Init() { initialValues = getInitialValues(); /* * Initialize variables */ _extracellular_Glco_ = 1.0; // initial value of $"extracellular.Glco" Vatpase_Vm8 = 25.1; // initial value of Vatpase_Vm8 Vgapd_K5ADP = 1.5; // initial value of Vgapd_K5ADP Vgapd_K5AMP = 1.1; // initial value of Vgapd_K5AMP Vgapd_K5ATP = 2.5; // initial value of Vgapd_K5ATP Vgapd_K5G3P = 0.0025; // initial value of Vgapd_K5G3P Vgapd_K5NAD = 0.18; // initial value of Vgapd_K5NAD Vgapd_K5NADH = 3.0E-4; // initial value of Vgapd_K5NADH Vgapd_NAD = 1.91939; // initial value of Vgapd_NAD Vgapd_NADH = 0.0806142; // initial value of Vgapd_NADH Vgapd_Vm5 = 49.9; // initial value of Vgapd_Vm5 Vgol_K6ADP = 5.0; // initial value of Vgol_K6ADP Vgol_K6FDP = 0.2; // initial value of Vgol_K6FDP Vgol_K6PEP = 0.00793966; // initial value of Vgol_K6PEP Vgol_L60 = 164.084; // initial value of Vgol_L60 Vgol_Vm7 = 203.0; // initial value of Vgol_Vm7 Vgol_c6ADP = 1.0; // initial value of Vgol_c6ADP Vgol_c6FDP = 0.01; // initial value of Vgol_c6FDP Vgol_c6PEP = 1.58793E-4; // initial value of Vgol_c6PEP Vgol_g6R = 0.1; // initial value of Vgol_g6R Vgol_g6T = 1.0; // initial value of Vgol_g6T Vgol_h6 = 1.14815E-7; // initial value of Vgol_h6 Vgol_q6 = 1.0; // initial value of Vgol_q6 Vhk_Km2ATP = 0.1; // initial value of Vhk_Km2ATP Vhk_Km2Glc = 0.11; // initial value of Vhk_Km2Glc Vhk_Ks2Glc = 0.0062; // initial value of Vhk_Ks2Glc Vhk_Vm2 = 68.5; // initial value of Vhk_Vm2 Vin_Ki1G6P = 3.7; // initial value of Vin_Ki1G6P Vin_Vm1 = 19.7; // initial value of Vin_Vm1 Vpfk_K4AMP = 0.025; // initial value of Vpfk_K4AMP Vpfk_K4ATP = 0.06; // initial value of Vpfk_K4ATP Vpfk_K4F6P = 1.0; // initial value of Vpfk_K4F6P Vpfk_L40 = 3342.0; // initial value of Vpfk_L40 Vpfk_Vm4 = 31.7; // initial value of Vpfk_Vm4 Vpfk_c4AMP = 0.019; // initial value of Vpfk_c4AMP Vpfk_c4ATP = 1.0; // initial value of Vpfk_c4ATP Vpfk_c4F6P = 5.0E-4; // initial value of Vpfk_c4F6P Vpfk_g4R = 10.0; // initial value of Vpfk_g4R Vpfk_gT = 1.0; // initial value of Vpfk_gT Vpk_K6ADP = 5.0; // initial value of Vpk_K6ADP Vpk_K6FDP = 0.2; // initial value of Vpk_K6FDP Vpk_K6PEP = 0.00793966; // initial value of Vpk_K6PEP Vpk_L60 = 164.084; // initial value of Vpk_L60 Vpk_Vm6 = 3440.0; // initial value of Vpk_Vm6 Vpk_c6ADP = 1.0; // initial value of Vpk_c6ADP Vpk_c6FDP = 0.01; // initial value of Vpk_c6FDP Vpk_c6PEP = 1.58793E-4; // initial value of Vpk_c6PEP Vpk_g6R = 0.1; // initial value of Vpk_g6R Vpk_g6T = 1.0; // initial value of Vpk_g6T Vpk_h6 = 1.14815E-7; // initial value of Vpk_h6 Vpk_q6 = 1.0; // initial value of Vpk_q6 Vpol_K3Gly = 2.0; // initial value of Vpol_K3Gly Vpol_Km30 = 1.0; // initial value of Vpol_Km30 Vpol_Km3G6P = 1.1; // initial value of Vpol_Km3G6P Vpol_Vm3 = 14.31; // initial value of Vpol_Vm3 Vpol_n3 = 8.25; // initial value of Vpol_n3 } /* * Model variables initial values */ protected double _extracellular_Glco_; protected double _extracellular_cytoplasm_Carbo_; protected double _extracellular_cytoplasm_EtOH_; protected double _extracellular_cytoplasm_Gly_; protected double rate_Vatpase; protected double rate_Vgapd; protected double rate_Vgol; protected double rate_Vhk; protected double rate_Vin; protected double rate_Vpfk; protected double rate_Vpk; protected double rate_Vpol; protected double Vatpase_Vm8; protected double Vgapd_K5ADP; protected double Vgapd_K5AMP; protected double Vgapd_K5ATP; protected double Vgapd_K5G3P; protected double Vgapd_K5NAD; protected double Vgapd_K5NADH; protected double Vgapd_NAD; protected double Vgapd_NADH; protected double Vgapd_Vm5; protected double Vgol_K6ADP; protected double Vgol_K6FDP; protected double Vgol_K6PEP; protected double Vgol_L60; protected double Vgol_Vm7; protected double Vgol_c6ADP; protected double Vgol_c6FDP; protected double Vgol_c6PEP; protected double Vgol_g6R; protected double Vgol_g6T; protected double Vgol_h6; protected double Vgol_q6; protected double Vhk_Km2ATP; protected double Vhk_Km2Glc; protected double Vhk_Ks2Glc; protected double Vhk_Vm2; protected double Vin_Ki1G6P; protected double Vin_Vm1; protected double Vpfk_K4AMP; protected double Vpfk_K4ATP; protected double Vpfk_K4F6P; protected double Vpfk_L40; protected double Vpfk_Vm4; protected double Vpfk_c4AMP; protected double Vpfk_c4ATP; protected double Vpfk_c4F6P; protected double Vpfk_g4R; protected double Vpfk_gT; protected double Vpk_K6ADP; protected double Vpk_K6FDP; protected double Vpk_K6PEP; protected double Vpk_L60; protected double Vpk_Vm6; protected double Vpk_c6ADP; protected double Vpk_c6FDP; protected double Vpk_c6PEP; protected double Vpk_g6R; protected double Vpk_g6T; protected double Vpk_h6; protected double Vpk_q6; protected double Vpol_K3Gly; protected double Vpol_Km30; protected double Vpol_Km3G6P; protected double Vpol_Vm3; protected double Vpol_n3; public double[] extendResult(double time,double [] x) { this.time = time; double[] y = new double[5]; y[0] = x[0]; y[1] = x[1]; y[2] = x[2]; y[3] = x[3]; y[4] = x[4]; return y; } public double[] getInitialValues() { double [] x = new double[5]; this.time = 0.0; x[0] = 1.19; // - $"extracellular.cytoplasm.ATP" x[1] = 9.144; // - $"extracellular.cytoplasm.FDP" x[2] = 1.011; // - $"extracellular.cytoplasm.G6P" x[3] = 0.0345; // - $"extracellular.cytoplasm.Glci" x[4] = 0.0095; // - $"extracellular.cytoplasm.PEP" __internalRateVarInitFunc_0(time, x); return x; } /* * code for algebraic rules calculations */ /* * end of code for algebraic rules calculations */ protected void calculateRates(double time, double[] x) { __internalRateVarInitFunc_0(time, x); } /* * calculate dy/dt for 'BIOMD0000000063.xml' model */ public void __internalDyDt_0(double time, double [] x, double[] result) { result[0] = -rate_Vatpase+rate_Vgapd*2-rate_Vhk-rate_Vpfk+rate_Vpk-rate_Vpol; result[1] = -rate_Vgapd-rate_Vgol*0.5+rate_Vpfk; result[2] = +rate_Vhk-rate_Vpfk-rate_Vpol; result[3] = -rate_Vhk+rate_Vin; result[4] = +rate_Vgapd*2-rate_Vpk; } protected double [] calculateResult(double time, double[] x) { double[] result = new double[5]; __internalDyDt_0(time, x, result); return result; } public double[] dy_dt(double time, double[] x) { this.time = time; calculateRates( time,x ); return calculateResult( time,x ); } } // class ...