1 / 1

BioUML – open source extensible Java workbench for systems biology biouml

BioUML – 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.

Download Presentation

BioUML – open source extensible Java workbench for systems biology biouml

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. BioUML – 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 <annotations> 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.

More Related