Specify whether reaction is reversible or irreversible
The Reversible property defines whether a
reaction is reversible or irreversible. The rate of the reaction
is defined by the ReactionRate property. For a
reversible reaction, the reaction rate equation is the sum of the
rate of the forward and reverse reactions. The type of reaction rate
is defined by the KineticLaw property. If a reaction
is changed from reversible to irreversible or vice versa after KineticLaw is
assigned, the new ReactionRate is determined only
if Type is MassAction. All other Types result
in unchanged ReactionRate. For MassAction,
the first parameter specified is assumed to be the rate of the forward
reaction.
| Applies to | Object: reaction |
| Data type | boolean |
| Data values | true, false. Default
value is false. |
| Access | Read/write |
Create a model, add a reaction, and assign the expression for the reaction rate equation.
Create model object, and then add a reaction object.
modelObj = sbiomodel('my_model'); reactionObj = addreaction(modelObj, 'a -> c + d');
Set the Reversible property for
the reactionObj to true and
verify this setting.
set (reactionObj, 'Reversible', true) get (reactionObj, 'Reversible')
MATLAB® returns:
ans =
1MATLAB returns 1 for true and 0 for false.
In the next steps the example illustrates how the reaction rate equation is assigned for reversible reactions.
Create a kinetic law object for the reaction object
of the type 'MassAction'.
kineticlawObj = addkineticlaw(reactionObj, 'MassAction');reactionObj KineticLaw property
is configured to kineticlawObj.
The 'MassAction' kinetic law for
reversible reactions has two parameter variables ('Forward
Rate Parameter' and 'Reverse Rate Parameter')
that you should set. The species variables for MassAction are
automatically determined. To set the parameter variables, first create
the parameter variables as parameter objects (parameterObj1,
parameterObj2) named Kf and Kr and
assign the object to kineticlawObj.
parameterObj1 = addparameter(kineticlawObj, 'Kf'); parameterObj2 = addparameter(kineticlawObj, 'Kr');
Set the variable names for the kinetic law object.
set(kineticlawObj,'ParameterVariableNames', {'Kf' 'Kr'});
Verify that the reaction rate is expressed correctly
in the reaction object ReactionRate property.
get (reactionObj, 'ReactionRate')MATLAB returns:
ans = Kf*a*b - Kr*c*d