Published on November 16, 2007
Slide1: Comprehensive model for formalized description, visualization and simulation of biological systems http://www.biouml.org Fedor A. Kolpakov Biosoft.Ru, Novosibirsk, Russia. Design Technological Institute of Digital Techniques, Novosibirsk, Russia. 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. BioUML – Biological Universal Modeling Language – is open source extensible Java workbench for modeling biological and other complex systems. It spans the comprehensive range of capabilities including access to databases with experimental data, tools for formalized description of biological systems structure and functioning, as well as tools for their visualization and simulations. 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 description into three interconnected levels: graph structure - the system structure is described as compartmentalized graph; database level - each graph element can contain reference to some database object; executable model - any graph element can be element of executable (mathematical) model, for example it can be variable or equation. 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. Architecture overview Diagram type concept To take into account different diagram types and problem domain specificity we have introduced the diagram type concept. Diagram type defines: · what system components can be shown in the diagram; · diagram view builder - it allows to build graph view that take into account problem domain peculiarity, for example biological pathway diagram view builder uses specific views for different pathway elements: proteins are shown as circles, genes as rectangles, substances as squares, etc.; · semantic controller - provides semantic integrity of the diagram during its editing. It takes into account problem domain constraints, for example if some specie is removed on biological pathway diagram, all related reactions should be removed too; · filters – hide or highlight diagram elements according to some selection criteria, for example to according gene expression specificity or expression level. Module concept The module concept allows to developer define new diagram types and incorporate other databases on biological pathways into BioUML framework. The module defines mapping of database content into diagram elements and diagram types that can be used with the database.Module also provides query engine that can be used by BioUML framework ti find interactiong components of the system. Search results can be shown as graph and edited by user. Modules: · standard BioUML module for biological pathways; · module for models in SBML format; · module for GeneNet database; · module for KEGG/Pathways datbase; · module for TRANSPATH database. BioUML diagram view. GeneNet database was incorporated into BioUML as GeneNet module; central pane shows “Antiviral response” diagram; right top pane shows filters that are applied to the diagram. The data are taken from the publicly available version of GeneNet database. Standard BioUML module for biological pathways BioUML workbench provides standard module for modeling metabolic pathways, signal transduction pathways and gene networks. The module defines most common biological data types (gene, protein, RNA, substance, reaction, etc.), they mapping into simple text database, query engine and three diagram types for description of biological pathways on several semantic levels: 1. Semantic network - this diagram type is used to describe semantic relationships between system components, system states, and related problem domain concepts. This diagram type is also convenient as overview. 2. Pathway diagram type is used for formalized description of biological pathway structure. 3. Pathway simulation diagram type is extension of pathway structure diagram, where variables are associated with graph nodes and differential equations with graph edges. This allows to BioUML workbench automatically generate mathematical model of the system and simulate its dynamics. Example of seach using GenNet module query engine and results visulisation by BioUML workbench. Diagram markup language Special BioUML diagrams markup language (DML) is developed to store BioUML meta model instance in XML format. Diagram structure description is divided into two parts: 1) diagram structure model - it describes the graph structure, location of diagram elements and database objects ('kernels') that are associated with diagram elements. 2) executable model - stores mathematical model associated with graph. It is detailed description is available at: http://www.biouml.org/dml.shtml Availability BioUML workbench (including source code) is freely available at http://www.biouml.org There is special forum dedicated to BioUML workbench where you can post your questions and suggestions. We really needs in your feedback. http://groups.yahoo.com/group/biouml/ Acknowledgments Part of this work was partially supported by the grant of Volkswagen-Stiftung (I/75941). Author is grateful to Alexander Kel and Sergey Zhatchenko for useful comments and discussions, as well as to Igor Tyazhev, Vlad Zhvaleev and Oleg Onegov for technical support.