sbiosteadystate

Найдите устойчивое состояние модели SimBiology

Описание

пример

[success, variant_out] = sbiosteadystate(model) попытки найти устойчивое состояние SimBiology® модель, model. Функция возвращает success, который является true если устойчивое состояние было найдено, и SimBiology Variant object, variant_out, со всеми непостоянными разновидностями, отсеками и параметрами модели, имеющей установившиеся значения. Если устойчивое состояние не было найдено, то success false и variant_out содержит последние значения, найденные алгоритмом.

пример

[success, variant_out] = sbiosteadystate(model, variant_in) применяет альтернативные значения количества, сохраненные в объекте варианта SimBiology, variant_in, к модели прежде, чем попытаться найти установившиеся значения.

пример

[success, variant_out] = sbiosteadystate(model, variant_in, scheduleDose) применяет объект дозы расписания SimBiology, scheduleDose, или вектор из доз расписания к соответствующим количествам модели прежде, чем попытаться найти значения устойчивого состояния. Только дозы во время = 0 позволены, то есть, время дозы каждого объекта дозы должно быть 0. Задавать дозу, не задавая различное, набор variant_in к пустому массиву, [].

пример

[success, variant_out, model_out] = sbiosteadystate(model,___) также возвращает модель SimBiology, model_out это - копия входа model с набором состояний к установившемуся решению, которое было найдено. Кроме того, model_out имеет все первоначальные отключенные правила присвоения.

пример

[success, variant_out, model_out, exitInfo] = sbiosteadystate(model,___) также возвращает информацию о выходе о расчете устойчивого состояния.

пример

[___] = sbiosteadystate(___, Name,Value) дополнительные опции использования заданы одним или несколькими Name,Value парные аргументы.

Примеры

свернуть все

В этом примере показано, как найти устойчивое состояние простой модели регуляции генов, где продукт белка от перевода управляет записью.

Загрузите демонстрационный проект SimBiology, содержащий модель, m1. Модель имеет пять реакций и четыре разновидности.

sbioloadproject('gene_reg.sbproj','m1')

Отобразите реакции модели.

m1.Reactions
ans = 
   SimBiology Reaction Array

   Index:    Reaction:                    
   1         DNA -> DNA + mRNA            
   2         mRNA -> mRNA + protein       
   3         DNA + protein <-> DNA_protein
   4         mRNA -> null                 
   5         protein -> null              

Вычисление устойчивого состояния пытается найти значения устойчивого состояния непостоянных количеств. Чтобы узнать, какие количества модели являются непостоянными в этой модели, используйте sbioselect.

sbioselect(m1,'Where','Constant*','==',false)
ans = 
   SimBiology Species Array

   Index:    Compartment:    Name:          Value:    Units:  
   1         unnamed         DNA            50        molecule
   2         unnamed         DNA_protein    0         molecule
   3         unnamed         mRNA           0         molecule
   4         unnamed         protein        0         molecule

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

Используйте sbiosteadystate найти значения устойчивого состояния для тех непостоянных разновидностей.

[success,variantOut] = sbiosteadystate(m1)
success = logical
   1

