Расширенная нотация SBGN в BioUML
SBGN нотация, используемая в BioUML, была расширена дополнительными элементами для полного представления моделей SBML. Графическая нотация SBGN совместима с SBML, хотя она больше полагается на пути, состоящих из сущностей и процессов между ними. Таким образом, она не охватывает каждый отдельный объект в моделях SBML. В частности, нет визуального представления «математических» объектов: уравнений, функций, событий и т.п.
Дополнительной мотивацией для добавления новых элементов является тот факт, что существует множество математических объектов моделей биологических систем (в частности - физиологических моделей), которые не представлены сетью биохимических реакций, а содержат набор уравнений ОДУ.
| Название | Обозначение | Описание |
|---|---|---|
| Уравнения | ![]() |
Математические уравнения в модели: - присваивание - алгебраические уравнения - дифференциальные уравнения |
| Зависимости | ![]() |
Зависимость между уравнениями генерируются автоматически и описывают, как переменная, рассчитанная в одном уравнении, влияет на переменную, рассчитанную в другом уравнении. Было выделено три типа: - черная стрелка - неопределенная зависимость - синяя стрелка – отрицательная зависимость - красная стрелка - положительная зависимость |
| Событие | ![]() |
Дискретное событие, которое описывает мгновенные изменения переменных модели при выполнении определенного условия. Например, изменение приема лекарств после определенного момента времени |
| Функция | ![]() |
Функция принимает значения аргументов и вычисляет выходные данные |
| Ограничение | ![]() |
Ограничение - это условие, которое проверяется во время моделирования. Если условие нарушается, то либо выдается сообщение об ошибке, либо моделирование останавливается в зависимости от опций симулятора |
| Табличный элемент | ![]() |
Табличный элемент используется для расчета переменных модели на основе данных в указанной таблице. Например, в этом случае столбец таблицы t соответствует времени, а столбец x_values содержит числовые данные для переменной модели x. Существует два способа обработки табличных данных: сплайн-аппроксимация и кусочно-заданная функция |
Уравнения и зависимости
В BioUML была введена графическая нотация для уравнений, которые включают следуюшие типы (Рисунок 1):
Рисунок 1. Элемент уравнений в BioUML
Обыкновенное дифференциальное уравнение задает динамику некоторой переменной x зависимостью вида:
Вместе с начальными условиями эти уравнения формирует задачу Коши, которая может быть численно решена одним из методов, встроенных в BioUML.Алгебраическое уравнение задает зависимости между переменными модели, которые должны быть выполнены в процессе расчета модели. В частности, это могут быть различные законы сохранения. Общий вид зависимости:
Формируют систему (в общем случае нелинейных) алгебраических уравнений.Правило присваивания напрямую выражают значения одних переменных через другие уравнениями вида:
Присваивания делятся на два типа: присваивания, которые выполняются один раз в начальный момент времени (начальное присваивание) и присваивания, выражающие зависимости, которые должны быть выполнены в течение всего времени функционирования модели. Поскольку присваивания первого типа просто задают начальные значения переменных системы, в дальнейшем будем говорить только о присваиваниях второго типа.
Для того, чтобы создать уравнение, нажмите на иконку
, расположенную на панели инструментов и затем на диаграмму, где планируется разместить уравнение.
После создания уравнения на диаграмме,
нажмите на него правой кнопкой мыши и выберите
Edit. В поле
Type выберите тип уравнения:
обыкновенное дифференциальное уравнение (rate), алгебраическое уравнение (algebraic),
правило присваивания (initial assignment) и скалярное (scalar).
Для всех типов уравнений, кроме алгебраического, в поле Variable введите имя переменной
(кроме алгебраических уравнений), для которой будет определена зависимость. В поле
Equation вводится формула.
Добавленные уравнения отображаются в области поля операций во вкладке Model на горизонтальной панели и в открывшемся окне на вертикальной панели во вкладке Equations (Рисунок 2). В строке, соответствующей уравнению, возможно измененить переменную в столбце Variable, формулу в Equation и тип уравнения в Type, и так же можно добавить описание для уравнения в столбце Comment.
Рисунок 2. Вкладка Equations в поле операций
Зависимости между уравнениями генерируются автоматически и описывают, как переменная, рассчитанная в одном уравнении, влияет на переменную, рассчитанную в другом уравнении. Существует три типа зависимостей:
Например, заданы два уравнения, где в 1-ом уравнении, переменная v2 влияет на значение переменной v1: v1 = f1(v2, …) v2 = f2(x, y, z)
Тогда переменные v2 и в v1 связаны: - положительной связью, если увеличение v2 вызывает увеличение v1; - отрицательной связью, если увеличение v2 вызывает уменьшение v1; - неопределенной связью – изменение v2 не влияет на v1, при фиксированных остальных значениях и заданных начальных значениях всей модели.
Рисунок 3. Модель артериальной системы, состоящей на основе уравнений и зависимостей между ними
Событие
Событие заключается в скачкообразном изменении значений переменных модели при выполнении определенного условия (например, в определенный момент времени или при заданном соотношении между переменными) (Рисунок 4).
Рисунок 4. Элемент события в BioUML
Чтобы добавить событие нажмите на иконку
, расположенную на панели инструментов и затем на диаграмму, где планируется разместить событие.
После создания события, нажмите на него правой кнопкой мыши и выберите поле
Edit. В опциях
Role в поле
Trigger устанавливается триггер - условие для запуска события. В поле
Delay задается время,
через которое происходит выполнение события. Приоритет указывает на порядок, в котором должны быть выполнены
события в том случае, если их времена выполнения совпадают, и указывается в поле
Priority. В опциях
Assignments в полях
Variable и
Expression указывается переменная,
к которой будет применено событие и формула, соответственно.
Примечание
дополнить про индикаторы (Use trigger time values и др). примеры использования событий
Добавленные события отображаются в области поля операций во вкладке Model на горизонтальной панели и в открывшемся окне на вертикальной панели во вкладке Events (Рисунок 5).
Рисунок 5. Вкладка Events в поле операций
Функция
Функция может использоваться в уравнениях или реакциях модели (Рисунок 6).
Рисунок 6. Элемент функции в BioUML
Для добавления функции нажмите иконку
, расположенную на панели инструментов и затем на диаграмму, где планируется разместить функцию. После создания функции,
нажмите на нее правой кнопкой мыши и выберите поле
Edit. В опциях
Role в поле
Right Hand Side введите правую часть уравнения. В поле
Formula вводится функция,
соответствующая следующему образцу:
function function_name(a1, ..., an) = Right Hand Side, где function_name - заданный идентификатор функции в поле
Name; a1, … , an - аргументы функции.
Примечание
При использовании функции в уравнении или реакции пишется только левая часть функции, включающая ее название и аргументы.
Добавленные функции отображаются в области поля операций во вкладке Model на горизонтальной панели и в открывшемся окне на вертикальной панели во вкладке Functions (Рисунок 7).
Рисунок 7. Вкладка Functions в поле операций
Ограничение
Ограничение - это условие, которое проверяется во время моделирования. Если условие нарушается, то либо выдается сообщение об ошибке, либо моделирование останавливается в зависимости от опций симулятора (Рисунок 8).
Рисунок 8. Элемент ограничения в BioUML
Для добавления ограничения нажмите иконку
, расположенную на панели инструментов
и затем на диаграмму, где планируется разместить ограничение.
Примечание
добавить описание для ограничений, их использование и опции.
Добавленные ограничения отображаются в области поля операций во вкладке Model на горизонтальной панели и в открывшемся окне на вертикальной панели во вкладке Сonstraints (Рисунок 9).
Рисунок 9. Вкладка Сonstraints в поле операций
Табличный элемент
Чтобы добавить табличный элемент нажмите иконку
, расположенную на панели инструментов и затем на диаграмму, где планируется разместить таблицу.
Примечание
добавить описание для табличного элемента, их использование и опции.

