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 = 1
MATLAB 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