Выражение для определения уравнения скорости реакции или выражения наблюдаемого объекта
The Expression
свойство может быть свойством KineticLaw
(или AbstractKineticLaw
) объект или observable
объект.
Для observable
объект, Expression
свойство является математическим выражением, которое позволяет вам выполнять постсимуляционные вычисления. Для получения дополнительной информации смотрите Observable
.
Для KineticLaw
объект, Expression
свойство указывает математическое выражение, которое используется для определения ReactionRate
свойство объекта реакции. Expression
- выражение скорости реакции, заданное определением кинетического закона, используемым реакцией. Используемый кинетический закон обозначается свойством KineticLawName
. Можно конфигурировать Expression
для определяемых пользователем кинетических законов, но не для встроенных кинетических законов. Expression
читается только для объектов кинетического закона.
Примечание
Если вы задаете Expression
свойство к выражению скорости реакции, которое не является непрерывным и дифференцируемым, см. Использование Событий для устранения разрывов в Выражениях Правила и Скорости Реакции перед симуляцией модели.
Определение кинетического закона предоставляет механизм для применения определенного закона скорости к нескольким реакциям. Он действует как шаблон отображения для скорости реакции. Кинетический закон определяется математическим выражением (заданным в свойстве Expression
), и включает виды и переменные параметра, используемые в выражении. Видовые переменные определены в SpeciesVariables
свойство, и переменные параметра определены в ParameterVariables
свойство объекта кинетического закона.
Если реакция использует определение кинетического закона, ReactionRate
свойство объекта реакции показывает результат отображения из определения кинетического закона. Для определения ReactionRate
, видовые переменные и переменные параметра, которые участвуют в скорости реакции, должны быть отображены в кинетическом законе для реакции. В этом случае SimBiology® программное обеспечение определяет ReactionRate
при помощи Expression
свойство объекта абстрактного кинетического закона, и путем отображения SpeciesVariableNames
на SpeciesVariables
и ParameterVariableNames
на ParameterVariables
.
Для примера, определение кинетического закона Henri-Michaelis-Menten
имеет Expression
Vm * S/( Км + S), где Vm
и Km
определяются как параметры в ParameterVariables
свойство объекта абстрактного кинетического закона, и S
определяется как вид в SpeciesVariable
свойство объекта абстрактного кинетического закона.
Путем применения Henri-Michaelis-Menten
кинетический закон на реакцию A -> B
с Va
отображение с Vm
, A
отображение с S
, и Ka
отображение с Km
уравнение скорости для реакции становится Va * A/( Ka + A).
Точное выражение реакции с использованием MassAction
кинетический закон изменяется в зависимости от количества реагентов. Таким образом, для кинетики действующих масс Expression
для свойства задано значение MassAction
потому что в целом для кинетики действующих масс скорость реакции определяется как
где [Si]
- концентрация ith
реагент, mi
- стехиометрический коэффициент [Si]
, nr
количество реагентов и k
- постоянная скорость реакции массового действия.
Программное обеспечение SimBiology содержит некоторые встроенные кинетические законы. Можно также задать свои собственные кинетические законы. Чтобы найти список доступных кинетических законов, используйте sbiowhos -kineticlaw
команда (sbiowhos
). Можно создать определение кинетического закона с функцией sbioabstractkineticlaw
и добавить его в библиотеку, используя sbioaddtolibrary
.
Применяется к | Объекты: абстрактное кинетическое право, кинетическое право, наблюдаемое |
Тип данных | Вектор символов |
Значения данных | Определяется определением кинетического закона |
Доступ | Только чтение в объекте кинетического права. Чтение/запись в пользовательском кинетическом законе. |
Пример с Henri-Michaelis-Menten
кинетика
Создайте объект модели и добавьте объект реакции к модели.
modelObj = sbiomodel ('my_model'); reactionObj = addreaction (modelObj, 'a + b -> c + d');
Задайте кинетический закон для объекта реакции.
kineticlawObj = addkineticlaw(reactionObj, 'Henri-Michaelis-Menten');
Проверьте, что Expression
свойство для объекта кинетического закона Henri-Michaelis-Menten
.
get (kineticlawObj, 'Expression')
MATLAB® возвращает:
ans = Vm*S/(Km + S)
The 'Henri-Michaelis-Menten'
кинетический закон имеет две переменные параметра (Vm
и Km
) и одной видовой переменной (S
) что вы должны установить. Чтобы задать эти переменные, сначала создайте переменные параметра как объекты параметра (parameterObj1, parameterObj2
) с именами Vm_d, Km_d
, и присвоить объекты 'Parent
значение свойства для kineticlawObj
. Видовой объект с Name
a
создается при reactionObj
создается и не нуждается в переопределении.
parameterObj1 = addparameter(kineticlawObj, 'Vm_d'); parameterObj2 = addparameter(kineticlawObj, 'Km_d');
Установите имена переменных для объекта кинетического закона.
set(kineticlawObj,'ParameterVariableNames', {'Vm_d' 'Km_d'}); set(kineticlawObj,'SpeciesVariableNames', {'a'});
Проверьте, что скорость реакции выражена правильно в объекте реакции ReactionRate
свойство.
get (reactionObj, 'ReactionRate')
MATLAB возвращает:
ans = Vm_d*a/(Km_d+a)
Пример с Mass Action
кинетика.
Создайте объект модели, а затем добавьте объект реакции.
modelObj = sbiomodel ('my_model'); reactionObj = addreaction (modelObj, 'a + b -> c + d');
Задайте кинетический закон для объекта реакции.
kineticlawObj = addkineticlaw(reactionObj, 'MassAction'); get(kineticlawObj, 'Expression')
MATLAB возвращает:
ans = MassAction
Присвойте константу скорости для реакции.
set (kineticlawObj, 'ParameterVariablenames', 'k');
get (reactionObj, 'ReactionRate')
MATLAB возвращает:
ans = k*a*b