Расширенная нотация SBGN в BioUML

SBGN нотация, используемая в BioUML, была расширена дополнительными элементами для полного представления моделей SBML. Графическая нотация SBGN совместима с SBML, хотя она больше полагается на пути, состоящих из сущностей и процессов между ними. Таким образом, она не охватывает каждый отдельный объект в моделях SBML. В частности, нет визуального представления «математических» объектов: уравнений, функций, событий и т.п.

Дополнительной мотивацией для добавления новых элементов является тот факт, что существует множество математических объектов моделей биологических систем (в частности - физиологических моделей), которые не представлены сетью биохимических реакций, а содержат набор уравнений ОДУ.

Таблица 1. Дополнительные элементы введенные BioUML к SBGN нотации
Название Обозначение Описание
Уравнения Уравнения Математические уравнения в модели:
- присваивание
- алгебраические уравнения
- дифференциальные уравнения
Зависимости Зависимости Зависимость между уравнениями генерируются автоматически и описывают, как переменная, рассчитанная в одном уравнении, влияет на переменную, рассчитанную в другом уравнении. Было выделено три типа:
- черная стрелка - неопределенная зависимость
- синяя стрелка – отрицательная зависимость
- красная стрелка - положительная зависимость
Событие Событие Дискретное событие, которое описывает мгновенные изменения переменных модели при выполнении определенного условия.
Например, изменение приема лекарств после определенного момента времени
Функция Функция Функция принимает значения аргументов и вычисляет выходные данные
Ограничение Ограничение Ограничение - это условие, которое проверяется во время моделирования.
Если условие нарушается, то либо выдается сообщение об ошибке, либо моделирование останавливается в зависимости от опций симулятора
Табличный элемент Табличный элемент Табличный элемент используется для расчета переменных модели на основе данных в указанной таблице.
Например, в этом случае столбец таблицы t соответствует времени, а столбец x_values содержит числовые данные для переменной модели x.
Существует два способа обработки табличных данных: сплайн-аппроксимация и кусочно-заданная функция

Уравнения и зависимости

В BioUML была введена графическая нотация для уравнений, которые включают следуюшие типы (Рисунок 1):

Уравнения

Рисунок 1. Элемент уравнений в BioUML

  • Обыкновенное дифференциальное уравнение задает динамику некоторой переменной x зависимостью вида: ode_equation Вместе с начальными условиями эти уравнения формирует задачу Коши, которая может быть численно решена одним из методов, встроенных в BioUML.

  • Алгебраическое уравнение задает зависимости между переменными модели, которые должны быть выполнены в процессе расчета модели. В частности, это могут быть различные законы сохранения. Общий вид зависимости: alg_equation Формируют систему (в общем случае нелинейных) алгебраических уравнений.

  • Правило присваивания напрямую выражают значения одних переменных через другие уравнениями вида: assignment_equation Присваивания делятся на два типа: присваивания, которые выполняются один раз в начальный момент времени (начальное присваивание) и присваивания, выражающие зависимости, которые должны быть выполнены в течение всего времени функционирования модели. Поскольку присваивания первого типа просто задают начальные значения переменных системы, в дальнейшем будем говорить только о присваиваниях второго типа.

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

После создания уравнения на диаграмме, нажмите на него правой кнопкой мыши и выберите edit Edit. В поле option Type выберите тип уравнения: обыкновенное дифференциальное уравнение (rate), алгебраическое уравнение (algebraic), правило присваивания (initial assignment) и скалярное (scalar). Для всех типов уравнений, кроме алгебраического, в поле Variable введите имя переменной (кроме алгебраических уравнений), для которой будет определена зависимость. В поле option 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

Чтобы добавить событие нажмите на иконку event_icon, расположенную на панели инструментов и затем на диаграмму, где планируется разместить событие. После создания события, нажмите на него правой кнопкой мыши и выберите поле edit Edit. В опциях folder Role в поле option Trigger устанавливается триггер - условие для запуска события. В поле option Delay задается время, через которое происходит выполнение события. Приоритет указывает на порядок, в котором должны быть выполнены события в том случае, если их времена выполнения совпадают, и указывается в поле option Priority. В опциях folder Assignments в полях option Variable и option Expression указывается переменная, к которой будет применено событие и формула, соответственно.

Примечание

дополнить про индикаторы (Use trigger time values и др). примеры использования событий

Добавленные события отображаются в области поля операций во вкладке Model на горизонтальной панели и в открывшемся окне на вертикальной панели во вкладке Events (Рисунок 5).

Событие

Рисунок 5. Вкладка Events в поле операций

Функция

Функция может использоваться в уравнениях или реакциях модели (Рисунок 6).

Функция

Рисунок 6. Элемент функции в BioUML

Для добавления функции нажмите иконку function_icon, расположенную на панели инструментов и затем на диаграмму, где планируется разместить функцию. После создания функции, нажмите на нее правой кнопкой мыши и выберите поле edit Edit. В опциях folder Role в поле option Right Hand Side введите правую часть уравнения. В поле option Formula вводится функция, соответствующая следующему образцу: function function_name(a1, ..., an) = Right Hand Side, где function_name - заданный идентификатор функции в поле option Name; a1, … , an - аргументы функции.

Примечание

При использовании функции в уравнении или реакции пишется только левая часть функции, включающая ее название и аргументы.

Добавленные функции отображаются в области поля операций во вкладке Model на горизонтальной панели и в открывшемся окне на вертикальной панели во вкладке Functions (Рисунок 7).

Функция

Рисунок 7. Вкладка Functions в поле операций

Ограничение

Ограничение - это условие, которое проверяется во время моделирования. Если условие нарушается, то либо выдается сообщение об ошибке, либо моделирование останавливается в зависимости от опций симулятора (Рисунок 8).

Элемент ограничения в BioUML

Рисунок 8. Элемент ограничения в BioUML

Для добавления ограничения нажмите иконку math_сonstraint, расположенную на панели инструментов и затем на диаграмму, где планируется разместить ограничение.

Примечание

добавить описание для ограничений, их использование и опции.

Добавленные ограничения отображаются в области поля операций во вкладке Model на горизонтальной панели и в открывшемся окне на вертикальной панели во вкладке Сonstraints (Рисунок 9).

Вкладка Сonstraints в поле операций

Рисунок 9. Вкладка Сonstraints в поле операций

Табличный элемент

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

Примечание

добавить описание для табличного элемента, их использование и опции.