Fedor Kolpakov
Institute of Systems Biology
(spin-off of DevelopmentOnTheEdge.com)
Laboratory of Bioinformatics,
Design Technological Institute of Digital Techniques
Novosibirsk, Russia
• Graphic Notation Editor
• SBGN implementation (prototype)
• Library of predefined kinetic law functions on the base of SBO
• Database references editor
– use MIRIAM (under construction)
– gene hub concept
• Microarray plug-in (alpha version)
• BioModels - comparison with other simulators
http://www.biouml.org/sbgn.shtml
• allows edit diagram
• allows to create new diagram
• different graphic notations can be applied to the same SBML model
• allows formally define SBGN and use it in
SBML models
• allows to reuse graphic notation by many tools
Graphic notation can be defined formally as XML document
• properties – formal definition of properties that can be used as properties of nodes and edges (for example, title, multimer, etc.). Definition of property includes:
– name
– type
– short description
– controlled vocabulary (optional)
• node types – definition of node includes:
– name
– icon
– properties
– view function (JavaScript)
– short description
• edge types – definition of edge includes:
– name
– icon
– properties
– view function (JavaScript)
– short description
• semantic controller
– defines rules for semantic control of diagram integrity. For this purpose it defines following functions:
– canAccept (JavaScript)
– isResizable (JavaScript)
– move (JavaScript)
• Examples – a set of diagrams that can be used as test cases, legend and examples for the graphic notation. DML - Diagram Markup Language – is used for this purpose.
Basic software architecture for rendering of biological models according to specified graphic notation and layout information
Diagram
Rendering API
JavaScript API for creating primitives similar with SBML layout extension
Rendering engine JavaScript functions:
- build node/edge view
semantic control
JavaScript
API for data access
Model API
Initial data SBML … BioPAX
Notation API Layout API
Graphic notation
Layout information
Graphic notation components
Object types
Object properties
Defined as
XML
XML
User defined properties
Rules for visualization
XML
JavaScript
Rules for semantic control JavaScript
Test cases XML
SBML
<annotations>
<annotations>
<annotations> model, module
• graphic notation is defined formally as XML document
• graphic notation editor provides user friendly interface for
XML document editing
• SBGN graphic notation (prototype) is implemented
• BioUML workbench allows to create and edit diagrams using graphic notation defined as XML document
• May be graphic editor will be useful for SBGN community for:
– improving SBGN specification
– for testing SBGN specification by creating different diagrams
Details: http://www.biouml.org/sbgn.shtml
BioUML workbech
Select ‘Data’ tab to see the tab with a list with available graphic notations
Click right mouse button on selected graphic notation to open it
Graphic Notation Editor
Graphic Notation Editor
Main sections of formal definition of graphic notation
List of specific properties that are used by graphic notation
Properties editor
User can click right mouse button on Properties node to create new property
Nodes – contains list of all node types used by graphic notation
For each node type user can define:
name
properties
icon
view function (JavaScript)
By clicking right mouse button on “Nodes” user can create new node type
By the same way user can define edge type:
name
properties
icon
view function (JavaScript)
“Examples” node contains a set of diagrams that demonstrates usage of graphic notation.
User can create and edit such diagram.
When user selects some element on the diagram he can edit:
object properties
JavaScript that builds a view for selected diagram element
“Semantic controller” node contains list of JavaScript functions that provide semantic constraints and semantic integrity of the diagram.
“Value set” node contains list of controlled vocabularies for property values (not completed yet).
Graphic notation defined as XML document can be used by BioUML workbench to create corresponding diagram.
Distribution of BioUML workbench includes SBO as a module.
List of SBO terms and selected term description.
Let us create reaction: a –--> b
Reaction dialog
List of possible reaction rates will be automatically selected from SBO tempates.
When user have selected reaction rate from the list, then variables for reactant, product and modifier will be set up automatically in reaction template.
Description of parameters from SBO.
Description of reaction rate from SBO.
After pressing “Apply” button corresponding reaction rate will be generated on the base of selected SBO template.
• BioUML has DatabaseInfo type for description external database (quite similar with MIRIAM)
• Diagram element has Data object that contains references to databases (again, quite similar with MIRIAM)
• Database reference editor provides user interface for
– database references creating/editing
– open corresponding links in browser
– finding related database links using gene hub. For example, user may specify some reference to Ensembl database. Using Ensembl gene hub all database references from Ensembl for the specified gene will be found and shown automatically.
By this way it is quite convenient to find and copy database references for the selected diagram element from different databases.
DatabaseInfo type:
list of external databases
description of external database
List of database references for selected diagram element
Database references editor
Gene hub
• Complete correspondence to MIRIAM standard
– list of databases
– controlled vocabularies
• MIRIAM file is included into BioUML distribution by default
• Gene hub is essential part for binding pathway elements with experimental data (microarray, proteom data, metabolome data).
• Gene hub (we are preparing separate document about it)
- Import microarray data in tab delimited format (the same as Cyctoscape)
- Show data as a table
- Binding with diagram nodes by ID
- Coloring diagrams
Current work:
- Powerful user interface for coloring diagrams
- Support of other formats for microarray data and results of analyses
- Sophisticated binding algorithm using different database references and ID (gene hub)
Further work:
- Server module that will provide access to ArrayExpress data
BioUML workbench.
Data tab contains section “Microarray”.
User can import microarray data in tab delimited format into this section.
Microarray editor.
General information about experiment.
Microarray editor provides possibility to filter probe sets:
by column values
selecting only those probesets that can be linked to the specified diagram
Coloring diagram according to microarray data.
Each bar corresponds to one value from corresponding microarray series.
Passed – CSV file was generated by simulator interval criteria no difference - 0.999 * min < x < 1.001 * max or x < ZERO and max < ZERO small difference – 0.5 * min < x < 1.5 * max significant difference - otherwise median criteria no difference - abs((x – median)/median) < 0.01 or x < ZERO and median < ZERO small difference - abs((x – median)/median) < 0.5
significant difference – otherwise x – variable value provided by compared simulator min, max, median – calculated from values provided by other simulators with which the specified simulator is being compared.
Implementation note : if result file was not generated by BioUML, then other simulators can be compared one to each other.
Simulator
SBWOdeSolver 149
BioUML 140
MathSBML 138 roadRunner
Copasi
JSim
Jarnac
138
127
93
Oscill8 Core
CVODE
79
44
17
passed no difference small difference significant difference
122 102 12 16 5 21
120 100 3 10 17 30
103 94 10 8 15 26
96 88 1 16 31 24
85 86 3 7 29 24
70 63 0 2 13 18
58 55 0 2
25 24 2 1
4 4 2 1
11 12
7
1
9
2
BioUML workbench (including source code) is freely available at http://www.biouml.org
Supplementary materials: http://www.biouml.org/sbgn.shtml
Part of this work was partially supported by following grants:
• European Committee grant №037590 “Net2Drug”
• Siberian Branch of Russian Academy of Sciences
(interdisciplinary projects № 46)
• Volkswagen-Stiftung (I/75941),
• INTAS Nr. 03-51-5218
• RFBR Nr. 04-04-49826-а
Author is grateful to for useful comments, discussions and technical support
Alexander Kel
Sergey Zhatchenko
Software developers Annotators
Mikhail Puzanov Nikita Tolstyh Ruslan Sharipov
Denis Ryumin Alexandr Koshukov Ivan Yevshin
Alexander Magdysyuk Vlad Zhvaleev Elena Cheremushkina
Vasiliy Hudyakov Igor Tyazhev
Sergey Graschenko Oleg Onegov
Ekaterina Kalashnikova