Title: BioUML
1BioUML open source extensible Java workbench
for systems biology http//www.biouml.org Fedor
A. Kolpakov Biosoft.Ru, Novosibirsk,
Russia. Design Technological Institute of Digital
Techniques, Novosibirsk, Russia.
Plug-in based architecture
BioUML workbench is a plugin-based application
framework that provides its extensibility and
possibility of seamless integration of other
tools for systems biology. It consists from a
Eclipse platform runtime kernel
(http//www.eclipse.org) that supports
'plug-ins' and a set of plug-ins that support
database access, diagram editing, and biological
systems simulation. A plug-in is the smallest
unit of BioUML workbench function that can be
developed and delivered separately into BioUML
workbench. Extension points are well-defined
function points in the system where other
plug-ins can contribute functionality. An
extension is a specific contribution to an
extension point. Plug-ins can define their own
extension points, so that other plug-ins can
integrate tightly with them. Plug-ins are coded
in Java. A typical plug-in consists of Java code
in a JAR library, some read-only files, and other
resources such as images, message catalogs,
native code libraries, etc. BioUML workbench
installation includes a plugins folder where
individual plug-ins are deployed. Each plug-in is
installed in its own folder under the plugins
folder. A plug-in is described in an XML manifest
file, called plugin.xml, residing in the
plug-in's folder. The parsed contents of plug-in
manifest files are made available
programmatically through a plug-in registry API
provided by Eclipse runtime.
Meta model The core of BioUML workbench is meta
model. It provides an abstract layer for
comprehensive formal description of wide range of
biological and other complex systems. Content of
databases on biological pathways or SBML models
are expressed in terms of meta model and then can
be used by other workbench plug-ins. Meta model
is problem domain neutral and splits the system
descrip-tion into three interconnected levels 1)
graph structure - the system structure is
described as compartmentalized graph 2) database
level - each graph element can contain reference
to some database object 3) executable model -
any graph element can be element of executable
(mathematical) model, for example it can be
variable or equation. To take into account
problem domain specificity we introduce concept
of diagram type that defines diagram view builder
to visualize the graph structure as diagram using
problem domain specific visual syntax and
semantic controller to provide semantic control
of diagram editing. The module concept allows to
developer define new diagram types and
incorporate other databases on biological
pathways into BioUML workbench.
Sydney Brenner, 2002 Nobel Prize winner said
"We now have unprecedented ability to collect
data about nature but there is now a crisis
developing in biology, in that completely
unstructured information does not enhance
understanding. We need a framework to put all of
this knowledge and data into that is going to
be the problem in biology. We've reached the
stage where we can't talk to each other we've
all become highly specialized. We need a
framework, a framework where people can come back
to us and say, 'Yes, I understand.' Driving
toward that framework is really the big
challenge." BioUML Biological Universal
Modeling Language is a step in this direction.
It is imagined as a language to write a book of
life i.e. model of the world in biological
terms.
SBML plug-in
SBW plug-in
SBML plug-in allows customer to view, create and
modify models in SBML format from BioUML
workbench. It supports SBML level 1 version 1
format. Support for SBML level 2 in progress. We
have packed all models from SBML Model Repository
into SBML model repository module that can be
downloaded from the site and imported into BioUML
workbench. Special module type is used to store
SBML models. Unlike other BioUML modules SBML
module type has not 'Data' section. These is due
to that all information about species and
reactions is defined inside of SBML model
files. Special diagram type is used to show SBML
models as diagrams. This diagram type is very
similar with BioUML standard pathway simulation
diagram type and we use the same graphic
notation. These diagram type can be used for
model simulation using MATLAB plug-in. The
plug-in will generate MATLAB files and starts
MATLAB engine for model simulation and results
visualization. While SBML model do not provides
information about diagram layout some very simple
layout algorithm is used for initial species and
reactions layout. The user can customize the
layout and store it. For this purpose plug-in
defines its own extensions to store diagram
layout data in ltannotationsgt element.
SBW plug-in allows customer to explore available
SBW modules, their services and methods (top left
pane on the picture). SBW host object provides
seamless integration between SBW and BioUML
JavaScript shell. Using this shell customer can
write sophisticated scripts for analyses and
simulation of SBML models. sbw host object
functions help prints description of the
specified SBW object. Example
sbw.help(BROKER) list prints list of all
subelements for the specified SBW object, for
example code below will print list of all methods
for NOM service sbw.list(edu.caltech.NOM/NOM
) getService returns service object for the
specified SBW object. Getting service instance
you can invoke any service method according to
its SBW signature string. Example nom
sbw.getService(edu.caltech.NOM/NOM) descr
nom.getBuiltinFunctionInfo("usir")0 loadModel
load SBML model with the given name from the
specified BioUML module.Example model
sbw.loadModel(SBML model reposytory,
CellCycle-1991Gol.xml) To read
SBML model as String for further analyses there
is read method. Here is an example
nom.loadModel( model.read() )
BioUML workbench screenshot. Top left pane
repository pane that shows database modules, here
SBML models from SBML module top right pane
diagram editor bottom left pane property
inspector for the component selected on the
diagram bottom right pane diagram editor
parts, here the diagram description editor
middle right pane results of the systems
simulation
Top left pane shows plug-in tree, particularly
1) sbw host object and its methods 2) tree of
SBW objects categories, modules, services and
their methods. Bottom left pane shows property of
selected SBW object bottom right pane
JavaScript shell with example code how user can
get SBML model, SBW service and invoke service
methods.