/* * This code is generated by BioUML FrameWork * for BIOMD0000000048.xml diagram at 2008.03.20 15:04:27 */ import biouml.plugins.simulation.ae.NewtonSolver; import biouml.plugins.simulation.java.JavaBaseModel; import ru.biosoft.math.MathRoutines; public class BIOMD0000000048 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 = (v1_k1f*(x[5]/compartment)*(x[0]/compartment) - v1_k1b*(x[22]/compartment))*compartment; rate_v10 = (v10_k10f*(x[20]/compartment)*(x[13]/compartment) - v10_k10b*(x[6]/compartment))*compartment; rate_v11 = (v11_k11f*(x[6]/compartment) - v11_k11b*(x[21]/compartment)*(x[18]/compartment))*compartment; rate_v12 = (v12_k12f*(x[18]/compartment) - v12_k12b*(x[1]/compartment)*(x[13]/compartment))*compartment; rate_v13 = (v13_k13f*(x[21]/compartment)*(x[17]/compartment) - v13_k13b*(x[9]/compartment))*compartment; rate_v14 = (v14_k14f*(x[9]/compartment) - v14_k14b*(x[12]/compartment))*compartment; rate_v15 = (v15_k15f*(x[12]/compartment) - v15_k15b*(x[16]/compartment)*(x[21]/compartment))*compartment; rate_v16 = v16_V16*(x[16]/compartment)/(v16_K16 + x[16]/compartment)*compartment; rate_v17 = (v17_k17f*(x[12]/compartment)*(x[1]/compartment) - v17_k17b*(x[10]/compartment))*compartment; rate_v18 = (v18_k18f*(x[10]/compartment) - v18_k18b*(x[21]/compartment)*(x[14]/compartment))*compartment; rate_v19 = (v19_k19f*(x[10]/compartment)*(x[13]/compartment) - v19_k19b*(x[11]/compartment))*compartment; rate_v2 = (v2_k2f*(x[22]/compartment)*(x[22]/compartment) - v2_k2b*(x[19]/compartment))*compartment; rate_v20 = (v20_k20f*(x[11]/compartment) - v20_k20b*(x[15]/compartment)*(x[21]/compartment))*compartment; rate_v21 = (v21_k21f*(x[16]/compartment)*(x[1]/compartment) - v21_k21b*(x[14]/compartment))*compartment; rate_v22 = (v22_k22f*(x[14]/compartment)*(x[13]/compartment) - v22_k22b*(x[15]/compartment))*compartment; rate_v23 = (v23_k23f*(x[15]/compartment) - v23_k23b*(x[16]/compartment)*(x[18]/compartment))*compartment; rate_v24 = (v24_k24f*(x[12]/compartment)*(x[18]/compartment) - v24_k24b*(x[11]/compartment))*compartment; rate_v25 = (v25_k25f*(x[3]/compartment) - v25_k25b*(x[4]/compartment))*compartment; rate_v3 = (v3_k3f*(x[19]/compartment) - v3_k3b*(x[21]/compartment))*compartment; rate_v4 = v4_V4*(x[21]/compartment)/(v4_K4 + x[21]/compartment)*compartment; rate_v5 = (v5_k5f*(x[21]/compartment)*(x[2]/compartment) - v5_k5b*(x[7]/compartment))*compartment; rate_v6 = (v6_k6f*(x[7]/compartment) - v6_k6b*(x[8]/compartment))*compartment; rate_v7 = (v7_k7f*(x[8]/compartment) - v7_k7b*(x[21]/compartment)*(x[3]/compartment))*compartment; rate_v8 = v8_V8*(x[3]/compartment)/(v8_K8 + x[3]/compartment)*compartment; rate_v9 = (v9_k9f*(x[21]/compartment)*(x[1]/compartment) - v9_k9b*(x[20]/compartment))*compartment; } public void Init() { initialValues = getInitialValues(); /* * Initialize variables */ compartment = 3.0E-12; // initial value of $compartment v10_k10b = 0.06; // initial value of v10_k10b v10_k10f = 0.01; // initial value of v10_k10f v11_k11b = 0.0045; // initial value of v11_k11b v11_k11f = 0.03; // initial value of v11_k11f v12_k12b = 1.0E-4; // initial value of v12_k12b v12_k12f = 0.0015; // initial value of v12_k12f v13_k13b = 0.6; // initial value of v13_k13b v13_k13f = 0.09; // initial value of v13_k13f v14_k14b = 0.06; // initial value of v14_k14b v14_k14f = 6.0; // initial value of v14_k14f v15_k15b = 9.0E-4; // initial value of v15_k15b v15_k15f = 0.3; // initial value of v15_k15f v16_K16 = 340.0; // initial value of v16_K16 v16_V16 = 1.7; // initial value of v16_V16 v17_k17b = 0.1; // initial value of v17_k17b v17_k17f = 0.0030; // initial value of v17_k17f v18_k18b = 9.0E-4; // initial value of v18_k18b v18_k18f = 0.3; // initial value of v18_k18f v19_k19b = 0.0214; // initial value of v19_k19b v19_k19f = 0.01; // initial value of v19_k19f v1_k1b = 0.06; // initial value of v1_k1b v1_k1f = 0.0030; // initial value of v1_k1f v20_k20b = 2.4E-4; // initial value of v20_k20b v20_k20f = 0.12; // initial value of v20_k20f v21_k21b = 0.1; // initial value of v21_k21b v21_k21f = 0.0030; // initial value of v21_k21f v22_k22b = 0.064; // initial value of v22_k22b v22_k22f = 0.03; // initial value of v22_k22f v23_k23b = 0.021; // initial value of v23_k23b v23_k23f = 0.1; // initial value of v23_k23f v24_k24b = 0.0429; // initial value of v24_k24b v24_k24f = 0.0090; // initial value of v24_k24f v25_k25b = 0.03; // initial value of v25_k25b v25_k25f = 1.0; // initial value of v25_k25f v2_k2b = 0.1; // initial value of v2_k2b v2_k2f = 0.01; // initial value of v2_k2f v3_k3b = 0.01; // initial value of v3_k3b v3_k3f = 1.0; // initial value of v3_k3f v4_K4 = 50.0; // initial value of v4_K4 v4_V4 = 450.0; // initial value of v4_V4 v5_k5b = 0.2; // initial value of v5_k5b v5_k5f = 0.06; // initial value of v5_k5f v6_k6b = 0.05; // initial value of v6_k6b v6_k6f = 1.0; // initial value of v6_k6f v7_k7b = 0.0060; // initial value of v7_k7b v7_k7f = 0.3; // initial value of v7_k7f v8_K8 = 100.0; // initial value of v8_K8 v8_V8 = 1.0; // initial value of v8_V8 v9_k9b = 0.05; // initial value of v9_k9b v9_k9f = 0.0030; // initial value of v9_k9f } /* * Model variables initial values */ protected double rate_v1; protected double rate_v10; protected double rate_v11; protected double rate_v12; protected double rate_v13; protected double rate_v14; protected double rate_v15; protected double rate_v16; protected double rate_v17; protected double rate_v18; protected double rate_v19; protected double rate_v2; protected double rate_v20; protected double rate_v21; protected double rate_v22; protected double rate_v23; protected double rate_v24; protected double rate_v25; 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_k10b; protected double v10_k10f; protected double v11_k11b; protected double v11_k11f; protected double v12_k12b; protected double v12_k12f; protected double v13_k13b; protected double v13_k13f; protected double v14_k14b; protected double v14_k14f; protected double v15_k15b; protected double v15_k15f; protected double v16_K16; protected double v16_V16; protected double v17_k17b; protected double v17_k17f; protected double v18_k18b; protected double v18_k18f; protected double v19_k19b; protected double v19_k19f; protected double v1_k1b; protected double v1_k1f; protected double v20_k20b; protected double v20_k20f; protected double v21_k21b; protected double v21_k21f; protected double v22_k22b; protected double v22_k22f; protected double v23_k23b; protected double v23_k23f; protected double v24_k24b; protected double v24_k24f; protected double v25_k25b; protected double v25_k25f; protected double v2_k2b; protected double v2_k2f; protected double v3_k3b; protected double v3_k3f; protected double v4_K4; protected double v4_V4; protected double v5_k5b; protected double v5_k5f; protected double v6_k6b; protected double v6_k6f; protected double v7_k7b; protected double v7_k7f; protected double v8_K8; protected double v8_V8; protected double v9_k9b; protected double v9_k9f; public double[] extendResult(double time,double [] x) { this.time = time; double[] y = new double[23]; y[0] = x[0]; y[1] = x[1]; y[2] = x[2]; y[3] = x[3]; y[4] = x[4]; y[5] = x[5]; y[6] = x[6]; y[7] = x[7]; y[8] = x[8]; y[9] = x[9]; y[10] = x[10]; y[11] = x[11]; y[12] = x[12]; y[13] = x[13]; y[14] = x[14]; y[15] = x[15]; y[16] = x[16]; y[17] = x[17]; y[18] = x[18]; y[19] = x[19]; y[20] = x[20]; y[21] = x[21]; y[22] = x[22]; return y; } public double[] getInitialValues() { double [] x = new double[23]; this.time = 0.0; x[0] = 2.04E-9; // - $"compartment.EGF" x[1] = 2.55E-10; // - $"compartment.Grb" x[2] = 3.15E-10; // - $"compartment.PLCg" x[3] = 0.0; // - $"compartment.PLCgP" x[4] = 0.0; // - $"compartment.PLCgl" x[5] = 3.0E-10; // - $"compartment.R" x[6] = 0.0; // - $"compartment.RGS" x[7] = 0.0; // - $"compartment.RPLCg" x[8] = 0.0; // - $"compartment.RPLCgP" x[9] = 0.0; // - $"compartment.RSh" x[10] = 0.0; // - $"compartment.RShG" x[11] = 0.0; // - $"compartment.RShGS" x[12] = 0.0; // - $"compartment.RShP" x[13] = 1.0200000000000001E-10; // - $"compartment.SOS" x[14] = 0.0; // - $"compartment.ShG" x[15] = 0.0; // - $"compartment.ShGS" x[16] = 0.0; // - $"compartment.ShP" x[17] = 4.5E-10; // - $"compartment.Shc" x[18] = 0.0; // - $compartment.GS x[19] = 0.0; // - $compartment.R2 x[20] = 0.0; // - $compartment.RG x[21] = 0.0; // - $compartment.RP x[22] = 0.0; // - $compartment.Ra __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 'BIOMD0000000048.xml' model */ public void __internalDyDt_0(double time, double [] x, double[] result) { result[0] = -rate_v1; result[1] = +rate_v12-rate_v17-rate_v21-rate_v9; result[2] = -rate_v5+rate_v8; result[3] = -rate_v25+rate_v7-rate_v8; result[4] = +rate_v25; result[5] = -rate_v1; result[6] = +rate_v10-rate_v11; result[7] = +rate_v5-rate_v6; result[8] = +rate_v6-rate_v7; result[9] = +rate_v13-rate_v14; result[10] = +rate_v17-rate_v18-rate_v19; result[11] = +rate_v19-rate_v20+rate_v24; result[12] = +rate_v14-rate_v15-rate_v17-rate_v24; result[13] = -rate_v10+rate_v12-rate_v19-rate_v22; result[14] = +rate_v18+rate_v21-rate_v22; result[15] = +rate_v20+rate_v22-rate_v23; result[16] = +rate_v15-rate_v16-rate_v21+rate_v23; result[17] = -rate_v13+rate_v16; result[18] = +rate_v11-rate_v12+rate_v23-rate_v24; result[19] = +rate_v2-rate_v3+rate_v4; result[20] = -rate_v10+rate_v9; result[21] = +rate_v11-rate_v13+rate_v15+rate_v18+rate_v20+rate_v3-rate_v4-rate_v5+rate_v7-rate_v9; result[22] = +rate_v1-rate_v2*2; } protected double [] calculateResult(double time, double[] x) { double[] result = new double[23]; __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 ...