Skip to content

Commit b1d0fa7

Browse files
committed
nfkb added into the code
1 parent 23b9e8b commit b1d0fa7

File tree

2 files changed

+54
-15
lines changed

2 files changed

+54
-15
lines changed

example-files/nfkb_cuqdyn_config.xml

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,21 +6,21 @@
66
<atol>1e-8, 1e-8, 1e-8, 1e-8, 1e-8, 1e-8, 1e-8, 1e-8, 1e-8, 1e-8, 1e-8, 1e-8, 1e-8, 1e-8, 1e-8</atol>
77
</tolerances>
88
<ode_expr y_count="15" p_count="29">
9-
p20 - p21 * y1 - p17 * y1
10-
p17 * y1 - p19 * y2 - p18 * y2 * y8 - p21 * y2 - p2 * y2 * y10 + p3 * y4 - p4 * y2 * y13 + p5 * y5
11-
p19 * y2 + p18 * y2 * y8 - p21 * y3
12-
p2 * y2 * y10 - p3 * y4
13-
p4 * y2 * y13 - p5 * y5
14-
p11 * y13 - p1 * y6 * y10 + p5 * y5 - p23 * y6
15-
p23 * p22 * y6 - p1 * y11 * y7
16-
p15 * y9 - p16 * y8
17-
p13 + p12 * y7 - p14 * y9
18-
-p2 * y2 * y10 - p1 * y10 * y6 + p9 * y12 - p10 * y10 - p25 * y10 + p26 * y11
19-
-p1 * y11 * y7 + p25 * p22 * y10 - p26 * p22 * y11
20-
p7 + p6 * y7 - p8 * y12
21-
p1 * y10 * y6 - p11 * y13 - p4 * y2 * y13 + p24 * y14
22-
p1 * y11 * y7 - p24 * p22 * y14
23-
p28 + p27 * y7 - p29 * y15
9+
nfkb
10+
a
11+
a
12+
a
13+
a
14+
a
15+
a
16+
a
17+
a
18+
a
19+
a
20+
a
21+
a
22+
a
23+
a
2424
</ode_expr>
2525
<y0>
2626
0.200000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000316, 0.002296, 0.004783, 0.000003, 0.002507, 0.003436, 0.000003, 0.060000, 0.000079, 0.000003

modules/mexpreval/src/models.rs

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,8 +127,47 @@ impl Model for AlphaPinene {
127127
}
128128
}
129129

130+
struct Nfkb;
131+
132+
impl Model for Nfkb {
133+
fn eval(&self, _t: f64, y: &[f64], ydot: &mut [f64], p: &[f64]) {
134+
// p20 - p21 * y1 - p17 * y1
135+
// p17 * y1 - p19 * y2 - p18 * y2 * y8 - p21 * y2 - p2 * y2 * y10 + p3 * y4 - p4 * y2 * y13 + p5 * y5
136+
// p19 * y2 + p18 * y2 * y8 - p21 * y3
137+
// p2 * y2 * y10 - p3 * y4
138+
// p4 * y2 * y13 - p5 * y5
139+
// p11 * y13 - p1 * y6 * y10 + p5 * y5 - p23 * y6
140+
// p23 * p22 * y6 - p1 * y11 * y7
141+
// p15 * y9 - p16 * y8
142+
// p13 + p12 * y7 - p14 * y9
143+
// -p2 * y2 * y10 - p1 * y10 * y6 + p9 * y12 - p10 * y10 - p25 * y10 + p26 * y11
144+
// -p1 * y11 * y7 + p25 * p22 * y10 - p26 * p22 * y11
145+
// p7 + p6 * y7 - p8 * y12
146+
// p1 * y10 * y6 - p11 * y13 - p4 * y2 * y13 + p24 * y14
147+
// p1 * y11 * y7 - p24 * p22 * y14
148+
// p28 + p27 * y7 - p29 * y15
149+
150+
ydot[0] = p[19] - p[20] * y[0] - p[16] * y[0];
151+
ydot[1] = p[16] * y[0] - p[18] * y[1] - p[17] * y[1] * y[7] - p[20] * y[1] - p[1] * y[1] * y[9] + p[2] * y[3] - p[3] * y[1] * y[12] + p[4] * y[4];
152+
ydot[2] = p[18] * y[1] + p[17] * y[1] * y[7] - p[20] * y[2];
153+
ydot[3] = p[1] * y[1] * y[9] - p[2] * y[3];
154+
ydot[4] = p[3] * y[1] * y[12] - p[4] * y[4];
155+
ydot[5] = p[10] * y[12] - p[0] * y[5] * y[9] + p[4] * y[4] - p[22] * y[5];
156+
ydot[6] = p[22] * p[21] * y[5] - p[0] * y[10] * y[6];
157+
ydot[7] = p[14] * y[8] - p[15] * y[7];
158+
ydot[8] = p[12] + p[11] * y[6] - p[13] * y[8];
159+
ydot[9] = -p[1] * y[1] * y[9] - p[0] * y[9] * y[5] + p[8] * y[11] - p[9] * y[9] - p[23] * y[9] + p[24] * y[10];
160+
ydot[10] = -p[0] * y[10] * y[5] + p[23] * p[21] * y[9] - p[24] * p[21] * y[10];
161+
ydot[11] = p[6] + p[5] * y[6] - p[7] * y[11];
162+
ydot[12] = p[0] * y[1] * y[9] - p[10] * y[12] - p[3] * y[1] * y[12] + p[21] * y[13];
163+
ydot[13] = p[0] * y[10] * y[6] - p[23] * p[21] * y[13];
164+
ydot[14] = p[27] + p[26] * y[6] - p[28] * y[14];
165+
}
166+
}
167+
130168
pub fn build_model(model: &str, cuqdyn_conf: &CuqdynConfig) -> Box<dyn Model> {
131169
match model {
170+
"nfkb" => Box::new(Nfkb),
132171
"lotka-volterra" => Box::new(LotkaVolterra),
133172
"alpha-pinene" | "α-pinene" => Box::new(AlphaPinene),
134173
_ => Box::new(GenericModel::new(cuqdyn_conf))

0 commit comments

Comments
 (0)