Skip to content

Commit 44d4a9f

Browse files
Release 1.1.2 (#41)
* Removing duplicate implementations in several package.mo files (#40) * removing duplicate implementations in package.mo * remove duplicate implementations in package.mo * removing duplicate implementations from package.mo * remove duplicate implementation from package.mo * release 1.1.2 * release notes V1.1.2
1 parent 73e66b7 commit 44d4a9f

File tree

32 files changed

+26
-7634
lines changed

32 files changed

+26
-7634
lines changed

BioChem/Examples/package.mo

Lines changed: 0 additions & 3590 deletions
Large diffs are not rendered by default.

BioChem/Math/package.mo

Lines changed: 1 addition & 111 deletions
Original file line numberDiff line numberDiff line change
@@ -1,119 +1,9 @@
11
within BioChem;
22

33
package Math
4-
extends Icons.Library;
5-
function log10 = Modelica.Math.log10 annotation(
6-
Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})),
7-
Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10})));
4+
extends BioChem.Icons.Library;
85

9-
function factorial "factorial function, product of all positive integers less than or equal to n"
10-
input Integer n "input value";
11-
output Integer y "output value";
12-
protected
13-
Integer i;
14-
algorithm
15-
y := n;
16-
i := n;
17-
while i > 1 loop
18-
i := i - 1;
19-
y := y * i;
20-
end while;
21-
annotation(
22-
Diagram(coordinateSystem(extent = {{-148.5, 105}, {148.5, -105}}, preserveAspectRatio = true, grid = {10, 10})),
23-
Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Text(fillPattern = FillPattern.Solid, extent = {{-100, -100}, {100, 100}}, textString = "n!", fontName = "Arial")}));
24-
end factorial;
25-
26-
function sec "secant trigonometric function"
27-
input Modelica.Units.SI.Angle alpha "input angle";
28-
output Real y "output value";
29-
algorithm
30-
y := 1 / cos(alpha);
31-
annotation(
32-
Diagram(coordinateSystem(extent = {{-148.5, 105}, {148.5, -105}}, preserveAspectRatio = true, grid = {10, 10})),
33-
Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Text(fillPattern = FillPattern.Solid, extent = {{-100, -100}, {100, 100}}, textString = "sec( )", fontName = "Arial")}));
34-
end sec;
35-
36-
function cot "Cotangent trigonometric function"
37-
input Modelica.Units.SI.Angle alpha "input angle";
38-
output Real y "output value";
39-
algorithm
40-
y := 1 / tan(alpha);
41-
annotation(
42-
Diagram(coordinateSystem(extent = {{-148.5, 105}, {148.5, -105}}, preserveAspectRatio = true, grid = {10, 10})),
43-
Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Text(fillPattern = FillPattern.Solid, extent = {{-100, -100}, {100, 100}}, textString = "cot( )", fontName = "Arial")}));
44-
end cot;
45-
46-
function csc "cosecant trigonometric function"
47-
input Modelica.Units.SI.Angle alpha "input angle";
48-
output Real y "output value";
49-
algorithm
50-
y := 1 / sin(alpha);
51-
annotation(
52-
Diagram(coordinateSystem(extent = {{-148.5, 105}, {148.5, -105}}, preserveAspectRatio = true, grid = {10, 10})),
53-
Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Text(fillPattern = FillPattern.Solid, extent = {{-100, -100}, {100, 100}}, textString = "csc( )", fontName = "Arial")}));
54-
end csc;
55-
56-
function sech "hyperbolic secant trigonometric function"
57-
input Modelica.Units.SI.Angle alpha "input angle";
58-
output Real y "output value";
59-
algorithm
60-
y := 1 / cosh(alpha);
61-
annotation(
62-
Diagram(coordinateSystem(extent = {{-148.5, 105}, {148.5, -105}}, preserveAspectRatio = true, grid = {10, 10})),
63-
Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Text(fillPattern = FillPattern.Solid, extent = {{-100, -100}, {100, 100}}, textString = "sech( )", fontName = "Arial")}));
64-
end sech;
65-
66-
function csch "hyperbolic cosecant trigonometric function"
67-
input Modelica.Units.SI.Angle alpha "input angle";
68-
output Real y "output value";
69-
algorithm
70-
y := 1 / sinh(alpha);
71-
annotation(
72-
Diagram(coordinateSystem(extent = {{-148.5, 105}, {148.5, -105}}, preserveAspectRatio = true, grid = {10, 10})),
73-
Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Text(fillPattern = FillPattern.Solid, extent = {{-100, -100}, {100, 100}}, textString = "csch( )", fontName = "Arial")}));
74-
end csch;
75-
76-
function coth "hyperbolic cotangent trigonometric function"
77-
input Modelica.Units.SI.Angle alpha "input angle";
78-
output Real y "output value";
79-
algorithm
80-
y := 1 / tanh(alpha);
81-
annotation(
82-
Diagram(coordinateSystem(extent = {{-148.5, 105}, {148.5, -105}}, preserveAspectRatio = true, grid = {10, 10})),
83-
Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Text(fillPattern = FillPattern.Solid, extent = {{-100, -100}, {100, 100}}, textString = "coth( )", fontName = "Arial")}));
84-
end coth;
85-
86-
function root
87-
input Real n "degree";
88-
input Real a "value";
89-
output Real y "output value";
90-
algorithm
91-
y := a ^ (1 / n);
92-
annotation(
93-
Diagram(coordinateSystem(extent = {{-148.5, 105}, {148.5, -105}}, preserveAspectRatio = true, grid = {10, 10})),
94-
Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Text(fillPattern = FillPattern.Solid, extent = {{-100, -100}, {100, 100}}, textString = "root", fontName = "Arial")}));
95-
end root;
96-
97-
function piecewise "Piecewise function that corresponds to the SBML piecewice definition"
98-
input Real[:] value "Input values in the form {value1,value2,...,valueN,valueN+1}.";
99-
input Boolean[:] condition "Input conditions in the form {condition1,condition2,...,conditionN}. Not more than one condition is allowed to be true at any given time.";
100-
output Real y "Output value selected from the list of inputs.";
101-
protected
102-
parameter Integer nin = size(condition, 1);
103-
algorithm
104-
y := value[nin + 1];
105-
for i in 1:nin loop
106-
if condition[i] then
107-
y := value[i];
108-
end if;
109-
end for;
110-
annotation(
111-
Diagram(coordinateSystem(extent = {{-148.5, -105.0}, {148.5, 105.0}}, preserveAspectRatio = true, grid = {10, 10})),
112-
Icon(coordinateSystem(extent = {{-100.0, -100.0}, {100.0, 100.0}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Text(origin = {0.0, -0.0}, fillPattern = FillPattern.Solid, extent = {{-100.0, -30.0}, {100.0, 30.0}}, textString = "piecewise()", fontName = "Arial")}));
113-
end piecewise;
1146
annotation(
115-
Diagram(coordinateSystem(extent = {{-148.5, 105}, {148.5, -105}}, preserveAspectRatio = true, grid = {10, 10})),
116-
Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Text(origin = {1.40855, -8.72502}, fillPattern = FillPattern.Solid, extent = {{-81.4085, -69.705}, {56.8628, 38.725}}, textString = "f(x)", fontName = "Arial")}),
1177
Documentation(info = "<html>
1188
<h1>Math</h1>
1199
A number of mathematical functions are used in pathway models. Some of these can be found in

BioChem/Reactions/Activation/package.mo

Lines changed: 1 addition & 112 deletions
Original file line numberDiff line numberDiff line change
@@ -1,117 +1,6 @@
11
within BioChem.Reactions;
22
package Activation "Activation kinetics reactions"
3-
extends Icons.Library;
4-
model Umar "Reversible mixed activation kinetics"
5-
extends BioChem.Interfaces.Reactions.Uur;
6-
extends BioChem.Interfaces.Reactions.Modifiers.Activator;
7-
parameter BioChem.Units.Concentration Kas=1 "Activation constant";
8-
parameter BioChem.Units.Concentration Kac=1 "Activation constant";
9-
parameter BioChem.Units.Concentration KmS=1 "Forward Michaelis-Menten constant";
10-
parameter BioChem.Units.Concentration KmP=1 "Backward Michaelis-Menten constant";
11-
parameter BioChem.Units.ReactionRate vF=1 "Forward maximum velocity";
12-
parameter BioChem.Units.ReactionRate vR=1 "Backward maximum velocity";
13-
equation
14-
rr=(vF*s1.c/KmS - vR*p1.c/KmP)/(1 + Kas/a1.c + (s1.c/KmS + p1.c/KmP)*(1 + Kac/a1.c));
15-
annotation(Documentation(info="<html>
16-
<p>
17-
Reversible mixed activation kinetics.
18-
</p>
19-
</html>"));
20-
end Umar;
21-
22-
model Umai "Irreversible mixed activation kinetics"
23-
extends BioChem.Interfaces.Reactions.Uui;
24-
extends BioChem.Interfaces.Reactions.Modifiers.Activator;
25-
parameter BioChem.Units.Concentration Kac=1 "Activation constant";
26-
parameter BioChem.Units.Concentration Kas=1 "Activation constant";
27-
parameter BioChem.Units.Concentration KmS=1 "Forward Michaelis-Menten constant";
28-
parameter BioChem.Units.ReactionRate vF=1 "Forward maximum velocity";
29-
equation
30-
rr=vF*s1.c*a1.c/(s1.c*(a1.c + Kac) + KmS*(a1.c + Kas));
31-
annotation(Documentation(info="<html>
32-
<p>
33-
Irreversible mixed activation kinetics.
34-
</p>
35-
</html>"));
36-
end Umai;
37-
38-
model Uctr "Reversible catalytic activation"
39-
extends BioChem.Interfaces.Reactions.Uur;
40-
extends BioChem.Interfaces.Reactions.Modifiers.Activator;
41-
parameter BioChem.Units.Concentration Ka=1 "Activation constant";
42-
parameter BioChem.Units.Concentration KmS=1 "Forward Michaelis-Menten constant";
43-
parameter BioChem.Units.Concentration KmP=1 "Backward Michaelis-Menten constant";
44-
parameter BioChem.Units.ReactionRate vF=1 "Forward maximum velocity";
45-
parameter BioChem.Units.ReactionRate vR=1 "Backward maximum velocity";
46-
equation
47-
rr=(vF*s1.c/KmS - vR*p1.c/KmP)/(1 + Ka/a1.c + (s1.c/KmS + p1.c/KmP)*(1 + Ka/a1.c));
48-
annotation(Documentation(info="<html>
49-
<p>
50-
Reversible catalytic activation.
51-
</p>
52-
</html>"));
53-
end Uctr;
54-
55-
model Ucti "Irreversible catalytic activation"
56-
extends BioChem.Interfaces.Reactions.Uui;
57-
extends BioChem.Interfaces.Reactions.Modifiers.Activator;
58-
parameter BioChem.Units.Concentration Ka=1 "Activation constant";
59-
parameter BioChem.Units.Concentration KmS=1 "Forward Michaelis-Menten constant";
60-
parameter BioChem.Units.ReactionRate vF=1 "Forward maximum velocity";
61-
equation
62-
rr=vF*s1.c*a1.c/((a1.c + Ka)*(s1.c + KmS));
63-
annotation(Documentation(info="<html>
64-
<p>
65-
Irreversible catalytic activation.
66-
</p>
67-
</html>"));
68-
end Ucti;
69-
70-
model Uar "Reversible specific activation kinetics"
71-
extends BioChem.Interfaces.Reactions.Uur;
72-
extends BioChem.Interfaces.Reactions.Modifiers.Activator;
73-
parameter BioChem.Units.Concentration Ka=1 "Activation constant";
74-
parameter BioChem.Units.Concentration KmS=1 "Forward Michaelis-Menten constant";
75-
parameter BioChem.Units.Concentration KmP=1 "Backward Michaelis-Menten constant";
76-
parameter BioChem.Units.ReactionRate vF=1 "Forward maximum velocity";
77-
parameter BioChem.Units.ReactionRate vR=1 "Backward maximum velocity";
78-
equation
79-
rr=(vF*s1.c/KmS - vR*p1.c/KmP)/(1 + s1.c/KmS + p1.c/KmP + Ka/a1.c);
80-
annotation(Documentation(info="<html>
81-
<p>
82-
Reversible specific activation kinetics.
83-
</p>
84-
</html>"));
85-
end Uar;
86-
87-
model Uaii "Irreversible specific activation kinetics"
88-
extends BioChem.Interfaces.Reactions.Uui;
89-
extends BioChem.Interfaces.Reactions.Modifiers.Activator;
90-
parameter BioChem.Units.Concentration Ka=1 "Activation constant";
91-
parameter BioChem.Units.Concentration KmS=1 "Forward Michaelis-Menten constant";
92-
parameter BioChem.Units.ReactionRate vF=1 "Forward maximum velocity";
93-
equation
94-
rr=vF*s1.c*a1.c/(a1.c*(KmS + s1.c) + KmS*Ka);
95-
annotation(Documentation(info="<html>
96-
<p>
97-
Irreversible specific activation kinetics.
98-
</p>
99-
</html>"));
100-
end Uaii;
101-
102-
model Uai "Irreversible substrate activation"
103-
extends BioChem.Interfaces.Reactions.Uui;
104-
parameter BioChem.Units.Concentration KSa=1 "Dissociation constant of substrate-activation site";
105-
parameter BioChem.Units.Concentration KSc=1 "Dissociation constant of substrate-active site";
106-
parameter BioChem.Units.ReactionRate vF=1 "Forward maximum velocity";
107-
equation
108-
rr=vF*s1.c/KSa*s1.c/KSa/(1 + s1.c/KSc + s1.c/KSa*s1.c/KSa + s1.c/KSa);
109-
annotation(Documentation(info="<html>
110-
<p>
111-
Irreversible substrate activation.
112-
</p>
113-
</html>"));
114-
end Uai;
3+
extends BioChem.Icons.Library;
1154

1165
annotation(Documentation(info="<html>
1176
<h1>Activation</h1>

BioChem/Reactions/BiSubstrate/package.mo

Lines changed: 2 additions & 108 deletions
Original file line numberDiff line numberDiff line change
@@ -1,113 +1,7 @@
11
within BioChem.Reactions;
22
package BiSubstrate "Bi-substrate reactions"
3-
extends Icons.Library;
4-
model Ppbr "Ping pong bi-bi kinetics"
5-
extends BioChem.Interfaces.Reactions.Basics.Reaction;
6-
extends BioChem.Interfaces.Reactions.Basics.TwoSubstratesReversible;
7-
extends BioChem.Interfaces.Reactions.Basics.TwoProducts;
8-
parameter BioChem.Units.Concentration Keq=1 "Equilibrium constant";
9-
parameter BioChem.Units.Concentration KiS1=1 "Product inhibition constant of s1.c acting on the reverse reaction";
10-
parameter BioChem.Units.Concentration KiP2=1 "Product inhibition constant of p2.c acting on the forward reaction";
11-
parameter BioChem.Units.Concentration KmS1=1 "Concentration of s1.c such that v = vF/2 (Michaelis constant) at zero p1.c and zero p2.c";
12-
parameter BioChem.Units.Concentration KmS2=1 "Concentration of s2.c such that v = vF/2 (Michaelis constant) at saturating s1.c and zero p1.c";
13-
parameter BioChem.Units.Concentration KmP1=1 "Concentration of p1.c such that v = -vR/2 (Michaelis constant) at zero s1.c and zero s2.c";
14-
parameter BioChem.Units.Concentration KmP2=1 "Concentration of p2.c such that v = -vR/2 (Michaelis constant) at zero s1.c and saturating p1.c";
15-
parameter BioChem.Units.ReactionRate vF=1 "Forward maximum velocity";
16-
parameter BioChem.Units.ReactionRate vR=1 "Reverse maximum velocity";
17-
protected
18-
Real K1;
19-
equation
20-
s1.r=rr;
21-
s2.r=rr;
22-
p1.r=-rr;
23-
p2.r=-rr;
24-
K1=vF/(vR*Keq)*(KmP2*p1.c*(1 + s1.c/KiS1) + p2.c*(KmP1 + p1.c));
25-
rr=vF*(s1.c*s2.c - p1.c*p2.c/Keq)/(s1.c*s2.c + KmS2*s1.c + KmS1*s2.c*(1 + p2.c/KiP2) + K1);
26-
annotation(Documentation(info="<html>
27-
<p>
28-
Ping pong bi-bi kinetics.
29-
</p>
30-
</html>"));
31-
end Ppbr;
32-
33-
model Ordubr "Ordered uni-bi kinetics"
34-
extends BioChem.Interfaces.Reactions.Basics.Reaction;
35-
extends BioChem.Interfaces.Reactions.Basics.OneSubstrateReversible;
36-
extends BioChem.Interfaces.Reactions.Basics.TwoProducts;
37-
parameter BioChem.Units.Concentration Keq=1 "Equilibrium constant";
38-
parameter BioChem.Units.Concentration KiP1=1 "Product inhibition constant of s1.c acting on the reverse reaction";
39-
parameter BioChem.Units.Concentration KmS1=1 "Concentration of s1.c such that v = vF/2 (Michaelis constant) at zero p1.c and zero p2.c";
40-
parameter BioChem.Units.Concentration KmP1=1 "Concentration of p1.c such that v = -vR/2 (Michaelis constant) at zero s1.c and zero s2.c";
41-
parameter BioChem.Units.Concentration KmP2=1 "Concentration of p2.c such that v = -vR/2 (Michaelis constant) at zero s1.c and saturating p1.c";
42-
parameter BioChem.Units.ReactionRate vF=1 "Forward maximum velocity";
43-
parameter BioChem.Units.ReactionRate vR=1 "Reverse maximum velocity";
44-
equation
45-
s1.r=rr;
46-
p1.r=-rr;
47-
p2.r=-rr;
48-
rr=vF*(s1.c - p1.c*p2.c/Keq)/(KmS1 + s1.c*(1 + p1.c/KiP1) + vF/(vR*Keq)*(KmP2*p1.c + KmP1*p2.c + p1.c*p2.c));
49-
annotation(Documentation(info="<html>
50-
<p>
51-
Ordered uni-bi kinetics.
52-
</p>
53-
</html>"));
54-
end Ordubr;
55-
56-
model Ordbur "Ordered bi-uni kinetics"
57-
extends BioChem.Interfaces.Reactions.Basics.Reaction;
58-
extends BioChem.Interfaces.Reactions.Basics.TwoSubstratesReversible;
59-
extends BioChem.Interfaces.Reactions.Basics.OneProduct;
60-
parameter BioChem.Units.Concentration Keq=1 "Equilibrium constant";
61-
parameter BioChem.Units.Concentration KiS1=1 "Product inhibition constant of s1.c acting on the reverse reaction";
62-
parameter BioChem.Units.Concentration KmS1=1 "Concentration of s1.c such that v = vF/2 (Michaelis constant) at zero p1.c";
63-
parameter BioChem.Units.Concentration KmS2=1 "Concentration of B such that v = vF/2 (Michaelis constant) at saturating s1.c and zero p1.c";
64-
parameter BioChem.Units.Concentration KmP1=1 "Concentration of p1.c such that v = -vR/2 (Michaelis constant) at zero s1.c and zero s2.c";
65-
parameter BioChem.Units.ReactionRate vF=1 "Forward maximum velocity";
66-
parameter BioChem.Units.ReactionRate vR=1 "Reverse maximum velocity";
67-
equation
68-
s1.r=rr;
69-
s2.r=rr;
70-
p1.r=-rr;
71-
rr=vF*(s1.c*s2.c - p1.c/Keq)/(s1.c*s2.c + KmS1*s2.c + KmS2*s1.c + vF/(vR*Keq)*(KmP1 + p1.c*(1 + s1.c/KiS1)));
72-
annotation(Documentation(info="<html>
73-
<p>
74-
Ordered bi-uni kinetics.
75-
</p>
76-
</html>"));
77-
end Ordbur;
78-
79-
model Ordbbr "Ordered bi-bi kinetics"
80-
extends BioChem.Interfaces.Reactions.Basics.Reaction;
81-
extends BioChem.Interfaces.Reactions.Basics.TwoSubstratesReversible;
82-
extends BioChem.Interfaces.Reactions.Basics.TwoProducts;
83-
parameter BioChem.Units.Concentration Keq=1 "Equilibrium constant";
84-
parameter BioChem.Units.Concentration KiS1=1 "Product inhibition constant of s1.c acting on the reverse reaction";
85-
parameter BioChem.Units.Concentration KiS2=1 "Product inhibition constant of s2.c acting on the reverse reaction";
86-
parameter BioChem.Units.Concentration KiP1=1 "Product inhibition constant of p1.c acting on the forward reaction";
87-
parameter BioChem.Units.Concentration KmS1=1 "Concentration of s1.c such that v = vF/2 (Michaelis constant) at zero p1.c and zero p2.c";
88-
parameter BioChem.Units.Concentration KmS2=1 "Concentration of s2.c such that v = vF/2 (Michaelis constant) at saturating s1.c and zero p1.c";
89-
parameter BioChem.Units.Concentration KmP1=1 "Concentration of p1.c such that v = -vR/2 (Michaelis constant) at zero s1.c and zero s2.c";
90-
parameter BioChem.Units.Concentration KmP2=1 "Concentration of p2.c such that v = -vR/2 (Michaelis constant) at zero s1.c and saturating p1.c";
91-
parameter BioChem.Units.ReactionRate vF=1 "Forward maximum velocity";
92-
parameter BioChem.Units.ReactionRate vR=1 "Reverse maximum velocity";
93-
protected
94-
Real K1;
95-
Real K2;
96-
equation
97-
s1.r=rr;
98-
s2.r=rr;
99-
p1.r=-rr;
100-
p2.r=-rr;
101-
K1=vF/(vR*Keq)*(KmP2*p1.c*(1 + s1.c/KiS1) + p2.c*K2);
102-
K2=KmP1*(1 + KmS1*s2.c/(KiS1*KmS2) + p1.c*(1 + s2.c/KiS2));
103-
rr=vF*(s1.c*s2.c - p1.c*p2.c/Keq)/(s1.c*s2.c*(1 + p1.c/KiP1) + KmS2*(s1.c + KiS1) + KmS1*s2.c + K1);
104-
annotation(Documentation(info="<html>
105-
<p>
106-
Ordered bi-bi kinetics.
107-
</p>
108-
</html>"));
109-
end Ordbbr;
110-
3+
extends BioChem.Icons.Library;
4+
1115
annotation(Documentation(info="<html>
1126
<h1>BiSubstrate</h1>
1137
<p>

0 commit comments

Comments
 (0)