exponenta event banner

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, указанный как Variant object. Значения альтернативного количества, сохраненные в варианте, применяются к модели перед нахождением устойчивого состояния.

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

Аргументы пары «имя-значение»

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

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

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

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

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

Примечание

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

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

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

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

При использовании метода моделирования абсолютный допуск используется для определения сходимости при нахождении решения устойчивого состояния путем прямого интегрирования следующим образом: (dS→dt‖<AbsTol) или (dS→dt‖<RelTol∗‖S→ ‖), где S→ - вектор непостоянных видов, параметров и отсеков.

Относительный допуск для обнаружения сходимости, заданный как разделенная запятыми пара, состоящая из 'RelTol' и положительный, реальный скаляр. Этот аргумент пары имя-значение используется для simulation только метод. Алгоритм сходится и сообщает о установившемся состоянии, если алгоритм находит состояния модели путём прямого интегрирования, такие что (dS→dt‖<AbsTol) или (dS→dt‖<RelTol∗‖S→ ‖), где 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' для нелинейных моделей и отсутствует панель инструментов оптимизации.

Подробнее

свернуть все

Метод моделирования

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

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

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

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

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

Представлен в R2016a