BioUMLинтегрированная
расширяемая среда для моделирования
биологических систем
Biosoft.RuЛабоработория Биоинформатики КТИ ВТ СО РАН
http://www.biosoft.ru
Организм
Органы
Ткани
Клетки
Метаболические пути Генные сети
Химически вещества(~10 000)
Белкии их комплексы
(~ 100 000)
Гены(~40 000)
Базы данных (более 500 баз данных, общий объем сотни гигабайт)
Актуальность задачи
С завершением расшифровки многих геномов, включая геном человека, исследователи переходят к следующей стадии изучения, как работают живые (биологические) системы.
Для этого необходимо интегрированные компьютерные системы, позволяющие решать широкий круг задач, включая:
• поиск информации в базах данных• построение формализованных описаний
биологических систем • построение моделей• расчет моделей.
Организм
Органы
Ткани
Клетки
Метаболические пути Генные сети
Химически вещества(~10 000)
Белкии их комплексы
(~ 100 000)
Гены(~40 000)
Базы данных (более 500 баз данных, общий объем сотни гигабайт)
BioUML BioUML - Biological Unified Modeling Language –
это интегрированная расширяемая среда для визуального моделирования биологических систем.
Интегрированный редактор диаграмм
Универсальная система поиска
информации по базам данных
Система поиска и визуализации взаимодействующих компонентов систем
Система визуального моделирования
BioUML modeler
%constants declarationglobal k_1 k_2 k_3 k_E0 k_Km v_blood v_liverk_1 = 0.1k_2 = 0.05k_3 = 0.01k_E0 = 1.0k_Km = 0.1v_blood = 100.0v_liver = 100.0%Model variables and their initial valuesy = []y(1) = 100.0 % y(1) - $blood.Ay(2) = 0.0 % y(2) - $liver.Ay(3) = 0.0 % y(3) - $liver.By(4) = 1.0 % y(4) - $liver.E%numeric equation solving[t,y] = ode23('pharmo_simple_dy',[0 200],y)%plot the solver outputplot(t, y(:,1),'-',t, y(:,2),'-',t, y(:,3),'-',t, y(:,4),'-')title ('Solving pharmo_simple problem')ylabel ('y(t)')xlabel ('x(t)')legend('$blood.A','$liver.A','$liver.B','$liver.E');
Пример автоматически сгенерированной программы на языке MATLAB для численного моделирования и графического представления результатов.
BioUML modeler
Function to calculate dy/dt for the model.
function dy = pharmo_simple_dy(t, y)
% Calculates dy/dt for 'pharmo_simple' model.
%constants declaration
global k_1 k_2 k_3 k_E0 k_Km v_blood v_liver
% calculates dy/dt for 'pharmo_simple' model
dy = [ -k_1*y(1)+k_2*y(2)
-k_3*k_E0*y(2)/(k_Km+y(2)/v_liver)-k_2*y(2)+k_1*y(1)
k_3*k_E0*y(2)/(k_Km+y(2)/v_liver)
0]
BioUML: обзор архитектуры
Database
Module type (Database adapter)- data types- data types meta information- transformers- graph query system
Data types- compartment
- cell- molecule
- gene- RNA- protein
- reaction- relation
Diagram type (Diagram adapter)- diagram view builder- diagram semantic controllerDiagramElement
kernel:DataElementtitle:Stringview:Viewrole:Role
Node
location:Pointimage:Image
Edge
in:Nodeout:Node
Compartment
nodes:Node[]edges:Edge[]
Diagram
type:DiagramTypeRole
diagramElement
Constant
value:double
Variable
initilaValue:double
Equation
variable:Variableequation:String
ExecutableModel
variables:Variable[]constants:Constant[]
MatlabODEModel
generateModel():File[]
Meta model
Dynamics model
n
n
n
nDiagramElement
kernel:DataElementtitle:Stringview:Viewrole:Role
DiagramElement
kernel:DataElementtitle:Stringview:Viewrole:Role
Node
location:Pointimage:Image
Node
location:Pointimage:Image
Edge
in:Nodeout:Node
Edge
in:Nodeout:Node
Compartment
nodes:Node[]edges:Edge[]
Compartment
nodes:Node[]edges:Edge[]
Diagram
type:DiagramType
Diagram
type:DiagramTypeRole
diagramElement
Role
diagramElement
Constant
value:double
Constant
value:double
Variable
initilaValue:double
Variable
initilaValue:double
Equation
variable:Variableequation:String
Equation
variable:Variableequation:String
ExecutableModel
variables:Variable[]constants:Constant[]
ExecutableModel
variables:Variable[]constants:Constant[]
MatlabODEModel
generateModel():File[]
MatlabODEModel
generateModel():File[]
Meta model
Dynamics model
n
n
n
n
Diagram viewer/editor
Modeling tools MATLAB
XML
XSLT
HTML publisher
Database search engine
Graph layout & search engine
Database module
Formalized description and graphic notation for biological pathways
Diagram types- pathway - pathway simulation - generalized pathway
Meta model
Мета модель обеспечивает абстрактный уровень для описания структуры биологической системы как кластеризованного графа и описания математической модели системы.
DiagramElement
kernel:DataElementtitle:Stringview:Viewrole:Role
Node
location:Pointimage:Image
Edge
in:Nodeout:Node
Compartment
nodes:Node[]edges:Edge[]
Diagram
type:DiagramTypeRole
diagramElement
Constant
value:double
Variable
initilaValue:double
Equation
variable:Variableequation:String
ExecutableModel
variables:Variable[]constants:Constant[]
MatlabODEModel
generateModel():File[]
Meta model
Dynamics model
n
n
n
n
Architecture overview
Database
Module type (Database adapter)- data types- data types meta information- transformers- graph query system
Data types- compartment
- cell- molecule
- gene- RNA- protein
- reaction- relation
Diagram type (Diagram adapter)- diagram view builder- diagram semantic controllerDiagramElement
kernel:DataElementtitle:Stringview:Viewrole:Role
Node
location:Pointimage:Image
Edge
in:Nodeout:Node
Compartment
nodes:Node[]edges:Edge[]
Diagram
type:DiagramTypeRole
diagramElement
Constant
value:double
Variable
initilaValue:double
Equation
variable:Variableequation:String
ExecutableModel
variables:Variable[]constants:Constant[]
MatlabODEModel
generateModel():File[]
Meta model
Dynamics model
n
n
n
nDiagramElement
kernel:DataElementtitle:Stringview:Viewrole:Role
DiagramElement
kernel:DataElementtitle:Stringview:Viewrole:Role
Node
location:Pointimage:Image
Node
location:Pointimage:Image
Edge
in:Nodeout:Node
Edge
in:Nodeout:Node
Compartment
nodes:Node[]edges:Edge[]
Compartment
nodes:Node[]edges:Edge[]
Diagram
type:DiagramType
Diagram
type:DiagramTypeRole
diagramElement
Role
diagramElement
Constant
value:double
Constant
value:double
Variable
initilaValue:double
Variable
initilaValue:double
Equation
variable:Variableequation:String
Equation
variable:Variableequation:String
ExecutableModel
variables:Variable[]constants:Constant[]
ExecutableModel
variables:Variable[]constants:Constant[]
MatlabODEModel
generateModel():File[]
MatlabODEModel
generateModel():File[]
Meta model
Dynamics model
n
n
n
n
Diagram viewer/editor
Modeling tools MATLAB
XML
XSLT
HTML publisher
Database search engine
Graph layout & search engine
Database module
Formalized description and graphic notation for biological pathways
Diagram types- pathway - pathway simulation - generalized pathway
Интегрированное решение
BioUML полностью обеспечивает процесс визуального построения модели и ее расчета, начиная с поиска информации в базах данных и заканчивая автоматической генерацией выполняемой модели.
Основные достоинства BioUML
Расширяемое решение
1) Возможность добавлять новые типы диаграмм и новые типы данных, причем для других типов систем, отличных от биологических.
2) Возможность подключать различные базы данных по биологии в виде отдельных модулей.
3) Возможность добавлять программные модули для анализа и моделирования.
Основные достоинства BioUML
Открытое решение
Система BioUML и ее исходные тексты свободно доступны (GNU LGPL license).
http://www.biosoft.ru/biouml.net/
Основные достоинства BioUML