Main Content

SimBiology.AbstractKineticLaw

Kinetic law information in library

Description

The SimBiology.AbstractKineticLaw object represents a kinetic law definition, which provides a mechanism for applying a rate law to multiple reactions. The information in this object acts as a mapping template for the reaction rate. The kinetic law definition specifies a mathematical relationship that defines the rate at which reactant species are produced and product species are consumed in the reaction. The expression is shown in the Expression property. The species variables are defined in the SpeciesVariables property, and the parameter variables are defined in the ParameterVariables property of the abstract kinetic law object. For an explanation of how the kinetic law definition relates to the kinetic law object, see KineticLaw object.

Create your own kinetic law definition and add it to the kinetic law library with the sbioaddtolibrary function. You can then use the kinetic law to define a reaction rate. To retrieve a kinetic law definition from the user-defined library, first create a root object using sbioroot, then use the command get(rootObj.UserDefinedLibrary,'KineticLaws').

Use dot notation to query the object properties or change properties that are not read-only. You can also use the get and set commands.

The SimBiology Model Builder app also enables you to add reactions and kinetic laws to your model and edit them. For an example, see Add and Configure Reactions. For more information about built-in libraries, see SimBiology Model Component Libraries.

Creation

Use sbioabstractkineticlaw to create a SimBiology.AbstractKineticLaw object.

Properties

expand all

Mathematical expression to determine the reaction rate equation, specified as character vector.

The property contains a mathematical expression that is used to determine the ReactionRate property of a SimBiology.Reaction object. It is a reaction rate expression assigned by the kinetic law definition used by the reaction. The kinetic law being used is indicated by the property KineticLawName. You can configure Expression for user-defined kinetic laws, but not for built-in kinetic laws.

Note

If you set the Expression property to a reaction rate expression that is not continuous and differentiable, see Using Events to Address Discontinuities in Rule and Reaction Rate Expressions before simulating your model.

For details, see Kinetic Law Definition.

Example: 'Vm*S/(Km + S)'

Data Types: char | string

SimBiology.AbstractKineticLaw object name, specified as a character vector or string.

For details on requirements and recommendations for naming SimBiology® components, see Guidelines for Naming Model Components.

Data Types: char | string

Additional information that you can add for SimBiology.AbstractKineticLaw, specified as a character vector or string.

Data Types: char | string

Parameters used in the kinetic law definition, specified as a cell array of character vectors.

The property contains the names of parameter variables that are used in the Expression property of the kinetic law object. This property specifies the parameters in the ReactionRate equation.

For details, see Kinetic Law Definition.

Data Types: cell

This property is read-only.

Parent object, specified as an empty array [] or SimBiology Root object.

The default value is [] until SimBiology.AbstractKineticLaw is added to the library. The Parent property becomes the SimBiology.Root object after addition to the library.

Species used in the kinetic law definition, specified as a cell array of character vectors.

The property shows species variables that are used in the Expression property of the kinetic law object to determine the ReactionRate equation in the reaction object.

Data Types: cell

Object label, specified as a character vector or string.

Tip

Use this property to group objects and then use sbioselect to retrieve. For example, use the Tag property of reaction objects to group synthesis or degradation reactions. You can then retrieve all synthesis reactions using sbioselect. Similarly, for species objects you can enter and store classification information, for example, membrane protein, transcription factor, enzyme classifications, or whether a species is an independent variable. You can also enter the full form of the name of the species.

Data Types: char | string

This property is read-only.

Object type, specified as 'abstract_kinetic_law'. When you create a SimBiology object, the value of Type is automatically defined.

Data Types: char

Data to associate with the object, specified as a numeric scalar, vector, string, or any other MATLAB data type.

The object does not use this data directly, but you can access it using dot notation or get.

Object Functions

deleteDelete SimBiology object
displayDisplay summary of SimBiology object
findUsagesFind out how an AbstractKineticLaw object is used
getGet SimBiology object properties
renameRename SimBiology model component and update expressions
setSet SimBiology object properties

Examples

collapse all

Create a SimBiology model with a reaction.

m1 = sbiomodel("m1");
r1 = addreaction(m1,"A -> B");

Add a kinetic law for the reaction by using the built-in kinetic law (Michaelis Menten). Check the expression of the kinetic law.

kl = addkineticlaw(r1,"Henri-Michaelis-Menten");
kl.Expression
ans = 
'Vm*S/(Km + S)'

Query the parameters and species variables defined in the kinetic law.

kl.ParameterVariables
ans = 2x1 cell
    {'Vm'}
    {'Km'}

kl.SpeciesVariables
ans = 1x1 cell array
    {'S'}

Define Va and Ka as ParameterVariableNames, which correspond to the ParameterVariables Vm and Km defined in the Expression property of the kinetic law. To set these variables, first create the parameter variables as parameter objects (p1, p2) with the names Va and Ka, and then add them to the kinetic law object kl. The species object with the name A is created when the reaction object r1 is created and need not be redefined.

p1 = addparameter(kl,"Va");
p2 = addparameter(kl,"Ka");

Set the variable names for the kinetic law object.

kl.ParameterVariableNames = ["Va","Ka"];
kl.SpeciesVariableNames   = ["A"];

Verified that the reaction rate is expressed correctly in the ReactionRate property of the reaction object

r1.ReactionRate
ans = 
'Va*A/(Ka+A)'

Create a SimBiology model with a reaction.

m1 = sbiomodel("m1");
r1 = addreaction(m1,"a + b -> c + d");

Add a kinetic law for the reaction by using the built-in kinetic law (Mass Action). Check the expression of the kinetic law.

kl = addkineticlaw(r1,"MassAction");
kl.Expression
ans = 
'MassAction'

Assign the rate constant for the reaction.

kl.ParameterVariableNames = "k";

Check the reaction rate.

r1.ReactionRate
ans = 
'k*a*b'

More About

expand all

Version History

Introduced in R2006b

expand all