/* * This code is generated by BioUML FrameWork * for BIOMD0000000023.xml diagram at 2008.03.20 15:04:00 */ import biouml.plugins.simulation.ae.NewtonSolver; import biouml.plugins.simulation.java.JavaBaseModel; import ru.biosoft.math.MathRoutines; public class BIOMD0000000023 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_v1 = compartment*(v1_Vmax1*_compartment_Fruex_/(v1_Km1Fruex*(1 + x[0]/v1_Ki1Fru) + _compartment_Fruex_)); rate_v10 = compartment*(v10_Vmax10*0.0575*x[2]/(v10_Km10F6P + 0.0575*x[2])); rate_v11 = compartment*compartment*(v11_Vmax11*x[3]/(v11_Km11Suc + x[3])); rate_v2 = compartment*(v2_Vmax2*_compartment_Glcex_/(v2_Km2Glcex*(1 + x[1]/v2_Ki2Glc) + _compartment_Glcex_)); rate_v3 = compartment*(v3_Vmax3*(x[1]/v3_Km3Glc)*(_compartment_ATP_/v3_Km3ATP)/((1 + _compartment_ATP_/v3_Km3ATP)*(1 + x[1]/v3_Km3Glc + x[0]/v3_Km4Fru + 0.113*x[2]/v3_Ki3G6P + 0.0575*x[2]/v3_Ki4F6P))); rate_v4 = compartment*(v4_Vmax4*(x[0]/v4_Km4Fru)*(_compartment_ATP_/v4_Km4ATP)/((1 + _compartment_ATP_/v4_Km4ATP)*(1 + x[1]/v4_Km3Glc + x[0]/v4_Km4Fru + 0.113*x[2]/v4_Ki3G6P + 0.0575*x[2]/v4_Ki4F6P))); rate_v5 = compartment*(v5_Vmax5/(1 + x[0]/v5_Ki5Fru)*(x[0]/v5_Km5Fru)*(_compartment_ATP_/v5_Km5ATP)/(1 + x[0]/v5_Km5Fru + _compartment_ATP_/v5_Km5ATP + x[0]*_compartment_ATP_/(v5_Km5Fru*v5_Km5ATP) + _compartment_ADP_/v5_Ki5ADP)); rate_v6 = compartment*(v6_Vmax6f*(0.0575*x[2]*0.8231*x[2] - x[4]*_compartment_UDP_/v6_Keq6)/(0.0575*x[2]*0.8231*x[2]*(1 + x[4]/v6_Ki6Suc6P) + v6_Km6F6P*(1 + _compartment_phos_/v6_Ki6Pi)*(0.8231*x[2] + v6_Ki6UDPGlc) + v6_Km6UDPGlc*0.0575*x[2] + v6_Vmax6f/(v6_Vmax6r*v6_Keq6)*(v6_Km6UDP*x[4]*(1 + 0.8231*x[2]/v6_Ki6UDPGlc) + _compartment_UDP_*(v6_Km6Suc6P*(1 + v6_Km6UDPGlc*0.0575*x[2]/(v6_Ki6UDPGlc*v6_Km6F6P*(1 + _compartment_phos_/v6_Ki6Pi))) + x[4]*(1 + 0.0575*x[2]/v6_Ki6F6P))))); rate_v7 = compartment*(v7_Vmax7*x[4]/(v7_Km7Suc6P + x[4])); rate_v8 = compartment*(-v8_Vmax8f*(x[3]*_compartment_UDP_ - x[0]*0.8231*x[2]/v8_Keq8)/(x[3]*_compartment_UDP_*(1 + x[0]/v8_Ki8Fru) + v8_Km8Suc*(_compartment_UDP_ + v8_Ki8UDP) + v8_Km8UDP*x[3] + v8_Vmax8f/(v8_Vmax8r*v8_Keq8)*(v8_Km8UDPGlc*x[0]*(1 + _compartment_UDP_/v8_Ki8UDP) + 0.8231*x[2]*(v8_Km8Fru*(1 + v8_Km8UDP*x[3]/(v8_Ki8UDP*v8_Km8Suc)) + x[0]*(1 + x[3]/v8_Ki8Suc))))); rate_v9 = compartment*(v9_Vmax9/(1 + x[1]/v9_Ki9Glc)*x[3]/(v9_Km9Suc*(1 + x[0]/v9_Ki9Fru) + x[3])); } public void Init() { initialValues = getInitialValues(); /* * Initialize variables */ _compartment_ADP_ = 0.2; // initial value of $"compartment.ADP" _compartment_ATP_ = 1.0; // initial value of $"compartment.ATP" _compartment_Fruex_ = 5.0; // initial value of $"compartment.Fruex" _compartment_Glcex_ = 5.0; // initial value of $"compartment.Glcex" _compartment_UDP_ = 0.2; // initial value of $"compartment.UDP" _compartment_phos_ = 5.1; // initial value of $"compartment.phos" compartment = 1.0; // initial value of $compartment v10_Km10F6P = 0.2; // initial value of v10_Km10F6P v10_Vmax10 = 0.1; // initial value of v10_Vmax10 v11_Km11Suc = 100.0; // initial value of v11_Km11Suc v11_Vmax11 = 1.0; // initial value of v11_Vmax11 v1_Ki1Fru = 1.0; // initial value of v1_Ki1Fru v1_Km1Fruex = 0.2; // initial value of v1_Km1Fruex v1_Vmax1 = 0.286; // initial value of v1_Vmax1 v2_Ki2Glc = 1.0; // initial value of v2_Ki2Glc v2_Km2Glcex = 0.2; // initial value of v2_Km2Glcex v2_Vmax2 = 0.286; // initial value of v2_Vmax2 v3_Ki3G6P = 0.1; // initial value of v3_Ki3G6P v3_Ki4F6P = 10.0; // initial value of v3_Ki4F6P v3_Km3ATP = 0.25; // initial value of v3_Km3ATP v3_Km3Glc = 0.07; // initial value of v3_Km3Glc v3_Km4Fru = 10.0; // initial value of v3_Km4Fru v3_Vmax3 = 0.197; // initial value of v3_Vmax3 v4_Ki3G6P = 0.1; // initial value of v4_Ki3G6P v4_Ki4F6P = 10.0; // initial value of v4_Ki4F6P v4_Km3Glc = 0.07; // initial value of v4_Km3Glc v4_Km4ATP = 0.25; // initial value of v4_Km4ATP v4_Km4Fru = 10.0; // initial value of v4_Km4Fru v4_Vmax4 = 0.197; // initial value of v4_Vmax4 v5_Ki5ADP = 2.0; // initial value of v5_Ki5ADP v5_Ki5Fru = 12.0; // initial value of v5_Ki5Fru v5_Km5ATP = 0.085; // initial value of v5_Km5ATP v5_Km5Fru = 0.1; // initial value of v5_Km5Fru v5_Vmax5 = 0.164; // initial value of v5_Vmax5 v6_Keq6 = 10.0; // initial value of v6_Keq6 v6_Ki6F6P = 0.4; // initial value of v6_Ki6F6P v6_Ki6Pi = 3.0; // initial value of v6_Ki6Pi v6_Ki6Suc6P = 0.07; // initial value of v6_Ki6Suc6P v6_Ki6UDPGlc = 1.4; // initial value of v6_Ki6UDPGlc v6_Km6F6P = 0.6; // initial value of v6_Km6F6P v6_Km6Suc6P = 0.1; // initial value of v6_Km6Suc6P v6_Km6UDP = 0.3; // initial value of v6_Km6UDP v6_Km6UDPGlc = 1.8; // initial value of v6_Km6UDPGlc v6_Vmax6f = 0.379; // initial value of v6_Vmax6f v6_Vmax6r = 0.2; // initial value of v6_Vmax6r v7_Km7Suc6P = 0.1; // initial value of v7_Km7Suc6P v7_Vmax7 = 0.5; // initial value of v7_Vmax7 v8_Keq8 = 5.0; // initial value of v8_Keq8 v8_Ki8Fru = 4.0; // initial value of v8_Ki8Fru v8_Ki8Suc = 40.0; // initial value of v8_Ki8Suc v8_Ki8UDP = 0.3; // initial value of v8_Ki8UDP v8_Km8Fru = 4.0; // initial value of v8_Km8Fru v8_Km8Suc = 50.0; // initial value of v8_Km8Suc v8_Km8UDP = 0.3; // initial value of v8_Km8UDP v8_Km8UDPGlc = 0.3; // initial value of v8_Km8UDPGlc v8_Vmax8f = 0.677; // initial value of v8_Vmax8f v8_Vmax8r = 0.3; // initial value of v8_Vmax8r v9_Ki9Fru = 15.0; // initial value of v9_Ki9Fru v9_Ki9Glc = 15.0; // initial value of v9_Ki9Glc v9_Km9Suc = 10.0; // initial value of v9_Km9Suc v9_Vmax9 = 0.372; // initial value of v9_Vmax9 } /* * Model variables initial values */ protected double _compartment_ADP_; protected double _compartment_ATP_; protected double _compartment_Fruex_; protected double _compartment_Glcex_; protected double _compartment_Sucvac_; protected double _compartment_UDP_; protected double _compartment_glycolysis_; protected double _compartment_phos_; protected double rate_v1; protected double rate_v10; protected double rate_v11; protected double rate_v2; protected double rate_v3; protected double rate_v4; protected double rate_v5; protected double rate_v6; protected double rate_v7; protected double rate_v8; protected double rate_v9; protected double compartment; protected double v10_Km10F6P; protected double v10_Vmax10; protected double v11_Km11Suc; protected double v11_Vmax11; protected double v1_Ki1Fru; protected double v1_Km1Fruex; protected double v1_Vmax1; protected double v2_Ki2Glc; protected double v2_Km2Glcex; protected double v2_Vmax2; protected double v3_Ki3G6P; protected double v3_Ki4F6P; protected double v3_Km3ATP; protected double v3_Km3Glc; protected double v3_Km4Fru; protected double v3_Vmax3; protected double v4_Ki3G6P; protected double v4_Ki4F6P; protected double v4_Km3Glc; protected double v4_Km4ATP; protected double v4_Km4Fru; protected double v4_Vmax4; protected double v5_Ki5ADP; protected double v5_Ki5Fru; protected double v5_Km5ATP; protected double v5_Km5Fru; protected double v5_Vmax5; protected double v6_Keq6; protected double v6_Ki6F6P; protected double v6_Ki6Pi; protected double v6_Ki6Suc6P; protected double v6_Ki6UDPGlc; protected double v6_Km6F6P; protected double v6_Km6Suc6P; protected double v6_Km6UDP; protected double v6_Km6UDPGlc; protected double v6_Vmax6f; protected double v6_Vmax6r; protected double v7_Km7Suc6P; protected double v7_Vmax7; protected double v8_Keq8; protected double v8_Ki8Fru; protected double v8_Ki8Suc; protected double v8_Ki8UDP; protected double v8_Km8Fru; protected double v8_Km8Suc; protected double v8_Km8UDP; protected double v8_Km8UDPGlc; protected double v8_Vmax8f; protected double v8_Vmax8r; protected double v9_Ki9Fru; protected double v9_Ki9Glc; protected double v9_Km9Suc; protected double v9_Vmax9; 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.0; // - $"compartment.Fru" x[1] = 1.0; // - $"compartment.Glc" x[2] = 1.0; // - $"compartment.HexP" x[3] = 1.0; // - $"compartment.Suc" x[4] = 1.0; // - $"compartment.Suc6P" __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 'BIOMD0000000023.xml' model */ public void __internalDyDt_0(double time, double [] x, double[] result) { result[0] = +rate_v1-rate_v4-rate_v5-rate_v8+rate_v9; result[1] = +rate_v2-rate_v3+rate_v9; result[2] = -rate_v10+rate_v3+rate_v4+rate_v5-rate_v6*2-rate_v8; result[3] = -rate_v11+rate_v7+rate_v8-rate_v9; result[4] = +rate_v6-rate_v7; } 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 ...