| SimBiology® | ![]() |
The Expression property indicates the mathematical expression that is used to determine the ReactionRate property of the reaction object. Expression is a reaction rate expression assigned by the abstract kinetic law used by the kinetic law object. The abstract kinetic law being used is indicated by the property KineticLawName. You can configure Expression for user-defined abstract kinetic laws, but not for built-in abstract kinetic laws. Expression is read only for kinetic law objects.
The abstract kinetic law provides a mechanism for applying a specific rate law to multiple reactions. It acts as a mapping template for the reaction rate. The abstract kinetic law is defined by a reaction rate expression, which is defined in the property Expression, and the species and parameter variables used in the expression. The species variables are defined in the SpeciesVariables property, and the parameter variables are defined in the ParameterVariablesproperty of the kinetic law object.
If a reaction is using an abstract kinetic law, the ReactionRate property of the reaction object shows the result of a mapping from an abstract kinetic law. To determine ReactionRate, the species variables and parameter variables that participate in the reaction rate should be clearly mapped in the kinetic law for the reaction. In this case, SimBiology software determines the ReactionRate by using the Expression property of the abstract kinetic law object, and by mapping SpeciesVariableNames to SpeciesVariables and ParameterVariableNames to ParameterVariables.
For example, the abstract kinetic law Henri-Michaelis-Menten has the Expression Vm*S/(Km+S), where Vm and Km are defined as parameters in the ParameterVariables property of the abstract kinetic law object, and S is defined as a species in the SpeciesVariable property of the abstract kinetic law object.
By applying the abstract kinetic law Henri-Michaelis-Menten to a reaction A -> B with Va mapping to Vm, A mapping to S, and Ka mapping to Km, the rate equation for the reaction becomes Va*A/(Ka+A).
The exact expression of a reaction using MassAction kinetic law varies depending upon the number of reactants. Thus, for mass action kinetics the Expression property is set to MassAction because in general for mass action kinetics the reaction rate is defined as
![]()
where [Si] is the concentration of the ith reactant, mi is the stoichiometric coefficient of [Si], nr is the number of reactants, and k is the mass action reaction rate constant.
SimBiology software comes with some built-in kinetic laws. Users can also define their own abstract kinetic laws. To find the list of available kinetic laws, use the sbiowhos -kineticlaw command (sbiowhos). You can create an abstract kinetic law with the function sbioabstractkineticlaw and add it to the library using sbioaddtolibrary.
| Applies to | Objects: abstract kineticlaw, kineticlaw |
| Data type | char string |
| Data values | Defined by abstract kinetic law |
| Access | Read-only in kinetic law object. Read/write in user-defined abstract kinetic law. |
Example with Henri-Michaelis-Menten kinetics
Create a model object, and add a reaction object to the model.
modelObj = sbiomodel ('my_model');
reactionObj = addreaction (modelObj, 'a + b -> c + d');Define a kinetic law for the reaction object.
kineticlawObj = addkineticlaw(reactionObj, 'Henri-Michaelis-Menten');
Verify that the Expression property for the kinetic law object is Henri-Michaelis-Menten.
get (kineticlawObj, 'Expression')
MATLAB returns:
ans = Vm*S/(Km + S)
The 'Henri-Michaelis-Menten' kinetic law has two parameter variables (Vm and Km) and one species variable (S) that you should set. To set these variables, first create the parameter variables as parameter objects (parameterObj1, parameterObj2) with names Vm_d, Km_d, and assign the objects' Parent property value to the kineticlawObj. The species object with Name a is created when reactionObjis created and need not be redefined.
parameterObj1 = addparameter(kineticlawObj, 'Vm_d'); parameterObj2 = addparameter(kineticlawObj, 'Km_d');
Set the variable names for the kinetic law object.
set(kineticlawObj,'ParameterVariableNames', {'Vm_d' 'Km_d'});
set(kineticlawObj,'SpeciesVariableNames', {'a'});Verify that the reaction rate is expressed correctly in the reaction object ReactionRate property.
get (reactionObj, 'ReactionRate')
MATLAB returns:
ans = Vm_d*a/(Km_d+a)
Example with Mass Action kinetics.
Create a model object, and then add a reaction object.
modelObj = sbiomodel ('my_model');
reactionObj = addreaction (modelObj, 'a + b -> c + d');Define a kinetic law for the reaction object.
kineticlawObj = addkineticlaw(reactionObj, 'MassAction'); get(kineticlawObj, 'Expression')
MATLAB returns:
ans = MassAction
Assign the rate constant for the reaction.
set (kineticlawObj, 'ParameterVariablenames', 'k');
get (reactionObj, 'ReactionRate')
MATLAB returns:
ans = k*a*b
KineticLawName, Parameters, ParameterVariableNames, ParameterVariables, ReactionRate, sbioaddtolibrary, sbiowhos, SpeciesVariables, SpeciesVariableNames
![]() | Exponent | GroupID | ![]() |
| © 1984-2009- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |