SBGN extension
BioUML fully supports and heavily utilizes SBML (Systems Biology Markup Language) as a standard for description of mathematical models with ODE and discrete events (https://sbml.org/). BioUML also utilizes Visual modeling as one of its core features. Thus each SBML model is represented visually in BioUML interface. Main component of visual modeling is formal graphic notation which defines how particular elements of the model should be represented visually.
The most well known graphical notation in the systems biology is SBGN (Systems Biology Graphic Notation). It has three different versions, here we will concern only with Process description notation which describes the temporal courses of biochemical interactions in a network (https://sbgn.github.io/). It is compatible with SBML although it more relies on pathways comprising of entities and processes between them. Thus it does not cover every single object in SBML models. Particularly there is no visual representations for "mathematical" objects: equations, functions, events, etc.
In BioUML we fully support SBGN Process Description notation, however we decided to extend notation we use in BioUML to fully represent SBML models. Additional motivation for that is the fact that there are many mathematical objects of biological systems (in particular - physiological model) that are not represented by a network of biochemical reactions but rather contain a set of ODE equations. Example of the model using only mathematical elements (Short term model of the heart output regulation) is represented on Fig.1. More concise way is to omit equations right hand side is represented on Fig.2. Another example contains both SBGN classical elements (enities and processes) and mathematical objects such as equations and events (fig. 3).
New elements added to SBGN notation in BioUML
Name | Notation | Description |
---|---|---|
Equations | File:Sbgn extension equations.png | Mathematical equation in the model:
|
Relations | Relations between equations are autogenerated and describes how variable calculated in one equations affect variable calculated in another equations.
there are three types:
| |
Events | Discrete event which describes instantaneous changes in the model variables when certain condition is met. E.g. change in drug intake after certain time point. | |
Function | Function takes argument values and calculates output. | |
Constraint | Constraint is a condition which is checked during the simulation. If the condition is violated then either error message is issued or simulation is stopped depending on simulator options. | |
Tabular data | Tabular element refers to external table data collection and is used to calculate model variables based on data in said table. For example in this case table column t corresponds to model time,
table column x_values contains numerical data for model variable x. There are two ways to process table element:
| |
Ports | In our notation ports corresponds to tags and terminals in SBGN. Color of the port denotes its type:
|