Diagram type
From BioUML platform
Revision as of 18:10, 14 June 2013 by Stanislav Loskutnikov (Talk | contribs)
The diagram type concept was introduced to take into account different diagram types and problem domain specificity. The diagram type defines:
- types of biological components and their interactions that can be shown on the diagram;
- diagram view builder – it generates view (image) for each graph element taking into account the problem domain peculiarities. For example, biological pathway diagram view builder displays proteins as circles, genes as rectangles and substances as squares;
- semantic controller - provides semantic integrity of the diagram during its editing. It takes into account problem domain constraints, for example if some substance is removed on biological pathway diagram, all related reactions must be removed too.
A diagram type can be defined (created) by two ways:
- programmatically - as Java class implementing special interface. There are 5 predefined diagram types that allow to describe complex biological systems on cellular level with different level of detail and formality;
- declaratively - as XML document. BioUML workbench provides Graphic Notation Editor that allows advanced users to create and edit diagram types. By this way diagram types for SBGN (Le Novère et al, 2009) and KEGG/Pathways database were created.
BioUML provides a number of diagram types that allow a researcher to describe biological pathways such as metabolic pathways, signal transduction pathways and gene networks. The main three of them are:
- Semantic network is used to describe semantic relationships between system components, system states, and related problem domain concepts. This diagram type is also convenient as overview.
- Pathway is used for formalized description of biological pathway structure (metabolic pathway or gene network).
- Pathway simulation is an extension of the pathway type, where variables are associated with graph nodes and differential equations - with graph edges. This allows BioUML to automatically generate a mathematical model of the system and simulate its dynamics.