Difference between revisions of "BioUML"

From BioUML platform
Jump to: navigation, search
(info on tests added from biouml.org)
(Discrete Stochastic Models Test Suite (DSMTS))
Line 174: Line 174:
 
|}
 
|}
  
{{draft}}
+
The test results are summarized below:
 +
 
 +
{|class="wikitable"
 +
!Simulator!!Details!!Tests!!Successful!!Failed!!Errors!!CSV error!!Result differs!!Compilation error!!Only Mean value errors!!Only Standard deviation errors!!Success rate!!Time (s)
 +
|-
 +
|Gillespie
 +
|[http://www.biouml.org/sbml_tests/dsmts/results/Gillespie.html by order]
 +
|39||38||0||1||0||0||0||0||0||97.4359 %||955
 +
|-
 +
|Gillespie efficient
 +
|[http://www.biouml.org/sbml_tests/dsmts/results/Gillespie%20efficient.html by order]
 +
|39||38||0||1||0||0||0||0||0||97.4359 %||977
 +
|-
 +
|Gibson and Bruck
 +
|[http://www.biouml.org/sbml_tests/dsmts/results/Gibson%20and%20Bruck.html by order]
 +
|39||38||0||1||0||0||0||0||0||97.4359 %||1256
 +
|-
 +
|Tau-leaping
 +
|[http://www.biouml.org/sbml_tests/dsmts/results/Tau-leaping.html by order]
 +
|39||31||0||1||0||0||0||0||7||79.48718 %||1697
 +
|-
 +
|Maximal time step
 +
|[http://www.biouml.org/sbml_tests/dsmts/results/Max%20Time%20Step.html by order]
 +
|39||37||0||2||0||0||0||0||0||94.87179 %||86915
 +
|}
 +
 
 +
Legend:
 +
 
 +
Failed - an exception has occured.
 +
 
 +
Errors - simulation results significantly differ from the known ones.
 +
 
 +
CSV error - original CSV data is missing or can not be parsed.
 +
 
 +
Result differs - some variable or time point is missing in simulation engine output.
 +
 
 +
Compilation error - Could not compile generated model file.
 +
 
 +
Only Mean value errors - simulated mean values significantly differ from the known ones.
 +
 
 +
Only Standard deviation errors - simulated standard deviation significantly differ from the known ones.
  
 
==Acknowledgements==
 
==Acknowledgements==

Revision as of 16:34, 30 April 2013

This page or section is a stub. Please add more information here!

BioUML is an open source integrated Java platform for analysis of data from omics sciences research and other advanced computational biology, for building the virtual cell and the virtual physiological human. It spans a 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, simulation, parameters fitting and analyses. Due to scripts (R, JavaScript) and workflow support it provides powerful possibilities for analyses of high-throughput data. The plug-in based architecture (Eclipse run time from IBM is used) allows to add new functionality using plug-ins.

The whole system aims at covering, with time, all areas of computational applications in bioinformatics and systems biology. The architecture is open, so that users' own scripts can be easily loaded into the system, and new modules can be programmed and added by any skilled person. The community is invited to contribute to the development, either as public-domain or as a commercial part of the platform. The developers are confident that this way a most powerful and needed system of tools can grow.

The team also hopes that BioUML will contribute to creation of virtual cell, virtual physiological human and virtual patient, which would be extremely useful in medicine as a means of computational identification of the most effective therapeutic interventions and for prediction of potential outcomes of intended treatments for a given patient.

Contents

Principles

Visual modeling

Visual modeling within the data workflow in BioUML

Reconstruction of complex biological systems from a huge amount of experimental data requires a formal language that can be easily understood both by the human and the computer. It is known that graphical depiction of complex systems is the most suitable way of understanding their structure by humans. Graphical notation allows humans to completely and formally specify model so computer programs can analyze the model and simulate its behavior.

This approach is widely used in engineering and computer science. Some examples are:

BioUML adopts the visual modeling approach for formal description and simulation of complex biological systems.

Another distinctive feature of BioUML is a tight integration with databases on biological pathways, query engine allows user to find interacting components of the system and show results as an editable graph.

BioUML also fully exploits principles of modular modeling.


Meta-model

System of two consecutive chemical reactions (a), its formal description using three meta model levels (b), and corresponding mathematical model (c), that can be generated automatically for system simulations

The core of BioUML is a meta-model. It provides an abstract layer (compartmentalized attributed graph) for comprehensive formal description of wide range of biological and other complex systems. The content of databases on biological pathways, SBML (Hucka M. et al., 2003) and CellML(Lloyd C.M. et al., 2004) models, as well as biological pathways in BioPAX format can be expressed in terms of the meta model and used by the BioUML workbench.

This formal description can be used both for visual depiction and editing of biological system structure and for automated code generation to simulate a model behavior. Meta-model is problem domain neutral and splits the system description into 3 interconnected levels:

  • graph structure - the system structure is described as compartmentalized graph;
  • database level - each graph element can contain reference to some database object;
  • mathematical model - any graph element can be element of mathematical model.


BioUML supports the following mathematical elements: variable, formula, equation, event, state and transition.

The figure demonstrates how this approach is applied to modeling a system consisting of two consecutive chemical reactions. Here the graph nodes representing chemical substances are considered as variables and the corresponding graph edges contain right parts of corresponding differential equations. Using this information the BioUML workbench can generate MATLAB or Java code for model simulation.


Special BioUML diagrams markup language (DML) is developed to store BioUML meta model instance in XML format. Diagram description is divided into two parts:

  • graph structure - it describes location of diagram elements and contains references to associated with them database objects;
  • executable model - stores mathematical model associated with graph.

Detailed description of DML format is available at http://www.biouml.org/dml.shtml


Reproducible research

Reproducible research is the common name for functionality for saving, representing and reproducing a set of data manipulation. BioUML provides special Projects collections, workflows and research diagrams for this purpose.

Collaborative research

Collaborative research is any research project, especially a large one involving various areas of expertise, that is carried out by at least two people. To enable collaborative research BioUML sustains the following functionality:

Architecture overview

BioUML platform consists of 3 parts:

  • BioUML server - provides access to data and analyses methods installed on the server side for BioUML clients (workbench and web edition) via the Internet.
  • BioUML workbench - Java application that can work standalone or as "thick" client for BioUML server.
  • BioUML web edition - "thin" client for BioUML server (you just need to start web browser) that provides most of functionality of BioUML workbench. It uses AJAX and HTML5 <canvas> technology for visual modeling and interactive data editing.

Plug-in based architecture

Plug-in based architecture scheme with extension points shown as sockets and plug-ins as plugs

The plug-in based architecture determines extensibility of the BioUML platform. This functionality is provided by Eclipse platform runtime kernel.

The basic components of the plug-in based architecture are:

  • Plug-in, the smallest unit of BioUML workbench function that can be developed and delivered separately into the BioUML workbench. 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. A plug-in is described in an XML manifest file, called plugin.xml. The parsed contents of plug-in manifest files are made available programmatically through a plug-in registry API provided by Eclipse runtime.
  • Extension points, well-defined function points in the system where other plug-ins can contribute functionality.
  • Extension, 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.

Tests

SBML tests

The Java simulation engine provided by BioUML version 0.9.4 passed 100% SBML semantic test suite. The SBML Test Suite is a conformance testing system for SBML. It allows developers and users to test the degree and correctness of SBML support provided in an SBML-compatible software package.

More details can be found at http://sbml.org/Software/SBML_Test_Suite.

Results

SBML test suite was used to validate BioUML simulation engines.

SBML test suite version 2.1.0 2012, August 14
BioUML simulation engine version 0.9.4 2012, August 22

You can start any test via BioUML web edition. The test results are summarized below.

SBML Details Tests Successful Failed Errors Needs tuning CSV error Result differs Problem is stiff Compilation error Success rate Time(s)
Level 1 version 2 by order

by categories

252 252 0 0 0 0 0 0 0 100.0% 29
Level 2 version 1 by order

by categories

882 882 0 0 0 0 0 0 0 100.0% 163
Level 2 version 2 by order

by categories

1039 1039 0 0 0 0 0 0 0 100.0% 339
Level 2 version 3 by order

by categories

1039 1039 0 0 0 0 0 0 0 100.0% 497
Level 2 version 4 by order

by categories

1041 1041 0 0 0 0 0 0 0 100.0% 659
Level 3 version 1 by order

by categories

1075 1075 0 0 0 0 0 0 0 100.0% 863

Legend: Failed - an exception has occurred.

Errors - simulation results significantly differ from the known ones.

Needs tuning - relative error is not small enough.

CSV error - original CSV data is missing or can not be parsed.

Result differs - some variable or time point is missing in simulation engine output.

Problem is stiff - Problem is too stiff for this solver.

Compilation error - Could not compile generated model file.


Discrete Stochastic Models Test Suite (DSMTS)

The stochastic engine available in version 0.9.4 of BioUML was was tested using DSMTS test suite.

DSMTS version 2.1.0 2010, May 2
BioUML simulation engine version 0.9.4 2012, August 22

The test results are summarized below:

Simulator Details Tests Successful Failed Errors CSV error Result differs Compilation error Only Mean value errors Only Standard deviation errors Success rate Time (s)
Gillespie by order 39 38 0 1 0 0 0 0 0 97.4359 % 955
Gillespie efficient by order 39 38 0 1 0 0 0 0 0 97.4359 % 977
Gibson and Bruck by order 39 38 0 1 0 0 0 0 0 97.4359 % 1256
Tau-leaping by order 39 31 0 1 0 0 0 0 7 79.48718 % 1697
Maximal time step by order 39 37 0 2 0 0 0 0 0 94.87179 % 86915

Legend:

Failed - an exception has occured.

Errors - simulation results significantly differ from the known ones.

CSV error - original CSV data is missing or can not be parsed.

Result differs - some variable or time point is missing in simulation engine output.

Compilation error - Could not compile generated model file.

Only Mean value errors - simulated mean values significantly differ from the known ones.

Only Standard deviation errors - simulated standard deviation significantly differ from the known ones.

Acknowledgements

BioUML development was supported by:

  • Volkswagen-Stiftung (I/75941)
  • INTAS 03-51-5218
  • RFBR 04-04-49826-а
  • Siberian Branch of Russian Academy of Sciences (interdisciplinary projects 46, 17, 91)
  • European Committee grant 037590 "Net2Drug"
  • European Committee grant 202272 "LipidomicNet"


The developers would also like to express their great appreciation to DevelopmentOnTheEdge.com for providing revolutionary methodology BeanExplorer that allows for quick and easy creation of user interfaces for the BioUML workbench.


See also

Personal tools
Namespaces

Variants
Actions
BioUML platform
Community
Modelling
Analysis & Workflows
Collaborative research
Development
Virtual biology
Wiki
Toolbox