variantOut = 
   SimBiology Variant - SteadyState (inactive)

   ContentIndex:     Type:        Name:             Property:           Value:
   1                 compartment  unnamed           Capacity            1
   2                 species      DNA               InitialAmount       8.79024
   3                 species      DNA_protein       InitialAmount       41.2098
   4                 species      mRNA              InitialAmount       1.17203
   5                 species      protein           InitialAmount       23.4406
   6                 parameter    Transcription.k1  Value               0.2
   7                 parameter    Translation.k2    Value               20
   8                 parameter    [Binding/Unbin... Value               0.2
   9                 parameter    [Binding/Unbin... Value               1
   10                parameter    [mRNA Degradat... Value               1.5
   11                parameter    [Protein Degra... Value               1

Начальные суммы всех разновидностей модели были установлены в установившиеся значения. DNA сохраненная разновидность начиная с общего количества DNA и DNA_protein равно 50.

Можно также использовать вариант, чтобы сохранить альтернативные начальные суммы и использовать их во время вычисления устойчивого состояния. Например, вы могли установить начальное количество ДНК к 100 молекулам вместо 50.

variantIn = sbiovariant('v1');
addcontent(variantIn,{'species','DNA','InitialAmount',100});
[success2,variantOut2,m2] = sbiosteadystate(m1,variantIn)
success2 = logical
   1

variantOut2 = 
   SimBiology Variant - SteadyState (inactive)

   ContentIndex:     Type:        Name:             Property:           Value:
   1                 compartment  unnamed           Capacity            1
   2                 species      DNA               InitialAmount       12.7876
   3                 species      DNA_protein       InitialAmount       87.2124
   4                 species      mRNA              InitialAmount       1.70502
   5                 species      protein           InitialAmount       34.1003
   6                 parameter    Transcription.k1  Value               0.2
   7                 parameter    Translation.k2    Value               20
   8                 parameter    [Binding/Unbin... Value               0.2
   9                 parameter    [Binding/Unbin... Value               1
   10                parameter    [mRNA Degradat... Value               1.5
   11                parameter    [Protein Degra... Value               1

m2 = 
   SimBiology Model - cell 

   Model Components:
     Compartments:      1
     Events:            0
     Parameters:        6
     Reactions:         5
     Rules:             0
     Species:           4
     Observables:       0

Поскольку алгоритм нашел устойчивое состояние, третий выход m2 модель устойчивого состояния, где значения непостоянных количеств были установлены к значениям устойчивого состояния. В этом примере начальные суммы всех четырех разновидностей были обновлены к значениям устойчивого состояния.

m2.Species
ans = 
   SimBiology Species Array

   Index:    Compartment:    Name:          Value:     Units:  
   1         unnamed         DNA            12.7876    molecule
   2         unnamed         DNA_protein    87.2124    molecule
   3         unnamed         mRNA           1.70502    molecule
   4         unnamed         protein        34.1003    molecule

Входные параметры

свернуть все

Модель SimBiology в виде SimBiology Model object.

Вариант SimBiology в виде a Variant object. Альтернативные значения количества, сохраненные в варианте, применяются к модели прежде, чем найти устойчивое состояние.

Информация о дозах в виде SimBiology планирует объект дозы. Доза должна быть шариком, то есть, не должно быть никакой задержки или время администрирования для дозы. Другими словами, его LagParameterName и DurationParameterName свойства должны быть пустыми, и время дозы (Time свойство), должен быть 0. Для получения дополнительной информации о том, как создать дозу шарика, смотрите Дозы Создания Программно.

Аргументы name-value

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'AbsTol',1e-6 задает, чтобы использовать значение абсолютной погрешности 10–6.

Метод, чтобы вычислить устойчивое состояние modelВ виде разделенной запятой пары, состоящей из 'Method' и вектор символов 'auto', 'simulation', или 'algebraic'. Значение по умолчанию ('auto') поведение должно использовать 'algebraic' метод сначала. Если тот метод неудачен, функция использует 'simulation' метод.

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

Для алгебраического метода функция вычисляет устойчивое состояние путем нахождения, что корень потока функционирует алгебраически. Для нелинейных моделей этот метод требует Optimization Toolbox™. Для получения дополнительной информации см. Алгебраический Метод.

Примечание

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

Пример: 'Method','algebraic'

Абсолютная погрешность, чтобы обнаружить сходимость в виде разделенной запятой пары, состоящей из 'AbsTol' и положительный, действительный скаляр.

Когда вы используете алгебраический метод, абсолютная погрешность используется, чтобы задать настройки оптимизации и обнаружить сходимость. Для получения дополнительной информации см. Алгебраический Метод.

Когда вы используете метод симуляции, абсолютная погрешность используется, чтобы определить сходимость при нахождении решения для устойчивого состояния прямым интегрированием можно следующим образом: (dSdt<AbsTol)or(dSdt<RelTolS), где S вектор из непостоянных разновидностей, параметров и отсеков.

Относительная погрешность, чтобы обнаружить сходимость в виде разделенной запятой пары, состоящей из 'RelTol' и положительный, действительный скаляр. Этот аргумент пары "имя-значение" используется для simulation метод только. Алгоритм сходится и сообщает об устойчивом состоянии, если алгоритм находит состояния модели прямым интегрированием, таким что (dSdt<AbsTol)or(dSdt<RelTolS), где S вектор из непостоянных разновидностей, параметров и отсеков.

Максимальная сумма времени симуляции, чтобы взять прежде, чем завершить работу без устойчивого состояния в виде разделенной запятой пары, состоящей из 'MaxStopTime' и положительное целое число. Этот аргумент пары "имя-значение" используется для simulation метод только.

Минимальное количество времени симуляции, чтобы взять перед поиском устойчивого состояния в виде разделенной запятой пары, состоящей из 'MinStopTime' и положительное целое число. Этот аргумент пары "имя-значение" используется для simulation метод только.

Выходные аргументы

свернуть все

Отметьте, чтобы указать, найдено ли устойчивое состояние модели, возвращено как true или false.

Вариант SimBiology, возвращенный как различный объект. Вариант включает все разновидности, параметры и отсеки модели с непостоянными количествами, имеющими установившиеся значения.

Модель SimBiology в устойчивом состоянии, возвращенном как объект модели. model_out копия входа model, с непостоянными разновидностями, параметрами и набором отсеков к установившимся значениям. Кроме того, model_out имеет все первоначальные отключенные правила присвоения. Симуляция модели в устойчивом состоянии требует, чтобы первоначальные правила присвоения были неактивны, поскольку эти правила могут изменить значения в variant_out.

Примечание

  • Если вы решаете фиксировать variant_out к входу model это имеет первоначальные правила присвоения, затем model как ожидают, не будет в устойчивом состоянии, потому что правила тревожат систему, когда вы симулируете model.

  • model_out в устойчивом состоянии только если симулирован без любых доз.

Выйдите из информации о расчете устойчивого состояния, возвращенном как вектор символов. Информация содержит различные сообщения для соответствующих выходных условий.

  • Steady state found (simulation) – Устойчивое состояние найдено с помощью метода симуляции.

  • Steady state found (algebraic) – Устойчивое состояние найдено с помощью алгебраического метода.

  • Steady state found (unstable) – Нестабильное устойчивое состояние найдено с помощью алгебраического метода.

  • Steady state found (possibly underdetermined) – Устойчивое состояние то есть, возможно, не асимптотически устойчивый найдено с помощью алгебраического метода.

  • No Steady state found – Никакое устойчивое состояние не найдено.

  • Optimization Toolbox (TM) is missing – Метод установлен в 'algebraic' поскольку нелинейные модели и Optimization Toolbox отсутствует.

Больше о

свернуть все

Метод симуляции

sbiosteadystate симулирует модель до MaxStopTime. Во время симуляции функция аппроксимирует градиент с помощью конечного дифференцирования (правая разность) в зависимости от времени, чтобы обнаружить устойчивое состояние.

Алгебраический метод

sbiosteadystate попытки найти устойчивое состояние модели алгебраически путем нахождения корня потока функционируют v. Функция потока включает уравнения реакции, правила скоростей, и алгебраические уравнения, то есть, v(X,P) = 0, где X и P являются непостоянными количествами и параметрами модели. Таким образом, массовое сохранение, наложенное уравнениями реакции, уважают.

Для нелинейных моделей, sbiosteadystate использование fmincon (Optimization Toolbox), чтобы получить исходное предположение для корня. Решение, найденное fmincon затем улучшен fsolve (Optimization Toolbox). Обнаружить сходимость, sbiosteadystate использует абсолютную погрешность ('AbsTol'). Другими словами, OptimalityTolerance, FunctionTolerance, и StepTolerance опции соответствующей оптимизационной функции установлены в 'AbsTol' значение.

Для линейных моделей, sbiosteadystate находит корни функции потока v путем решения линейной системы, заданной уравнениями реакции и сохранения. Для линейных моделей нет никакого уровня или алгебраических уравнений.

Введенный в R2016a