Уравнение скорости реакции в объекте реакции
ReactionRate свойство определяет уравнение скорости реакции. Можно определить ReactionRate с или без KineticLaw собственность. KineticLaw определяет тип скорости реакции. addkineticlaw функция конфигурирует ReactionRate на основе KineticLaw и виды и параметры, указанные в свойствах объекта кинетического закона SpeciesVariableNames и ParameterVariableNames.
Реакция происходит в обратном направлении, если Reversible свойство имеет значение true. Это отражено в ReactionRate. ReactionRate включает прямую и обратную скорость, если она обратима.
Можно указать ReactionRate без KineticLaw. Используйте set для задания уравнения скорости реакции. Программное обеспечение SimBiology ® добавляет видовые переменные при созданииreactionObj с использованием addreaction способ. Необходимо добавить переменные параметра (к modelObj в данном случае). Смотрите пример ниже.
После указания ReactionRate без KineticLaw и вы позже сконфигурируете reactionObj использовать KineticLaw, ReactionRate не установлен, пока не указано SpeciesVariableNames и ParameterVariableNames.
Сведения о размерном анализе скоростей реакции см. в разделе Оценка скоростей реакции.
Примечание
Если установить ReactionRate свойство выражения, которое не является непрерывным и дифференцируемым, см. в разделе Использование событий для устранения прерываний в выражениях скорости реакции и правила перед моделированием модели.
| Относится к | Объект: реакция |
| Тип данных | Символьный вектор |
| Значения данных | Символьный вектор, определяющий скорость реакции. По умолчанию: '' (пустой символьный вектор). |
| Доступ | Чтение/запись |
Создайте модель, добавьте реакцию и назначьте выражение для уравнения скорости реакции.
Создайте объект модели, а затем добавьте объект реакции.
modelObj = sbiomodel('my_model'); reactionObj = addreaction(modelObj, 'a -> c + d');
Создание объекта кинетического закона для объекта реакции данного типа 'Henri-Michaelis-Menten'.
kineticlawObj = addkineticlaw(reactionObj, 'Henri-Michaelis-Menten');reactionObj Свойство KineticLaw настроено на kineticlawObj.
'Henri-Michaelis-Menten' кинетический закон имеет две переменные параметра (Vm и Km) и одну видовую переменную (S), которые вы должны установить. Чтобы задать эти переменные, сначала создайте переменные параметров как объекты параметров (parameterObj1, parameterObj2) с именами Vm_d и Km_d и назначить их kineticlawObj.
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)
Создание модели, добавление реакции и указание ReactionRate без кинетического закона.
Создайте объект модели, а затем добавьте объект реакции.
modelObj = sbiomodel('my_model'); reactionObj = addreaction(modelObj, 'a + b -> c + d');
Определить ReactionRate и проверьте назначение.
set (reactionObj, 'ReactionRate', 'k*a'); get(reactionObj, 'ReactionRate')
MATLAB возвращает:
ans = k*a
Моделирование модели невозможно до тех пор, пока не будет добавлен параметр k в modelObj.
parameterObj = addparameter(modelObj, 'k');SimBiology добавляет параметр к modelObj со значением по умолчанию Value = 1.0 для параметра.
В этом примере показано, как определить пользовательскую скорость реакции для кинетики Хилла, которая совместима с DimensionalAnalysis особенность SimBiology.
Этот пример особенно полезен, если используется встроенный кинетический закон Хилла, но имеет кинетическую реакцию с не целочисленной экспонентой и не может проверить модель из-за ошибки размерного анализа. Встроенный кинетический закон Хилла имеет следующее выражение: + Sn. = Khn, тогда можно переписать уравнение KhS) n + 1. Переопределенное кинетическое уравнение Хилла совместимо с размерным анализом и позволяет иметь ненулевую экспоненту.
Создайте модель SimBiology.
m1 = sbiomodel('m1');Добавьте отсек, два вида и реакцию.
c1 = addcompartment(m1, 'cell'); s1 = addspecies(m1,'a'); s2 = addspecies(m1,'b'); r1 = addreaction(m1, 'a -> b');
Добавьте предопределенный кинетический закон Хилла для реакции.
k1 = addkineticlaw(r1, 'Hill-Kinetics');Отображение выражения скорости встроенного кинетического закона.
k1.Expression
ans = Vm*S^n/(Kp + S^n)
Определите параметры, значения и единицы измерения.
p1 = addparameter(k1, 'Vm', 1.0); p2 = addparameter(k1, 'n', 1.5); p3 = addparameter(k1, 'Kp', 2.828); set(k1, 'ParameterVariableNames', {'Vm','n','Kp'}); set(k1, 'SpeciesVariableNames', {'a'}); set(s1, 'InitialAmount', 2.0); set(s1, 'InitialAmountUnits', 'mole/liter'); set(s2, 'InitialAmountUnits', 'mole/liter'); set(c1, 'CapacityUnits', 'liter'); set(p1, 'ValueUnits', 'mole/liter/second'); set(p2, 'ValueUnits', 'dimensionless'); set(p3, 'ValueUnits', 'mole/liter');
Проверьте модель.
verify(m1)
Error using SimBiology.Model/verify --> Error reported from Dimensional Analysis: Dimensional analysis failed for reaction 'a -> b'. When using the power function, both the base and exponent must be dimensionless or the exponent must be an explicit integer constant (for example 2 in 'x^2').
Вы видите сообщение об ошибке, так как SimBiology допускает возведение в степень только любой безразмерной величины до любой безразмерной мощности.
Переопределите скорость реакции так, чтобы она была совместима с размерным анализом и допускала не целочисленную экспоненту.
r1.ReactionRate = 'Vm / ( (Kh/a)^n + 1 )'; k1.KineticLaw = 'Unknown';
Определение значения и единиц измерения для Kh параметр.
p4 = addparameter(k1, 'Kh', 2.0); set(p4, 'ValueUnits', 'mole/liter');
Проверьте модель.
verify(m1)
Сообщение об ошибке больше не отображается.
Моделирование модели.
[t,x,names] = sbiosimulate(m1);
Постройте график результатов.
plot(t,x); xlabel('Time'); ylabel('Amount'); legend(names);
