ReactionRate

Уравнение скорости реакции в объекте реакции

Описание

ReactionRate свойство определяет уравнение скорости реакции. Можно задать ReactionRate с или без KineticLaw свойство. KineticLaw задает тип скорости реакции. addkineticlaw функция конфигурирует ReactionRate на основе KineticLaw и разновидности и параметры заданы в кинетических свойствах объектов закона SpeciesVariableNames и ParameterVariableNames.

Реакция происходит в обратном направлении если Reversible свойство верно. Это отражается в ReactionRate. ReactionRate включает прямой и противоположный уровень, если обратимый.

Можно задать ReactionRate без KineticLaw. Используйте set функция, чтобы задать уравнение скорости реакции. Программное обеспечение SimBiology® добавляет переменные разновидностей при создании reactionObj использование addreaction метод. Необходимо добавить переменные параметра (к modelObj в этом случае). Смотрите пример ниже.

После того, как вы задаете ReactionRate без KineticLaw и вы позже конфигурируете reactionObj использовать KineticLaw, ReactionRate сброшен, пока вы не задаете SpeciesVariableNames и ParameterVariableNames.

Для получения информации о размерном анализе для скоростей реакции смотрите, Как Оценены Скорости реакции.

Примечание

Если вы устанавливаете ReactionRate свойство к выражению, которое не непрерывно и дифференцируемо, смотрите Используя События, чтобы Обратиться к Разрывам в Выражениях Правила и Скорости реакции прежде, чем симулировать вашу модель.

Характеристики

ПрименяетсяОбъект: реакция
Тип данныхСимвольный вектор
Значения данныхВектор символов, задающий скорость реакции. Значением по умолчанию является '' (пустой символьный вектор).
ДоступЧтение-запись

Примеры

Добавьте реакцию, заданную Михаэлисом-Ментен кинетический закон

Создайте модель, добавьте реакцию и присвойте выражение для уравнения скорости реакции.

  1. Создайте объект модели, и затем добавьте объект реакции.

    modelObj = sbiomodel('my_model');
    reactionObj = addreaction(modelObj, 'a -> c + d');
  2. Создайте кинетический объект закона для объекта реакции типа 'Henri-Michaelis-Menten'.

    kineticlawObj = addkineticlaw(reactionObj, 'Henri-Michaelis-Menten');

    reactionObj Свойство KineticLaw сконфигурировано к kineticlawObj.

  3. 'Henri-Michaelis-Menten' кинетический закон имеет две переменные параметра (Vm и Km) и одна переменная разновидностей (S) то, что необходимо установить. Чтобы установить эти переменные, сначала создайте переменные параметра как объекты параметра (parameterObj1, parameterObj2) с именами Vm_d и Km_d и присвойте их kineticlawObj.

    parameterObj1 = addparameter(kineticlawObj, 'Vm_d');
    parameterObj2 = addparameter(kineticlawObj, 'Km_d');
  4. Установите имена переменных для кинетического объекта закона.

    set(kineticlawObj,'ParameterVariableNames', {'Vm_d' 'Km_d'});
    set(kineticlawObj,'SpeciesVariableNames', {'a'});
  5. Проверьте, что скорость реакции описывается правильно в объекте ReactionRate реакции свойство.

    get (reactionObj, 'ReactionRate')

    MATLAB® возвращается:

    ans =
    
    Vm_d*a/(Km_d + a)

Добавьте реакцию без кинетического закона

Создайте модель, добавьте реакцию и задайте ReactionRate без кинетического закона.

  1. Создайте объект модели, и затем добавьте объект реакции.

    modelObj = sbiomodel('my_model');
    reactionObj = addreaction(modelObj, 'a + b -> c + d');
  2. Задайте ReactionRate и проверьте присвоение.

    set (reactionObj, 'ReactionRate', 'k*a');
    get(reactionObj, 'ReactionRate')

    MATLAB возвращается:

    ans =
    
    k*a
  3. Вы не можете симулировать модель, пока вы не добавляете параметр k к modelObj.

    parameterObj = addparameter(modelObj, 'k');

    SimBiology добавляет параметр в modelObj с Value по умолчанию= 1.0 для параметра.

Задайте Пользовательский Выступ Кинетический Закон что работы с Размерным Анализом

В этом примере показано, как задать пользовательскую скорость реакции для кинетики Хилла, которая совместима с DimensionalAnalysis функция SimBiology.

Этот пример полезен особенно, если вы используете встроенного Хилла кинетический закон, но имеете кинетическую реакцию с экспонентой нецелого числа и не можете проверить модель, потому что размерный анализ перестал работать. У встроенного Хилла кинетический закон есть следующее выражение: Vm*SnKp+Sn. Предположим Kp=Khn, затем можно переписать уравнение можно следующим образом: Vm(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);

Смотрите также

addparameter, addreaction, Reversible