diff --git a/BioChem/Compartments/Compartment.mo b/BioChem/Compartments/Compartment.mo index 625c85a..96590bf 100644 --- a/BioChem/Compartments/Compartment.mo +++ b/BioChem/Compartments/Compartment.mo @@ -1,13 +1,13 @@ within BioChem.Compartments; model Compartment "Default compartment (constant volume)" + extends BioChem.Interfaces.Compartments.Compartment(V(stateSelect=StateSelect.prefer)); +equation + der(V)=0 "Compartment volume is constant"; annotation(Documentation(info="

Compartment

Default compartment model.

", revisions=""), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Text(fillColor={0,85,0}, fillPattern=FillPattern.Solid, extent={{-100,-170},{100,-120}}, textString="%name", fontName="Arial"),Rectangle(lineColor={0,85,0}, fillColor={199,199,149}, fillPattern=FillPattern.Solid, lineThickness=10, extent={{-110,-110},{110,110}}, radius=20)}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Compartments.Compartment(V(stateSelect=StateSelect.prefer)); -equation - der(V)=0 "Compartment volume is constant"; end Compartment; diff --git a/BioChem/Examples/package.mo b/BioChem/Examples/package.mo index cb62c30..f62e5e1 100644 --- a/BioChem/Examples/package.mo +++ b/BioChem/Examples/package.mo @@ -1,7 +1,7 @@ within BioChem; package Examples "Some examples of BioChem models" - extends Icons.Library; + extends Modelica.Icons.ExamplesPackage; model InsulinSignaling_Sedaghat "Metabolic insulin signaling pathway in rat adipocytes" extends BioChem.Compartments.Compartment; diff --git a/BioChem/Icons/Substances/Package/package.mo b/BioChem/Icons/Substances/Package/package.mo new file mode 100644 index 0000000..c0f4bfe --- /dev/null +++ b/BioChem/Icons/Substances/Package/package.mo @@ -0,0 +1,8 @@ +within BioChem.Icons.Substances; + +partial package Package + extends BioChem.Icons.Library; +annotation( + Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Ellipse(origin = {-10, -50}, lineColor = {0, 56, 0}, fillColor = {0, 85, 0}, fillPattern = FillPattern.Sphere, extent = {{-60, -20}, {-20, 20}}), Ellipse(origin = {38, -10}, lineColor = {100, 100, 0}, fillColor = {255, 255, 0}, fillPattern = FillPattern.Sphere, extent = {{-28, -60}, {12, -20}}), Ellipse(origin = {-30.0032, -2.75056}, lineColor = {0, 0, 71}, fillColor = {0, 0, 127}, fillPattern = FillPattern.Sphere, extent = {{0.0032, -13.4697}, {40, 26.5303}})}), + Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}))); +end Package; diff --git a/BioChem/Icons/Substances/Package/package.order b/BioChem/Icons/Substances/Package/package.order new file mode 100644 index 0000000..e69de29 diff --git a/BioChem/Icons/Substances/package.mo b/BioChem/Icons/Substances/package.mo new file mode 100644 index 0000000..4e18a57 --- /dev/null +++ b/BioChem/Icons/Substances/package.mo @@ -0,0 +1,5 @@ +within BioChem.Icons; + +partial package Substances + extends BioChem.Icons; +end Substances; diff --git a/BioChem/Icons/Substances/package.order b/BioChem/Icons/Substances/package.order new file mode 100644 index 0000000..1ac7932 --- /dev/null +++ b/BioChem/Icons/Substances/package.order @@ -0,0 +1 @@ +Package diff --git a/BioChem/Icons/UnitsPackage.mo b/BioChem/Icons/UnitsPackage.mo new file mode 100644 index 0000000..6f356fc --- /dev/null +++ b/BioChem/Icons/UnitsPackage.mo @@ -0,0 +1,6 @@ +within BioChem.Icons; + +partial package UnitsPackage + extends Icons.Library; + annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Text(origin={0,-13.3333}, fillPattern=FillPattern.Solid, extent={{-100,-86.6667},{73.34,43.3333}}, textString="C", fontName="Arial"),Text(origin={0,-10}, fillPattern=FillPattern.Solid, extent={{6.51,6.81},{50,53.19}}, textString="o", fontName="Arial")}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); +end UnitsPackage; diff --git a/BioChem/Icons/package.mo b/BioChem/Icons/package.mo index 492548e..c1e1f48 100644 --- a/BioChem/Icons/package.mo +++ b/BioChem/Icons/package.mo @@ -1,9 +1,10 @@ within BioChem; package Icons "Icons" - extends Library; + extends Modelica.Icons.IconsPackage; partial package Library - annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Rectangle(fillColor={235,235,235}, fillPattern=FillPattern.Solid, extent={{-100,-100},{80,50}}),Polygon(fillColor={210,210,210}, fillPattern=FillPattern.Solid, points={{-100,50},{-80,70},{100,70},{80,50},{-100,50}}),Polygon(fillColor={210,210,210}, fillPattern=FillPattern.Solid, points={{100,70},{100,-80},{80,-100},{80,50},{100,70}})}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Rectangle(fillColor={235,235,235}, fillPattern=FillPattern.Solid, extent={{-100,-100},{80,50}}),Polygon(fillColor={210,210,210}, fillPattern=FillPattern.Solid, points={{-100,50},{-80,70},{100,70},{80,50},{-100,50}}),Polygon(fillColor={210,210,210}, fillPattern=FillPattern.Solid, points={{100,70},{100,-80},{80,-100},{80,50},{100,70}})}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), + Documentation(info = "Remark This package is somehow equivalent to Modelica.Icons.Package. However, the graphics is nicer and therefore I am leaving it.")); end Library; model IconBase @@ -11,11 +12,15 @@ package Icons "Icons" end IconBase; partial package Example "Icon for an example model" - annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Rectangle(fillColor={255,255,255}, fillPattern=FillPattern.Solid, extent={{-100,-100},{80,50}}),Polygon(fillColor={255,255,255}, fillPattern=FillPattern.Solid, points={{-100,50},{-80,70},{100,70},{80,50},{-100,50}}),Polygon(fillColor={255,255,255}, fillPattern=FillPattern.Solid, points={{100,70},{100,-80},{80,-100},{80,50},{100,70}}),Text(fillColor={0,0,255}, fillPattern=FillPattern.Solid, extent={{-85,-85},{65,35}}, textString="Example", fontName="Arial"),Text(fillColor={255,0,0}, extent={{-120,73},{120,132}}, textString="%name", fontName="Arial")}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Rectangle(fillColor={255,255,255}, fillPattern=FillPattern.Solid, extent={{-100,-100},{80,50}}),Polygon(fillColor={255,255,255}, fillPattern=FillPattern.Solid, points={{-100,50},{-80,70},{100,70},{80,50},{-100,50}}),Polygon(fillColor={255,255,255}, fillPattern=FillPattern.Solid, points={{100,70},{100,-80},{80,-100},{80,50},{100,70}}),Text(fillColor={0,0,255}, fillPattern=FillPattern.Solid, extent={{-85,-85},{65,35}}, textString="Example", fontName="Arial"),Text(fillColor={255,0,0}, extent={{-120,73},{120,132}}, textString="%name", fontName="Arial")}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), + Documentation(info = "The implementation of this Icon looks nicer than the implementation of Modelica.Icoms.Example.")); end Example; + + + annotation(Documentation(info="

Icons

This package contains icons that are used in the library. -", revisions="")); +", revisions= "")); end Icons; diff --git a/BioChem/Icons/package.order b/BioChem/Icons/package.order index 30cc86d..1754d3e 100644 --- a/BioChem/Icons/package.order +++ b/BioChem/Icons/package.order @@ -1,3 +1,5 @@ Library IconBase Example +UnitsPackage +Substances diff --git a/BioChem/Interfaces/Reactions/Basics/FourSubstrates.mo b/BioChem/Interfaces/Reactions/Basics/FourSubstrates.mo index c45b62e..46a4823 100644 --- a/BioChem/Interfaces/Reactions/Basics/FourSubstrates.mo +++ b/BioChem/Interfaces/Reactions/Basics/FourSubstrates.mo @@ -6,4 +6,5 @@ partial model FourSubstrates BioChem.Interfaces.Nodes.SubstrateConnector s2 annotation(Placement(transformation(origin={-90,-35}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-112.5,-37.5}, extent={{-12.5,-12.5},{12.5,12.5}}))); BioChem.Interfaces.Nodes.SubstrateConnector s3 annotation(Placement(transformation(origin={-90,25}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-112.5,37.5}, extent={{-12.5,-12.5},{12.5,12.5}}))); BioChem.Interfaces.Nodes.SubstrateConnector s1 annotation(Placement(transformation(origin={-87.5,87.5}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-112.5,87.5}, extent={{-12.5,-12.5},{12.5,12.5}}))); + annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Line(points={{-100,87.5},{-62.5,87.5},{-50,0}}, color={170,0,0}, smooth=Smooth.Bezier),Line(points={{-100,-87.5},{-62.5,-87.5},{-50,0}}, color={170,0,0}, smooth=Smooth.Bezier),Line(points={{-100,-37.5},{-62.5,-37.5},{-50,0}}, color={170,0,0}, smooth=Smooth.Bezier),Line(points={{-100,37.5},{-62.5,37.5},{-50,0}}, color={170,0,0}, smooth=Smooth.Bezier)}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end FourSubstrates; diff --git a/BioChem/Interfaces/Reactions/Basics/OneSubstrate.mo b/BioChem/Interfaces/Reactions/Basics/OneSubstrate.mo index 7a897eb..49e74ff 100644 --- a/BioChem/Interfaces/Reactions/Basics/OneSubstrate.mo +++ b/BioChem/Interfaces/Reactions/Basics/OneSubstrate.mo @@ -1,6 +1,6 @@ within BioChem.Interfaces.Reactions.Basics; partial model OneSubstrate "SubstanceConnector for one substrate" - annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Line(points={{-50,0},{-100,0}}, color={170,0,0}, arrowSize=25)}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); BioChem.Interfaces.Nodes.SubstrateConnector s1 annotation(Placement(transformation(origin={-80,0}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-112.5,-2.22045e-16}, extent={{-12.5,-12.5},{12.5,12.5}}))); + annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Line(points={{-50,0},{-100,0}}, color={170,0,0}, arrowSize=25)}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end OneSubstrate; diff --git a/BioChem/Interfaces/Reactions/Modifiers/ModifierForward.mo b/BioChem/Interfaces/Reactions/Modifiers/ModifierForward.mo index 8cb364e..d26e993 100644 --- a/BioChem/Interfaces/Reactions/Modifiers/ModifierForward.mo +++ b/BioChem/Interfaces/Reactions/Modifiers/ModifierForward.mo @@ -1,8 +1,8 @@ within BioChem.Interfaces.Reactions.Modifiers; partial model ModifierForward "Basics for a forward modifier in a reaction edge" - annotation(Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Line(points={{0,56.25},{0,6.25}}, color={0,0,255}, arrow={Arrow.None,Arrow.Open}, arrowSize=25)})); BioChem.Interfaces.Nodes.ModifierConnector mF1 annotation(Placement(transformation(origin={1.11022e-16,90}, extent={{-10,-10},{10,10}}), iconTransformation(origin={-1.5099e-14,90}, extent={{-20,-20},{20,20}}))); equation mF1.r=0; + annotation(Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Line(points={{0,56.25},{0,6.25}}, color={0,0,255}, arrow={Arrow.None,Arrow.Open}, arrowSize=25)})); end ModifierForward; diff --git a/BioChem/Interfaces/Reactions/Uui.mo b/BioChem/Interfaces/Reactions/Uui.mo index b0f2460..03be889 100644 --- a/BioChem/Interfaces/Reactions/Uui.mo +++ b/BioChem/Interfaces/Reactions/Uui.mo @@ -6,8 +6,8 @@ partial model Uui "Uni-Uni irreversible reaction" extends BioChem.Interfaces.Reactions.Basics.OneProduct; BioChem.Units.StoichiometricCoefficient nS1=1 "Stoichiometric coefficient for the substrate"; BioChem.Units.StoichiometricCoefficient nP1=1 "Stoichiometric coefficient for the product"; - annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); equation s1.r=nS1*rr; p1.r=-nP1*rr; + annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end Uui; diff --git a/BioChem/Interfaces/Reactions/Uur.mo b/BioChem/Interfaces/Reactions/Uur.mo index ca44bf6..510fb5f 100644 --- a/BioChem/Interfaces/Reactions/Uur.mo +++ b/BioChem/Interfaces/Reactions/Uur.mo @@ -6,8 +6,8 @@ partial model Uur "Uni-Uni reversible reaction" extends BioChem.Interfaces.Reactions.Basics.OneProduct; BioChem.Units.StoichiometricCoefficient nS1=1 "Stoichiometric coefficient for the substrate"; BioChem.Units.StoichiometricCoefficient nP1=1 "Stoichiometric coefficient for the product"; - annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); equation s1.r=nS1*rr; p1.r=-nP1*rr; + annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end Uur; diff --git a/BioChem/Interfaces/package.mo b/BioChem/Interfaces/package.mo index 0beb082..82fc1e4 100644 --- a/BioChem/Interfaces/package.mo +++ b/BioChem/Interfaces/package.mo @@ -1,7 +1,7 @@ within BioChem; package Interfaces "Connection points and icons used in the BioChem package" - extends Icons.Library; - annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Documentation(info=" + extends Modelica.Icons.InterfacesPackage; + annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Documentation(info = "

Interfaces

This package contains partial models that can be used as building blocks for components such as different types of substances, compartments, and reactions. The models are designed to make it easy to create new customized components as well as to make these components possible to translate to and from SBML.
@@ -13,5 +13,5 @@ The package contains the following packages:
  • Substances - Basic substance types.
  • - ", revisions=""), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + ", revisions = ""), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end Interfaces; diff --git a/BioChem/Math/package.mo b/BioChem/Math/package.mo index a64c1c0..b479718 100644 --- a/BioChem/Math/package.mo +++ b/BioChem/Math/package.mo @@ -24,7 +24,7 @@ package Math end factorial; function sec "secant trigonometric function" - input Modelica.SIunits.Angle alpha "input angle"; + input Modelica.Units.SI.Angle alpha "input angle"; output Real y "output value"; algorithm y := 1 / cos(alpha); @@ -34,7 +34,7 @@ package Math end sec; function cot "Cotangent trigonometric function" - input Modelica.SIunits.Angle alpha "input angle"; + input Modelica.Units.SI.Angle alpha "input angle"; output Real y "output value"; algorithm y := 1 / tan(alpha); @@ -44,7 +44,7 @@ package Math end cot; function csc "cosecant trigonometric function" - input Modelica.SIunits.Angle alpha "input angle"; + input Modelica.Units.SI.Angle alpha "input angle"; output Real y "output value"; algorithm y := 1 / sin(alpha); @@ -54,7 +54,7 @@ package Math end csc; function sech "hyperbolic secant trigonometric function" - input Modelica.SIunits.Angle alpha "input angle"; + input Modelica.Units.SI.Angle alpha "input angle"; output Real y "output value"; algorithm y := 1 / cosh(alpha); @@ -64,7 +64,7 @@ package Math end sech; function csch "hyperbolic cosecant trigonometric function" - input Modelica.SIunits.Angle alpha "input angle"; + input Modelica.Units.SI.Angle alpha "input angle"; output Real y "output value"; algorithm y := 1 / sinh(alpha); @@ -74,7 +74,7 @@ package Math end csch; function coth "hyperbolic cotangent trigonometric function" - input Modelica.SIunits.Angle alpha "input angle"; + input Modelica.Units.SI.Angle alpha "input angle"; output Real y "output value"; algorithm y := 1 / tanh(alpha); diff --git a/BioChem/Reactions/Activation/package.mo b/BioChem/Reactions/Activation/package.mo index acd70ff..a5e7765 100644 --- a/BioChem/Reactions/Activation/package.mo +++ b/BioChem/Reactions/Activation/package.mo @@ -1,22 +1,7 @@ within BioChem.Reactions; package Activation "Activation kinetics reactions" extends Icons.Library; - annotation(Documentation(info=" -

    Activation

    -

    -This package contains models for irreversible and reversible activation reaction kinetics. -

    - -
    - -
    - ", revisions=""), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); model Umar "Reversible mixed activation kinetics" - annotation(Documentation(info=" -

    - Reversible mixed activation kinetics. -

    - "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Uur; extends BioChem.Interfaces.Reactions.Modifiers.Activator; parameter BioChem.Units.Concentration Kas=1 "Activation constant"; @@ -27,14 +12,14 @@ This package contains models for irreversible and reversible activation reaction parameter BioChem.Units.ReactionRate vR=1 "Backward maximum velocity"; equation rr=(vF*s1.c/KmS - vR*p1.c/KmP)/(1 + Kas/a1.c + (s1.c/KmS + p1.c/KmP)*(1 + Kac/a1.c)); - end Umar; - - model Umai "Irreversible mixed activation kinetics" annotation(Documentation(info="

    - Irreversible mixed activation kinetics. + Reversible mixed activation kinetics.

    "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + end Umar; + + model Umai "Irreversible mixed activation kinetics" extends BioChem.Interfaces.Reactions.Uui; extends BioChem.Interfaces.Reactions.Modifiers.Activator; parameter BioChem.Units.Concentration Kac=1 "Activation constant"; @@ -43,14 +28,14 @@ This package contains models for irreversible and reversible activation reaction parameter BioChem.Units.ReactionRate vF=1 "Forward maximum velocity"; equation rr=vF*s1.c*a1.c/(s1.c*(a1.c + Kac) + KmS*(a1.c + Kas)); - end Umai; - - model Uctr "Reversible catalytic activation" annotation(Documentation(info="

    - Reversible catalytic activation. + Irreversible mixed activation kinetics.

    "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + end Umai; + + model Uctr "Reversible catalytic activation" extends BioChem.Interfaces.Reactions.Uur; extends BioChem.Interfaces.Reactions.Modifiers.Activator; parameter BioChem.Units.Concentration Ka=1 "Activation constant"; @@ -60,14 +45,14 @@ This package contains models for irreversible and reversible activation reaction parameter BioChem.Units.ReactionRate vR=1 "Backward maximum velocity"; equation rr=(vF*s1.c/KmS - vR*p1.c/KmP)/(1 + Ka/a1.c + (s1.c/KmS + p1.c/KmP)*(1 + Ka/a1.c)); - end Uctr; - - model Ucti "Irreversible catalytic activation" annotation(Documentation(info="

    - Irreversible catalytic activation. + Reversible catalytic activation.

    "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + end Uctr; + + model Ucti "Irreversible catalytic activation" extends BioChem.Interfaces.Reactions.Uui; extends BioChem.Interfaces.Reactions.Modifiers.Activator; parameter BioChem.Units.Concentration Ka=1 "Activation constant"; @@ -75,14 +60,14 @@ This package contains models for irreversible and reversible activation reaction parameter BioChem.Units.ReactionRate vF=1 "Forward maximum velocity"; equation rr=vF*s1.c*a1.c/((a1.c + Ka)*(s1.c + KmS)); - end Ucti; - - model Uar "Reversible specific activation kinetics" annotation(Documentation(info="

    - Reversible specific activation kinetics. + Irreversible catalytic activation.

    "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + end Ucti; + + model Uar "Reversible specific activation kinetics" extends BioChem.Interfaces.Reactions.Uur; extends BioChem.Interfaces.Reactions.Modifiers.Activator; parameter BioChem.Units.Concentration Ka=1 "Activation constant"; @@ -92,14 +77,14 @@ This package contains models for irreversible and reversible activation reaction parameter BioChem.Units.ReactionRate vR=1 "Backward maximum velocity"; equation rr=(vF*s1.c/KmS - vR*p1.c/KmP)/(1 + s1.c/KmS + p1.c/KmP + Ka/a1.c); - end Uar; - - model Uaii "Irreversible specific activation kinetics" annotation(Documentation(info="

    - Irreversible specific activation kinetics. + Reversible specific activation kinetics.

    "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + end Uar; + + model Uaii "Irreversible specific activation kinetics" extends BioChem.Interfaces.Reactions.Uui; extends BioChem.Interfaces.Reactions.Modifiers.Activator; parameter BioChem.Units.Concentration Ka=1 "Activation constant"; @@ -107,20 +92,35 @@ This package contains models for irreversible and reversible activation reaction parameter BioChem.Units.ReactionRate vF=1 "Forward maximum velocity"; equation rr=vF*s1.c*a1.c/(a1.c*(KmS + s1.c) + KmS*Ka); - end Uaii; - - model Uai "Irreversible substrate activation" annotation(Documentation(info="

    - Irreversible substrate activation. + Irreversible specific activation kinetics.

    "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + end Uaii; + + model Uai "Irreversible substrate activation" extends BioChem.Interfaces.Reactions.Uui; parameter BioChem.Units.Concentration KSa=1 "Dissociation constant of substrate-activation site"; parameter BioChem.Units.Concentration KSc=1 "Dissociation constant of substrate-active site"; parameter BioChem.Units.ReactionRate vF=1 "Forward maximum velocity"; equation rr=vF*s1.c/KSa*s1.c/KSa/(1 + s1.c/KSc + s1.c/KSa*s1.c/KSa + s1.c/KSa); + annotation(Documentation(info=" +

    + Irreversible substrate activation. +

    + "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end Uai; + annotation(Documentation(info=" +

    Activation

    +

    +This package contains models for irreversible and reversible activation reaction kinetics. +

    + +
    + +
    + ", revisions=""), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end Activation; diff --git a/BioChem/Reactions/BiSubstrate/package.mo b/BioChem/Reactions/BiSubstrate/package.mo index 7ec9643..6ed12fc 100644 --- a/BioChem/Reactions/BiSubstrate/package.mo +++ b/BioChem/Reactions/BiSubstrate/package.mo @@ -1,22 +1,7 @@ within BioChem.Reactions; package BiSubstrate "Bi-substrate reactions" extends Icons.Library; - annotation(Documentation(info=" -

    BiSubstrate

    -

    - This package contains models for bi-substrate reactions. -

    -
    - -
    - - ", revisions=""), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); model Ppbr "Ping pong bi-bi kinetics" - annotation(Documentation(info=" -

    - Ping pong bi-bi kinetics. -

    - "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Basics.Reaction; extends BioChem.Interfaces.Reactions.Basics.TwoSubstratesReversible; extends BioChem.Interfaces.Reactions.Basics.TwoProducts; @@ -38,14 +23,14 @@ package BiSubstrate "Bi-substrate reactions" p2.r=-rr; K1=vF/(vR*Keq)*(KmP2*p1.c*(1 + s1.c/KiS1) + p2.c*(KmP1 + p1.c)); 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); - end Ppbr; - - model Ordubr "Ordered uni-bi kinetics" annotation(Documentation(info="

    - Ordered uni-bi kinetics. + Ping pong bi-bi kinetics.

    "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + end Ppbr; + + model Ordubr "Ordered uni-bi kinetics" extends BioChem.Interfaces.Reactions.Basics.Reaction; extends BioChem.Interfaces.Reactions.Basics.OneSubstrateReversible; extends BioChem.Interfaces.Reactions.Basics.TwoProducts; @@ -61,14 +46,14 @@ package BiSubstrate "Bi-substrate reactions" p1.r=-rr; p2.r=-rr; 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)); - end Ordubr; - - model Ordbur "Ordered bi-uni kinetics" annotation(Documentation(info="

    - Ordered bi-uni kinetics. + Ordered uni-bi kinetics.

    "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + end Ordubr; + + model Ordbur "Ordered bi-uni kinetics" extends BioChem.Interfaces.Reactions.Basics.Reaction; extends BioChem.Interfaces.Reactions.Basics.TwoSubstratesReversible; extends BioChem.Interfaces.Reactions.Basics.OneProduct; @@ -84,14 +69,14 @@ package BiSubstrate "Bi-substrate reactions" s2.r=rr; p1.r=-rr; 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))); - end Ordbur; - - model Ordbbr "Ordered bi-bi kinetics" annotation(Documentation(info="

    - Ordered bi-bi kinetics. + Ordered bi-uni kinetics.

    "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + end Ordbur; + + model Ordbbr "Ordered bi-bi kinetics" extends BioChem.Interfaces.Reactions.Basics.Reaction; extends BioChem.Interfaces.Reactions.Basics.TwoSubstratesReversible; extends BioChem.Interfaces.Reactions.Basics.TwoProducts; @@ -116,6 +101,21 @@ package BiSubstrate "Bi-substrate reactions" K1=vF/(vR*Keq)*(KmP2*p1.c*(1 + s1.c/KiS1) + p2.c*K2); K2=KmP1*(1 + KmS1*s2.c/(KiS1*KmS2) + p1.c*(1 + s2.c/KiS2)); 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); + annotation(Documentation(info=" +

    + Ordered bi-bi kinetics. +

    + "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end Ordbbr; + annotation(Documentation(info=" +

    BiSubstrate

    +

    + This package contains models for bi-substrate reactions. +

    +
    + +
    + + ", revisions=""), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end BiSubstrate; diff --git a/BioChem/Reactions/FastEquilibrium/package.mo b/BioChem/Reactions/FastEquilibrium/package.mo index 079bd03..f783be9 100644 --- a/BioChem/Reactions/FastEquilibrium/package.mo +++ b/BioChem/Reactions/FastEquilibrium/package.mo @@ -2,23 +2,16 @@ within BioChem.Reactions; package FastEquilibrium "Base classes for reactions with fast (instant) equilibrium" extends Icons.Library; - annotation(Diagram(coordinateSystem(extent={{-100.0,-100.0},{100.0,100.0}}, preserveAspectRatio=true, grid={10,10})), Documentation(info=" -

    FastEquilibrium

    -The reaction in the FastEquilibrium package is used to model reactions that are very fast, and could be seen as an instant balance. These models are approximated to very fast reactions, if translated to SBML. -
    - -
    -", revisions="")); model Uuf "Uni-Uni fast (instant) equilibrium reaction" extends BioChem.Interfaces.Reactions.Basics.FastEquilibrium; extends BioChem.Interfaces.Reactions.Basics.OneSubstrateReversible; extends BioChem.Interfaces.Reactions.Basics.OneProduct; parameter BioChem.Units.EquilibriumCoefficient kS1=1 "Equilibrium coefficient for the substrate"; parameter BioChem.Units.EquilibriumCoefficient kP1=1 "Equilibrium coefficient for the product"; - annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); equation p1.c=s1.c*kP1/kS1; s1.r + p1.r=0; + annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end Uuf; model Utf "Uni-Tri fast (instant) equilibrium reaction" @@ -29,12 +22,12 @@ The reaction in the FastEquilibrium package is used to model reactions that are parameter BioChem.Units.EquilibriumCoefficient kP1=1 "Equilibrium coefficient for product 1"; parameter BioChem.Units.EquilibriumCoefficient kP2=1 "Equilibrium coefficient for product 2"; parameter BioChem.Units.EquilibriumCoefficient kP3=1 "Equilibrium coefficient for product 3"; - annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); equation p1.c=s1.c*kP1/kS1; p2.c=s1.c*kP2/kS1; p3.c=s1.c*kP3/kS1; s1.r + p1.r + p2.r + p3.r=0; + annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end Utf; model Ubf "Uni-Bi fast (instant) equilibrium reaction" @@ -44,11 +37,11 @@ The reaction in the FastEquilibrium package is used to model reactions that are parameter BioChem.Units.EquilibriumCoefficient kS1=1 "Equilibrium coefficient for the substrate"; parameter BioChem.Units.EquilibriumCoefficient kP1=1 "Equilibrium coefficient for product 1"; parameter BioChem.Units.EquilibriumCoefficient kP2=1 "Equilibrium coefficient for product 2"; - annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); equation p1.c=s1.c*kP1/kS1; p2.c=s1.c*kP2/kS1; s1.r + p1.r + p2.r=0; + annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end Ubf; model Ttf "Tri-Tri fast (instant) equilibrium reaction" @@ -61,7 +54,6 @@ The reaction in the FastEquilibrium package is used to model reactions that are parameter BioChem.Units.EquilibriumCoefficient kP1=1 "Equilibrium coefficient for product 1"; parameter BioChem.Units.EquilibriumCoefficient kP2=1 "Equilibrium coefficient for product 2"; parameter BioChem.Units.EquilibriumCoefficient kP3=1 "Equilibrium coefficient for product 3"; - annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); equation p1.c=s1.c*kP1/kS1; p2.c=s1.c*kP2/kS1; @@ -69,6 +61,7 @@ The reaction in the FastEquilibrium package is used to model reactions that are s2.c=s1.c*kS2/kS1; s3.c=s1.c*kS3/kS1; s1.r + s2.r + s3.r + p1.r + p2.r + p3.r=0; + annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end Ttf; model Btf "Bi-Tri fast (instant) equilibrium reaction" @@ -80,13 +73,13 @@ The reaction in the FastEquilibrium package is used to model reactions that are parameter BioChem.Units.EquilibriumCoefficient kP1=1 "Equilibrium coefficient for product 1"; parameter BioChem.Units.EquilibriumCoefficient kP2=1 "Equilibrium coefficient for product 2"; parameter BioChem.Units.EquilibriumCoefficient kP3=1 "Equilibrium coefficient for product 3"; - annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); equation p1.c=s1.c*kP1/kS1; p2.c=s1.c*kP2/kS1; p3.c=s1.c*kP3/kS1; s2.c=s1.c*kS2/kS1; s1.r + s2.r + p1.r + p2.r + p3.r=0; + annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end Btf; model Bbf "Bi-Bi fast (instant) equilibrium reaction" @@ -97,12 +90,12 @@ The reaction in the FastEquilibrium package is used to model reactions that are parameter BioChem.Units.EquilibriumCoefficient kS2=1 "Equilibrium coefficient for substrate 2"; parameter BioChem.Units.EquilibriumCoefficient kP1=1 "Equilibrium coefficient for product 1"; parameter BioChem.Units.EquilibriumCoefficient kP2=1 "Equilibrium coefficient for product 2"; - annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); equation p1.c=s1.c*kP1/kS1; p2.c=s1.c*kP2/kS1; s2.c=s1.c*kS2/kS1; s1.r + s2.r + p1.r + p2.r=0; + annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end Bbf; model Qqf "Quad-Quad fast (instant) equilibrium reaction" @@ -117,7 +110,6 @@ The reaction in the FastEquilibrium package is used to model reactions that are parameter BioChem.Units.EquilibriumCoefficient kP2=1 "Equilibrium coefficient for product 2"; parameter BioChem.Units.EquilibriumCoefficient kP3=1 "Equilibrium coefficient for product 3"; parameter BioChem.Units.EquilibriumCoefficient kP4=1 "Equilibrium coefficient for product 4"; - annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); equation p1.c=s1.c*kP1/kS1; p2.c=s1.c*kP2/kS1; @@ -127,6 +119,7 @@ The reaction in the FastEquilibrium package is used to model reactions that are s3.c=s1.c*kS3/kS1; s4.c=s1.c*kS4/kS1; s1.r + s2.r + s3.r + s4.r + p1.r + p2.r + p3.r + p4.r=0; + annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end Qqf; model Uqf @@ -138,13 +131,13 @@ The reaction in the FastEquilibrium package is used to model reactions that are parameter BioChem.Units.EquilibriumCoefficient kP2=1 "Equilibrium coefficient for product 2"; parameter BioChem.Units.EquilibriumCoefficient kP3=1 "Equilibrium coefficient for product 3"; parameter BioChem.Units.EquilibriumCoefficient kP4=1 "Equilibrium coefficient for product 4"; - annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); equation p1.c=s1.c*kP1/kS1; p2.c=s1.c*kP2/kS1; p3.c=s1.c*kP3/kS1; p4.c=s1.c*kP4/kS1; s1.r + p1.r + p2.r + p3.r + p4.c=0; + annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end Uqf; model Bqf "Bi-Quad fast (instant) equilibrium reaction" @@ -157,7 +150,6 @@ The reaction in the FastEquilibrium package is used to model reactions that are parameter BioChem.Units.EquilibriumCoefficient kP2=1 "Equilibrium coefficient for product 2"; parameter BioChem.Units.EquilibriumCoefficient kP3=1 "Equilibrium coefficient for product 3"; parameter BioChem.Units.EquilibriumCoefficient kP4=1 "Equilibrium coefficient for product 4"; - annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); equation p1.c=s1.c*kP1/kS1; p2.c=s1.c*kP2/kS1; @@ -165,6 +157,7 @@ The reaction in the FastEquilibrium package is used to model reactions that are p4.c=s1.c*kP4/kS1; s2.c=s1.c*kS2/kS1; s1.r + s2.r + p1.r + p2.r + p3.r + p4.r=0; + annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end Bqf; model Tqf "Tri-Quad fast (instant) equilibrium reaction" @@ -178,7 +171,6 @@ The reaction in the FastEquilibrium package is used to model reactions that are parameter BioChem.Units.EquilibriumCoefficient kP2=1 "Equilibrium coefficient for product 2"; parameter BioChem.Units.EquilibriumCoefficient kP3=1 "Equilibrium coefficient for product 3"; parameter BioChem.Units.EquilibriumCoefficient kP4=1 "Equilibrium coefficient for product 4"; - annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); equation p1.c=s1.c*kP1/kS1; p2.c=s1.c*kP2/kS1; @@ -187,6 +179,7 @@ The reaction in the FastEquilibrium package is used to model reactions that are s2.c=s1.c*kS2/kS1; s3.c=s1.c*kS3/kS1; s1.r + s2.r + s3.r + p1.r + p2.r + p3.r + p4.r=0; + annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end Tqf; model Mmf "Multi-Multi fast (instant) equilibrium reaction" @@ -195,7 +188,6 @@ The reaction in the FastEquilibrium package is used to model reactions that are extends BioChem.Interfaces.Reactions.Basics.MultipleProducts; parameter BioChem.Units.EquilibriumCoefficient kS[dimS]=fill(1, dimS) "Equilibrium coefficients for the substrates"; parameter BioChem.Units.EquilibriumCoefficient kP[dimP]=fill(1, dimP) "Equilibrium coefficients for the products"; - annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); equation for i in 1:dimP loop p[i].c=s[1].c*kP[i]/kS[1]; @@ -204,6 +196,7 @@ The reaction in the FastEquilibrium package is used to model reactions that are s[i].c=s[1].c*kS[i]/kS[1]; end for; sum(s.r) + sum(p.r)=0; + annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end Mmf; model Umf "Uni-Multi fast (instant) equilibrium reaction" @@ -212,12 +205,12 @@ The reaction in the FastEquilibrium package is used to model reactions that are extends BioChem.Interfaces.Reactions.Basics.MultipleProducts; parameter BioChem.Units.EquilibriumCoefficient kS1=1 "Equilibrium coefficient for substrate 1"; parameter BioChem.Units.EquilibriumCoefficient kP[dimP]=fill(1, dimP) "Equilibrium coefficients for the products"; - annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); equation for i in 1:dimP loop p[i].c=s1.c*kP[i]/kS1; end for; s1.r + sum(p.r)=0; + annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end Umf; model Bmf "Bi-Multi fast (instant) equilibrium reaction" @@ -227,13 +220,13 @@ The reaction in the FastEquilibrium package is used to model reactions that are parameter BioChem.Units.EquilibriumCoefficient kS1=1 "Equilibrium coefficient for substrate 1"; parameter BioChem.Units.EquilibriumCoefficient kS2=1 "Equilibrium coefficient for substrate 2"; parameter BioChem.Units.EquilibriumCoefficient kP[dimP]=fill(1, dimP) "Equilibrium coefficients for the products"; - annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); equation for i in 1:dimP loop p[i].c=s1.c*kP[i]/kS1; end for; s2.c=s1.c*kS2/kS1; s1.r + s2.r + sum(p.r)=0; + annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end Bmf; model Qmf "Quad-Multi fast (instant) equilibrium reaction" @@ -245,7 +238,6 @@ The reaction in the FastEquilibrium package is used to model reactions that are parameter BioChem.Units.EquilibriumCoefficient kS3=1 "Equilibrium coefficient for substrate 3"; parameter BioChem.Units.EquilibriumCoefficient kS4=1 "Equilibrium coefficient for substrate 4"; parameter BioChem.Units.EquilibriumCoefficient kP[dimP]=fill(1, dimP) "Equilibrium coefficients for the products"; - annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); equation for i in 1:dimP loop p[i].c=s1.c*kP[i]/kS1; @@ -254,6 +246,7 @@ The reaction in the FastEquilibrium package is used to model reactions that are s3.c=s1.c*kS3/kS1; s4.c=s1.c*kS4/kS1; s1.r + s2.r + s3.r + s4.r + sum(p.r)=0; + annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end Qmf; model Tmf "Tri-Multi fast (instant) equilibrium reaction" @@ -264,7 +257,6 @@ The reaction in the FastEquilibrium package is used to model reactions that are parameter BioChem.Units.EquilibriumCoefficient kS2=1 "Equilibrium coefficient for substrate 2"; parameter BioChem.Units.EquilibriumCoefficient kS3=1 "Equilibrium coefficient for substrate 3"; parameter BioChem.Units.EquilibriumCoefficient kP[dimP]=fill(1, dimP) "Equilibrium coefficients for the products"; - annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); equation for i in 1:dimP loop p[i].c=s1.c*kP[i]/kS1; @@ -272,6 +264,14 @@ The reaction in the FastEquilibrium package is used to model reactions that are s2.c=s1.c*kS2/kS1; s3.c=s1.c*kS3/kS1; s1.r + s2.r + s3.r + sum(p.r)=0; + annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end Tmf; - end FastEquilibrium; + annotation(Diagram(coordinateSystem(extent={{-100.0,-100.0},{100.0,100.0}}, preserveAspectRatio=true, grid={10,10})), Documentation(info=" +

    FastEquilibrium

    +The reaction in the FastEquilibrium package is used to model reactions that are very fast, and could be seen as an instant balance. These models are approximated to very fast reactions, if translated to SBML. +
    + +
    +", revisions="")); +end FastEquilibrium; diff --git a/BioChem/Reactions/Hill/package.mo b/BioChem/Reactions/Hill/package.mo index 0d76aeb..9cdbc91 100644 --- a/BioChem/Reactions/Hill/package.mo +++ b/BioChem/Reactions/Hill/package.mo @@ -1,22 +1,7 @@ within BioChem.Reactions; package Hill "Hill reactions kinetics" extends Icons.Library; - annotation(Documentation(info=" -

    Hill

    -

    - This package contains models for Hill kinetics. -

    - -
    - -
    - ", revisions=""), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); model Hillr "Reversible Hill kinetics" - annotation(Documentation(info=" -

    - Reversible Hill kinetics. -

    - "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Uur; parameter Real h=1 "Hill Coefficient"; parameter BioChem.Units.Concentration Keq=1 "Equilibrium constant"; @@ -25,14 +10,14 @@ package Hill "Hill reactions kinetics" parameter BioChem.Units.ReactionRate vF=1 "Forward maximum velocity"; equation rr=vF*s1.c/sHalf*(1 - p1.c/(s1.c*Keq))*(s1.c/sHalf + p1.c/pHalf)^(h - 1)/(1 + (s1.c/sHalf + p1.c/pHalf)^h); - end Hillr; - - model Hillmr "Reversible Hill kinetics with one modifier" annotation(Documentation(info="

    - Reversible Hill kinetics with one modifier. + Reversible Hill kinetics.

    "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + end Hillr; + + model Hillmr "Reversible Hill kinetics with one modifier" extends BioChem.Interfaces.Reactions.Uur; extends BioChem.Interfaces.Reactions.Modifiers.Modifier; parameter Real alfa=1 "Effect of s1 and p1 on binding of m"; @@ -49,14 +34,14 @@ package Hill "Hill reactions kinetics" K1=(s1.c/s1Half + p1.c/p1Half)^h; K2=(1 + (m1.c/m1Half)^h)/(1 + alfa*(m1.c/m1Half)^h); rr=vF*s1.c/s1Half*(1 - p1.c/(s1.c*Keq))*(s1.c/s1Half + p1.c/p1Half)^(h - 1)/(K1 + K2); - end Hillmr; - - model Hillmmr "Reversible Hill kinetics with two modifiers" annotation(Documentation(info="

    - Reversible Hill kinetics with two modifiers. + Reversible Hill kinetics with one modifier.

    "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + end Hillmr; + + model Hillmmr "Reversible Hill kinetics with two modifiers" extends BioChem.Interfaces.Reactions.Uur; extends BioChem.Interfaces.Reactions.Modifiers.TwoModifiers; parameter Real alfa1=1 "Effect of s1 and p1 on binding of m"; @@ -76,20 +61,35 @@ package Hill "Hill reactions kinetics" K1=(s1.c/s1Half + p1.c/p1Half)^h; K2=(1 + (m1.c/m1Half)^h + (m2.c/m2Half)^h)/(1 + alfa1*(m1.c/m1Half)^h + alfa2*(m2.c/m2Half)^h + alfa12*(m1.c/m1Half)^h*(m2.c/m2Half)^h); rr=vF*s1.c/s1Half*(1 - p1.c/(s1.c*Keq))*(s1.c/s1Half + p1.c/p1Half)^(h - 1)/(K1 + K2); - end Hillmmr; - - model Hilli "Irreversible Hill kinetics" annotation(Documentation(info="

    - Irreversible Hill kinetics. + Reversible Hill kinetics with two modifiers.

    "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + end Hillmmr; + + model Hilli "Irreversible Hill kinetics" extends BioChem.Interfaces.Reactions.Uui; parameter Real h=1 "Hill Coefficient"; parameter BioChem.Units.Concentration sHalf=1 "Substrate concentration such that v = vF/2"; parameter BioChem.Units.ReactionRate vF=1 "Forward maximum velocity"; equation rr=vF*s1.c^h/(sHalf^h + s1.c^h); + annotation(Documentation(info=" +

    + Irreversible Hill kinetics. +

    + "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end Hilli; + annotation(Documentation(info=" +

    Hill

    +

    + This package contains models for Hill kinetics. +

    + +
    + +
    + ", revisions=""), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end Hill; diff --git a/BioChem/Reactions/HyperbolicModifier/package.mo b/BioChem/Reactions/HyperbolicModifier/package.mo index a873a8b..fbe438d 100644 --- a/BioChem/Reactions/HyperbolicModifier/package.mo +++ b/BioChem/Reactions/HyperbolicModifier/package.mo @@ -1,22 +1,7 @@ within BioChem.Reactions; package HyperbolicModifier "Hyperbolic modifier kinetics reactions" extends Icons.Library; - annotation(Documentation(info=" -

    HyperbolicModifier

    -

    -This package contains models for irreversible and reversible hyperbolic modifier reaction kinetics. -

    -
    - -
    - - ", revisions=""), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); model Uhmr "Reversible general hyperbolic modifier kinetics" - annotation(Documentation(info=" -

    - Reversible general hyperbolic modifier kinetics. -

    - "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Uur; extends BioChem.Interfaces.Reactions.Modifiers.Modifier; parameter Real a=1 "Ratio of dissociaton constants, ES+M->ESM over E+M->EM"; @@ -28,14 +13,14 @@ This package contains models for irreversible and reversible hyperbolic modifier parameter BioChem.Units.ReactionRate vR=1 "Reverse maximum velocity"; equation rr=(vF*s1.c/KmS - vR*p1.c/KmP)*(1 + b*m1.c/(a*Kd))/(1 + m1.c/Kd + (s1.c/KmS + p1.c/KmP)*(1 + m1.c/(a*Kd))); - end Uhmr; - - model Uhmi "Irreversible general hyperbolic modifier kinetics" annotation(Documentation(info="

    - Irreversible general hyperbolic modifier kinetics. + Reversible general hyperbolic modifier kinetics.

    "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + end Uhmr; + + model Uhmi "Irreversible general hyperbolic modifier kinetics" extends BioChem.Interfaces.Reactions.Uui; extends BioChem.Interfaces.Reactions.Modifiers.Modifier; parameter Real a=1 "Ratio of dissociaton constants, ES+M->ESM over E+M->EM"; @@ -45,6 +30,21 @@ This package contains models for irreversible and reversible hyperbolic modifier parameter BioChem.Units.ReactionRate vF=1 "Forward maximum velocity"; equation rr=vF*s1.c/KmS*(1 + b*m1.c/(a*Kd))/(1 + m1.c/Kd + s1.c/KmS*(1 + m1.c/(a*Kd))); + annotation(Documentation(info=" +

    + Irreversible general hyperbolic modifier kinetics. +

    + "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end Uhmi; + annotation(Documentation(info=" +

    HyperbolicModifier

    +

    +This package contains models for irreversible and reversible hyperbolic modifier reaction kinetics. +

    +
    + +
    + + ", revisions=""), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end HyperbolicModifier; diff --git a/BioChem/Reactions/Inhibition/package.mo b/BioChem/Reactions/Inhibition/package.mo index b2404f0..41880fc 100644 --- a/BioChem/Reactions/Inhibition/package.mo +++ b/BioChem/Reactions/Inhibition/package.mo @@ -2,25 +2,7 @@ within BioChem.Reactions; package Inhibition "Inhibition kinetics reactions" extends Icons.Library; - annotation(Documentation(info=" -

    Inhibition

    -

    -In this package, different types of irreversible and reversible inhibition reaction kinetics are collected, e.g. competitive, non-competitive and uncompetitive. -

    - -
    - -
    - - - - ", revisions=""), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); model Uucr "Uncompetitive inhibition (reversible)" - annotation(Documentation(info=" -

    - Uncompetitive inhibition (reversible). -

    - "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Uur; extends BioChem.Interfaces.Reactions.Modifiers.Inhibitor; parameter Real Ki=1 "Inhibition constant for the substrate"; @@ -30,14 +12,14 @@ In this package, different types of irreversible and reversible inhibition react parameter BioChem.Units.ReactionRate vR=1 "Reverese maximum velocity"; equation rr=(vF*s1.c/KmS - vR*p1.c/KmP)/(1 + (s1.c/KmS + p1.c/KmP)*(1 + i1.c/Ki)); - end Uucr; - - model Uuci "Irreversible uncompetitive inhibition" annotation(Documentation(info="

    - Irreversible uncompetitive inhibition. + Uncompetitive inhibition (reversible).

    "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + end Uucr; + + model Uuci "Irreversible uncompetitive inhibition" extends BioChem.Interfaces.Reactions.Uui; extends BioChem.Interfaces.Reactions.Modifiers.Inhibitor; parameter Real Ki=1 "Inhibition constant for the substrate"; @@ -45,14 +27,14 @@ In this package, different types of irreversible and reversible inhibition react parameter BioChem.Units.ReactionRate vF=1 "Forward maximum velocity"; equation rr=vF*s1.c/KmS/(1 + s1.c/KmS*(1 + i1.c/Ki)); - end Uuci; - - model Usir "Reversible substrate inhibition kinetics" annotation(Documentation(info="

    - Reversible substrate inhibition kinetics. + Irreversible uncompetitive inhibition.

    "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + end Uuci; + + model Usir "Reversible substrate inhibition kinetics" extends BioChem.Interfaces.Reactions.Uui; parameter BioChem.Units.Concentration Ki=1 "Inhibition constant for the substrate"; parameter Real KmS=1 "Forward Michaelis-Menten constant"; @@ -61,28 +43,28 @@ In this package, different types of irreversible and reversible inhibition react parameter BioChem.Units.ReactionRate vR=1 "Reversible maximum velocity"; equation rr=(vF*s1.c/KmS - vR*p1.c/KmP)/(1 + s1.c/KmS + p1.c/KmP + s1.c^2/Ki); - end Usir; - - model Usii "Irreversible substrate inhibition kinetics" annotation(Documentation(info="

    - Irreversible substrate inhibition kinetics. + Reversible substrate inhibition kinetics.

    "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + end Usir; + + model Usii "Irreversible substrate inhibition kinetics" extends BioChem.Interfaces.Reactions.Uui; parameter BioChem.Units.Concentration Ki=1 "Inhibition constant for the substrate"; parameter Real KmS=1 "Forward Michaelis-Menten constant"; parameter BioChem.Units.ReactionRate vF=1 "Forward maximum velocity"; equation rr=vF*s1.c/KmS/(1 + s1.c/KmS + s1.c^2/Ki); - end Usii; - - model Unir "Noncompetitive inhibition (reversible)" annotation(Documentation(info="

    - Noncompetitive inhibition (reversible). + Irreversible substrate inhibition kinetics.

    "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + end Usii; + + model Unir "Noncompetitive inhibition (reversible)" extends BioChem.Interfaces.Reactions.Uur; extends BioChem.Interfaces.Reactions.Modifiers.Inhibitor; parameter Real Ki=1 "Inhibition constant for the substrate"; @@ -92,14 +74,14 @@ In this package, different types of irreversible and reversible inhibition react parameter BioChem.Units.ReactionRate vR=1 "Reverese maximum velocity"; equation rr=(vF*s1.c/KmS - vR*p1.c/KmP)/(1 + i1.c/Ki + (s1.c/KmS + p1.c/KmP)*(1 + i1.c/Ki)); - end Unir; - - model Unii "Irreversible non-competitive inhibition kinetics" annotation(Documentation(info="

    - Irreversible non-competitive inhibition kinetics. + Noncompetitive inhibition (reversible).

    "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + end Unir; + + model Unii "Irreversible non-competitive inhibition kinetics" extends BioChem.Interfaces.Reactions.Uui; extends BioChem.Interfaces.Reactions.Modifiers.Inhibitor; parameter Real Ki=1 "Inhibition constant for the substrate"; @@ -107,14 +89,14 @@ In this package, different types of irreversible and reversible inhibition react parameter BioChem.Units.ReactionRate vF=1 "Forward maximum velocity"; equation rr=vF*s1.c/KmS/(1 + i1.c/Ki + s1.c/KmS*(1 + i1.c/Ki)); - end Unii; - - model Umr "Reversible mixed inhibition kinetics" annotation(Documentation(info="

    - Reversible mixed inhibition kinetics. + Irreversible non-competitive inhibition kinetics.

    "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + end Unii; + + model Umr "Reversible mixed inhibition kinetics" extends BioChem.Interfaces.Reactions.Uur; extends BioChem.Interfaces.Reactions.Modifiers.Inhibitor; parameter Real Kis=1 "Specific (competitive) inhibition constant"; @@ -125,14 +107,14 @@ In this package, different types of irreversible and reversible inhibition react parameter BioChem.Units.ReactionRate vR=1 "Reverese maximum velocity"; equation rr=(vF*s1.c/KmS - vR*p1.c/KmP)/(1 + i1.c/Kis + (s1.c/KmS + p1.c/KmP)*(1 + i1.c/Kic)); - end Umr; - - model Umi "Irreversible mixed inhibition kinetics" annotation(Documentation(info="

    - Irreversible mixed inhibition kinetics. + Reversible mixed inhibition kinetics.

    "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + end Umr; + + model Umi "Irreversible mixed inhibition kinetics" extends BioChem.Interfaces.Reactions.Uui; extends BioChem.Interfaces.Reactions.Modifiers.Inhibitor; parameter Real Kic=1 "Catalytic inhibition constant"; @@ -141,14 +123,14 @@ In this package, different types of irreversible and reversible inhibition react parameter BioChem.Units.ReactionRate vF=1 "Forward maximum velocity"; equation rr=vF*s1.c/KmS/(1 + i1.c/Kis + s1.c/KmS*(1 + i1.c/Kic)); - end Umi; - - model Ucir "Competitive inhibition (reversible)" annotation(Documentation(info="

    - Competitive inhibition (reversible). + Irreversible mixed inhibition kinetics.

    "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + end Umi; + + model Ucir "Competitive inhibition (reversible)" extends BioChem.Interfaces.Reactions.Uur; extends BioChem.Interfaces.Reactions.Modifiers.Inhibitor; parameter Real Ki=1 "Inhibition constant for the substrate"; @@ -158,14 +140,14 @@ In this package, different types of irreversible and reversible inhibition react parameter BioChem.Units.ReactionRate vR=1 "Reverese maximum velocity"; equation rr=(vF*s1.c/KmS - vR*p1.c/KmP)/(1 + s1.c/KmS + p1.c/KmP + i1.c/Ki); - end Ucir; - - model Ucii "Irreversible competitive inhibition kinetics" annotation(Documentation(info="

    - Irreversible competitive inhibition kinetics. + Competitive inhibition (reversible).

    "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + end Ucir; + + model Ucii "Irreversible competitive inhibition kinetics" extends BioChem.Interfaces.Reactions.Uui; extends BioChem.Interfaces.Reactions.Modifiers.Inhibitor; parameter Real Ki=1 "Inhibition constant for the substrate"; @@ -173,14 +155,14 @@ In this package, different types of irreversible and reversible inhibition react parameter BioChem.Units.ReactionRate vF=1 "Forward maximum velocity"; equation rr=vF*s1.c/KmS/(1 + s1.c/KmS + i1.c/Ki); - end Ucii; - - model Ualii "Irreversible allosteric inhibition" annotation(Documentation(info="

    - Irreversible allosteric inhibition. + Irreversible competitive inhibition kinetics.

    "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + end Ucii; + + model Ualii "Irreversible allosteric inhibition" extends BioChem.Interfaces.Reactions.Uui; extends BioChem.Interfaces.Reactions.Modifiers.Inhibitor; parameter Real Kii=1 "Dissociation constant of the inhibitor from the inactive form of the enzyme"; @@ -190,6 +172,24 @@ In this package, different types of irreversible and reversible inhibition react parameter BioChem.Units.ReactionRate vF=1 "Forward maximum velocity"; equation rr=vF*s1.c/Ks*(1 + s1.c/Ks)^(n - 1)/(L*(1 + i1.c/Kii)^n + (1 + s1.c/Ks)^n); + annotation(Documentation(info=" +

    + Irreversible allosteric inhibition. +

    + "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end Ualii; + annotation(Documentation(info=" +

    Inhibition

    +

    +In this package, different types of irreversible and reversible inhibition reaction kinetics are collected, e.g. competitive, non-competitive and uncompetitive. +

    + +
    + +
    + + + + ", revisions=""), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end Inhibition; diff --git a/BioChem/Reactions/MassAction/Irreversible/UniUni/package.mo b/BioChem/Reactions/MassAction/Irreversible/UniUni/package.mo index 94f1135..5a1f5cf 100644 --- a/BioChem/Reactions/MassAction/Irreversible/UniUni/package.mo +++ b/BioChem/Reactions/MassAction/Irreversible/UniUni/package.mo @@ -2,43 +2,43 @@ within BioChem.Reactions.MassAction.Irreversible; package UniUni "A -> B reactions" extends Icons.Library; - annotation(Documentation(info=" -

    This package contains models for stoichiometric reactions with one reactant and one product.

    -"), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); model Uuifi "Uni-uni irrerversible forward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Uui; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; equation rr=k1/iF1.c*s1.c^nS1*s1.V; + annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end Uuifi; model Uuifafi "Uni-uni irrerversible forward activation, forward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Uui; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; equation rr=k1*aF1.c/iF1.c*s1.c^nS1*s1.V; + annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end Uuifafi; model Uuifa "Uni-uni irrerversible forward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Uui; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; equation rr=k1*aF1.c*s1.c^nS1*s1.V; + annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end Uuifa; model Uui "Uni-uni irrerversible reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Uui; parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; equation rr=k1*s1.c^nS1*s1.V; + annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end Uui; + annotation(Documentation(info=" +

    This package contains models for stoichiometric reactions with one reactant and one product.

    +"), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end UniUni; diff --git a/BioChem/Reactions/MassAction/Reversible/BiTri/package.mo b/BioChem/Reactions/MassAction/Reversible/BiTri/package.mo index e3cc015..27db76b 100644 --- a/BioChem/Reactions/MassAction/Reversible/BiTri/package.mo +++ b/BioChem/Reactions/MassAction/Reversible/BiTri/package.mo @@ -2,11 +2,7 @@ within BioChem.Reactions.MassAction.Reversible; package BiTri "A+B <-> C+D+E reactions" extends Icons.Library; - annotation(Documentation(info=" -

    This package contains models for stoichiometric reactions with two reactants and three products.

    -"), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); model Btrfibi "Bi-tri reversible forward inhibition, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Btr; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; @@ -14,10 +10,10 @@ package BiTri "A+B <-> C+D+E reactions" parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; equation rr=k1/iF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2/iB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; + annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end Btrfibi; model Btrfibabi "Bi-tri reversible forward inhibition, backward activation, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Btr; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; @@ -26,10 +22,10 @@ package BiTri "A+B <-> C+D+E reactions" parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; equation rr=k1/iF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2*aB1.c/iB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; + annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end Btrfibabi; model Btrfiba "Bi-tri reversible forward inhibition, backward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Btr; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; @@ -37,20 +33,20 @@ package BiTri "A+B <-> C+D+E reactions" parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; equation rr=k1/iF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2*aB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; + annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end Btrfiba; model Btrfi "Bi-tri reversible forward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Btr; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; equation rr=k1/iF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; + annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end Btrfi; model Btrfafibi "Bi-tri reversible forward activation, forward inhibition, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Btr; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; @@ -59,10 +55,10 @@ package BiTri "A+B <-> C+D+E reactions" parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; equation rr=k1*aF1.c/iF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2/iB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; + annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end Btrfafibi; model Btrfafibabi "Bi-tri reversible forward activation, forward inhibition, backward activation, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Btr; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; @@ -72,10 +68,10 @@ package BiTri "A+B <-> C+D+E reactions" parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; equation rr=k1*aF1.c/iF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2*aB1.c/iB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; + annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end Btrfafibabi; model Btrfafiba "Bi-tri reversible forward activation, forward inhibition, backward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Btr; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; @@ -84,10 +80,10 @@ package BiTri "A+B <-> C+D+E reactions" parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; equation rr=k1*aF1.c/iF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2*aB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; + annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end Btrfafiba; model Btrfafi "Bi-tri reversible forward activation, forward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Btr; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorForward; @@ -95,10 +91,10 @@ package BiTri "A+B <-> C+D+E reactions" parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; equation rr=k1*aF1.c/iF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; + annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end Btrfafi; model Btrfabi "Bi-tri reversible forward activation, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Btr; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; @@ -106,10 +102,10 @@ package BiTri "A+B <-> C+D+E reactions" parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; equation rr=k1*aF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2/iB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; + annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end Btrfabi; model Btrfababi "Bi-tri reversible forward activation, backward activation, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Btr; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; @@ -118,10 +114,10 @@ package BiTri "A+B <-> C+D+E reactions" parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; equation rr=k1*aF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2*aB1.c/iB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; + annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end Btrfababi; model Btrfaba "Bi-tri reversible forward activation, backward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Btr; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; @@ -129,30 +125,30 @@ package BiTri "A+B <-> C+D+E reactions" parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; equation rr=k1*aF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2*aB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; + annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end Btrfaba; model Btrfa "Bi-tri reversible forward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Btr; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorForward; parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; equation rr=k1*aF1.c*s1.c^nS1*s2.c^nS2*s1.V - k2*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; + annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end Btrfa; model Btrbi "Bi-tri reversible backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Btr; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; equation rr=k1*s1.c^nS1*s2.c^nS2*s1.V - k2/iB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; + annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end Btrbi; model Btrbabi "Bi-tri reversible backward activation, backward inhibition reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Btr; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; extends BioChem.Interfaces.Reactions.Modifiers.InhibitorBackward; @@ -160,25 +156,29 @@ package BiTri "A+B <-> C+D+E reactions" parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; equation rr=k1*s1.c^nS1*s2.c^nS2*s1.V - k2*aB1.c/iB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; + annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end Btrbabi; model Btrba "Bi-tri reversible backward activation reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Btr; extends BioChem.Interfaces.Reactions.Modifiers.ActivatorBackward; parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; equation rr=k1*s1.c^nS1*s2.c^nS2*s1.V - k2*aB1.c*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; + annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end Btrba; model Btr "Bi-tri reversible reaction" - annotation(Documentation(), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Btr; parameter BioChem.Units.ReactionCoefficient k1=1 "Forwards reaction coefficient for the reaction"; parameter BioChem.Units.ReactionCoefficient k2=1 "Backwards reaction coefficient for the reaction"; equation rr=k1*s1.c^nS1*s2.c^nS2*s1.V - k2*p1.c^nP1*p2.c^nP2*p3.c^nP3*p1.V; + annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end Btr; + annotation(Documentation(info=" +

    This package contains models for stoichiometric reactions with two reactants and three products.

    +"), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end BiTri; diff --git a/BioChem/Reactions/MichaelisMenten/package.mo b/BioChem/Reactions/MichaelisMenten/package.mo index 42fa439..8a1cd23 100644 --- a/BioChem/Reactions/MichaelisMenten/package.mo +++ b/BioChem/Reactions/MichaelisMenten/package.mo @@ -1,25 +1,7 @@ within BioChem.Reactions; package MichaelisMenten "Michaelis-Menten kinetics reactions" extends Icons.Library; - annotation(Documentation(info=" -

    MichaelisMenten

    -

    -This package contains irreversible and reversible Michaelis-Menten reactions. Currently the library is limited to one-substrate and one-product reactions. -Michaelis-Menten kinetics describes the kinetics of many enzymes. It is named after Leonor Michaelis and Maud Menten. This kinetic model is relevant to situations where the concentration of enzyme is much lower than the concentration of substrate (i.e. where enzyme concentration is the limiting factor), and when the enzyme is not allosteric. -

    - -
    - -
    - - - ", revisions=""), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); model Uur "Uni-uni reversible simple Michaelis-Menten" - annotation(Documentation(info=" -

    - Uni-uni reversible simple Michaelis-Menten. -

    - "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); extends BioChem.Interfaces.Reactions.Uur; parameter BioChem.Units.Concentration KmS=1 "Forward Michaelis-Menten constant"; parameter BioChem.Units.Concentration KmP=1 "Reverse Michaelis-Menten constant"; @@ -27,27 +9,27 @@ Michaelis-Menten kinetics describes the kinetics of many enzymes. It is named af parameter BioChem.Units.ReactionRate vR=1 "Reverse maximum velocity"; equation rr=(vF*s1.c/KmS - vR*p1.c/KmP)/(1 + s1.c/KmS + p1.c/KmP); - end Uur; - - model Uui "Uni-uni irreversible simple Michaelis-Menten" annotation(Documentation(info="

    - Uni-uni irreversible simple Michaelis-Menten. + Uni-uni reversible simple Michaelis-Menten.

    "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + end Uur; + + model Uui "Uni-uni irreversible simple Michaelis-Menten" extends BioChem.Interfaces.Reactions.Uui; parameter BioChem.Units.Concentration KmS=1 "Forward Michaelis-Menten constant"; parameter BioChem.Units.ReactionRate vF=1 "Forward maximum velocity"; equation rr=vF*s1.c/(KmS + s1.c); - end Uui; - - model Uuhr "Uni-Uni reversible simple Michaelis-Menten with Haldane adjustment" annotation(Documentation(info="

    - Uni-Uni reversible simple Michaelis-Menten with Haldane adjustment. + Uni-uni irreversible simple Michaelis-Menten.

    "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + end Uui; + + model Uuhr "Uni-Uni reversible simple Michaelis-Menten with Haldane adjustment" extends BioChem.Interfaces.Reactions.Uur; parameter Real Keq=1 "Equilibrum constant"; parameter BioChem.Units.Concentration KmS=1 "Forward Michaelis-Menten constant"; @@ -55,14 +37,14 @@ Michaelis-Menten kinetics describes the kinetics of many enzymes. It is named af parameter BioChem.Units.ReactionRate vF=1 "Forward maximum velocity"; equation rr=vF/KmS*(s1.c - p1.c/Keq)/(1 + s1.c/KmS + p1.c/KmP); - end Uuhr; - - model Isouur "Iso uni-uni" annotation(Documentation(info="

    - Iso uni-uni. + Uni-Uni reversible simple Michaelis-Menten with Haldane adjustment.

    "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + end Uuhr; + + model Isouur "Iso uni-uni" extends BioChem.Interfaces.Reactions.Uur; parameter Real Keq=1 "Equilibrum constant"; parameter Real Kii=1 "Isoinhibition constant"; @@ -71,6 +53,24 @@ Michaelis-Menten kinetics describes the kinetics of many enzymes. It is named af parameter BioChem.Units.ReactionRate vF=1 "Forward maximum velocity"; equation rr=vF*(s1.c - p1.c/Keq)/(s1.c*(1 + p1.c/Kii) + KmS*(1 + p1.c/KmP)); + annotation(Documentation(info=" +

    + Iso uni-uni. +

    + "), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end Isouur; + annotation(Documentation(info=" +

    MichaelisMenten

    +

    +This package contains irreversible and reversible Michaelis-Menten reactions. Currently the library is limited to one-substrate and one-product reactions. +Michaelis-Menten kinetics describes the kinetics of many enzymes. It is named after Leonor Michaelis and Maud Menten. This kinetic model is relevant to situations where the concentration of enzyme is much lower than the concentration of substrate (i.e. where enzyme concentration is the limiting factor), and when the enzyme is not allosteric. +

    + +
    + +
    + + + ", revisions=""), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end MichaelisMenten; diff --git a/BioChem/Substances/Substance.mo b/BioChem/Substances/Substance.mo index 799678d..13d967a 100644 --- a/BioChem/Substances/Substance.mo +++ b/BioChem/Substances/Substance.mo @@ -1,12 +1,12 @@ within BioChem.Substances; model Substance "Substance with variable concentration" + extends BioChem.Interfaces.Substances.Substance; +equation + der(n)=rNet; annotation(Documentation(info="

    A substance with variable concentration.

    "), Icon(coordinateSystem(extent={{-100,-100},{100,100}}, preserveAspectRatio=true, grid={10,10}), graphics={Text(origin={7.10543e-15,50}, fillPattern=FillPattern.Solid, extent={{-100,-150},{100,-100}}, textString="%name", fontName="Arial"),Ellipse(lineColor={0,85,0}, fillColor={0,170,0}, fillPattern=FillPattern.Sphere, extent={{-50,-50},{50,50}})}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - extends BioChem.Interfaces.Substances.Substance; -equation - der(n)=rNet; end Substance; diff --git a/BioChem/Substances/package.mo b/BioChem/Substances/package.mo index ec84a4f..5fbec67 100644 --- a/BioChem/Substances/package.mo +++ b/BioChem/Substances/package.mo @@ -1,13 +1,40 @@ within BioChem; package Substances "Reaction nodes" - extends Icons.Library; - + extends BioChem.Icons.Substances.Package; + annotation( + Documentation(info = " +

    Substances

    +

    + This package contains different types of nodes needed for representing a substance in a biochemical pathway. + Substances are connected to reactions through connectors placed + on the rim of the circle representing the substance.
    +The substance models are specified by extending the partial models of substance nodes in +Substances + and adding additional attributes and equations. +The +Substances + model is used when the concentration in a substance node is allowed to change without restrictions during a simulation, while +BoundarySubstances + is used when the concentration can only be changed using events. This correspond to species with the fixed or boundary attribute set in SBML.
    +The +AmbientSubstance + is a substance used as a reservoir in reactions. This corresponds to the empty list of reactants or the empty list of products in an SBML reaction. +When the concentration is not determined by reactions, the +SignalSubstance + model is used. Then the substance concentration is regulated by external equations, and it corresponds to SBML species changed by any SBML rules. +

    + +\"Fig1: +", revisions = ""), + Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Ellipse(origin = {-10, -50}, lineColor = {0, 56, 0}, fillColor = {0, 85, 0}, fillPattern = FillPattern.Sphere, extent = {{-60, -20}, {-20, 20}}), Ellipse(origin = {38, -10}, lineColor = {100, 100, 0}, fillColor = {255, 255, 0}, fillPattern = FillPattern.Sphere, extent = {{-28, -60}, {12, -20}}), Ellipse(origin = {-30.0032, -2.75056}, lineColor = {0, 0, 71}, fillColor = {0, 0, 127}, fillPattern = FillPattern.Sphere, extent = {{0.0032, -13.4697}, {40, 26.5303}})}), + Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}))); +/* annotation( Documentation(info = "

    Substances

    @@ -35,7 +62,6 @@ When the concentration is not determined by reactions, the

    \"Fig1: -", revisions = ""), - Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Ellipse(origin = {-10, -50}, lineColor = {0, 56, 0}, fillColor = {0, 85, 0}, fillPattern = FillPattern.Sphere, extent = {{-60, -20}, {-20, 20}}), Ellipse(origin = {38, -10}, lineColor = {100, 100, 0}, fillColor = {255, 255, 0}, fillPattern = FillPattern.Sphere, extent = {{-28, -60}, {12, -20}}), Ellipse(origin = {-30.0032, -2.75056}, lineColor = {0, 0, 71}, fillColor = {0, 0, 127}, fillPattern = FillPattern.Sphere, extent = {{0.0032, -13.4697}, {40, 26.5303}})}), - Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}))); +", revisions = "")); +*/ end Substances; diff --git a/BioChem/Substances/package.order b/BioChem/Substances/package.order index ec40563..22986dc 100644 --- a/BioChem/Substances/package.order +++ b/BioChem/Substances/package.order @@ -1,4 +1,4 @@ Substance BoundarySubstance AmbientSubstance -SignalSubstance +SignalSubstance \ No newline at end of file diff --git a/BioChem/Units/package.mo b/BioChem/Units/package.mo index cd8d90e..ae5ebef 100644 --- a/BioChem/Units/package.mo +++ b/BioChem/Units/package.mo @@ -1,24 +1,30 @@ within BioChem; package Units "Units used in BioChem" - extends Icons.Library; - annotation(Documentation(info=" + extends BioChem.Icons.UnitsPackage; + annotation(Documentation(info="

    Units

    This pace contains definitions of units that are common in biochemical models.

    - ", revisions=""), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Text(origin={0,-13.3333}, fillPattern=FillPattern.Solid, extent={{-100,-86.6667},{73.34,43.3333}}, textString="C", fontName="Arial"),Text(origin={0,-10}, fillPattern=FillPattern.Solid, extent={{6.51,6.81},{50,53.19}}, textString="o", fontName="Arial")}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + ", revisions="")); type VolumetricReactionRate= Real(quantity="Volumetric reaction rate", unit="mol/(s.l)") annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); type VolumeChangeConstant= Real(quantity="Volume change constant", unit="l/s") annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - type Volume= Modelica.SIunits.Conversions.NonSIunits.Volume_litre annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + type Volume= Modelica.Units.NonSI.Volume_litre annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); type StoichiometricCoefficient= Real(quantity="Stoichiometric coefficient", unit="1") "" annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); type ReactionRate= Real(quantity="Reaction rate", unit="mol/s") annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); type ReactionCoefficient= Real(quantity="Reaction coefficient", unit="1") annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - type Pressure= Modelica.SIunits.Pressure annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + type Pressure= Modelica.Units.SI.Pressure annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); type MolarFlowRate= Real(quantity="Molar flow rate", unit="mol/s") annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); type IonicCharge= Integer(quantity="Ionic charge", unit="1") annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); type DilutionRate= Real(quantity="Dilution rate", unit="/s") annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); type Concentration= Real(quantity="Concentration", unit="mol/l", min=0) annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); - type Celcius= Modelica.SIunits.Conversions.NonSIunits.Temperature_degC annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + type Celcius= Modelica.Units.NonSI.Temperature_degC annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); type AmountOfSubstance= Real(quantity="AmountOfSubstance", unit="mol", min=0) annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); type EquilibriumCoefficient= Real(quantity="Equilibrium coefficient", unit="1") "" annotation(Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10})), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); + annotation(Documentation(info=" +

    Units

    +

    + This pace contains definitions of units that are common in biochemical models. +

    + ", revisions=""), Icon(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}), graphics={Text(origin={0,-13.3333}, fillPattern=FillPattern.Solid, extent={{-100,-86.6667},{73.34,43.3333}}, textString="C", fontName="Arial"),Text(origin={0,-10}, fillPattern=FillPattern.Solid, extent={{6.51,6.81},{50,53.19}}, textString="o", fontName="Arial")}), Diagram(coordinateSystem(extent={{-100,100},{100,-100}}, preserveAspectRatio=true, grid={10,10}))); end Units; diff --git a/BioChem/package.mo b/BioChem/package.mo index 799c837..7bc59d7 100644 --- a/BioChem/package.mo +++ b/BioChem/package.mo @@ -1,23 +1,6 @@ -package BioChem +package BioChem extends Icons.Library; - - - - - - - - - - - - - - - - - annotation( preferedView = "info", Documentation(info = " @@ -122,10 +105,17 @@ Linköping University, and by MathCore Engineering AB.

    Versions

    "), - uses(Modelica(version = "3.2.3")), - version = "1.0.2", + uses(Modelica(version = "4.0.0")), + version = "1.0.3", Icon(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}), graphics = {Line(origin = {3.55271e-15, 3.76}, points = {{-50, -60}, {-50, -27.52}, {10, -27.52}}, smooth = Smooth.Bezier), Line(origin = {-1.135, 4.09474}, points = {{-48.865, 10}, {-48.865, -27.61}, {11.135, -27.61}}, arrow = {Arrow.None, Arrow.Open}, arrowSize = 30, smooth = Smooth.Bezier), Ellipse(origin = {30.4112, -23.4648}, lineColor = {0, 85, 0}, fillColor = {0, 170, 0}, fillPattern = FillPattern.Sphere, extent = {{-20.4112, -20}, {20.4112, 20}}), Ellipse(origin = {6.28735, -0.665395}, lineColor = {161, 107, 0}, fillColor = {250, 167, 0}, fillPattern = FillPattern.Sphere, extent = {{-76.2873, -79.3346}, {-35.4736, -39.3346}}), Ellipse(origin = {4.98569, -1.03187}, lineColor = {117, 0, 0}, fillColor = {170, 0, 0}, fillPattern = FillPattern.Sphere, extent = {{-75.8122, -6.13331}, {-34.9857, 33.8667}})}), Diagram(coordinateSystem(extent = {{-100, 100}, {100, -100}}, preserveAspectRatio = true, grid = {10, 10}))); end BioChem; diff --git a/README.md b/README.md index 7b03833..5932731 100644 --- a/README.md +++ b/README.md @@ -15,11 +15,13 @@ take place in-between these substances in a diverse number of biochemical pathwa ## Current release -Download [BioChem v1.0.2 for MSL v3.2.2 (2020-06-02)](../../archive/v1.0.2.zip) +Download [BioChem v1.0.3 for MSL v4.0.0 (2021-04-06)](../../archive/v1.0.3.zip) #### Release notes -* [Version v1.0.2 (2020-06-02)](../../archive/v1.0.1.zip) +* [Version v1.0.3 (2021-04-06)](../../archive/v1.0.3.zip) + * Conversion script to MSL 4.0.0 +* [Version v1.0.2 (2020-06-02)](../../archive/v1.0.2.zip) * Summary: All major components into separate *.mo files, Converted to MSL 3.2.3 * [Version v1.0.1 (2013-04-18)](../../archive/v1.0.1.zip) * Summary: Converted to MSL 3.2.1