Bioinformatics Advance Access originally published online on March 23, 2007
Bioinformatics 2007 23(10):1297-1298; doi:10.1093/bioinformatics/btm105
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SBML export interface for the systems biology toolbox for MATLAB
1Fraunhofer-Chalmers Research Centre for Industrial Mathematics, Gothenburg, Sweden and 2Systems Biology and Bioinformatics Group, Department of Computer Science, University of Rostock, Rostock, Germany
*To whom correspondence should be addressed.
| ABSTRACT |
|---|
|
|
|---|
Summary: In this application note, we present an Systems biology markup language (SBML) export interface for the Systems Biology Toolbox for MATLAB. This interface allows modelers to automatically convert models, represented in the toolbox's own format (SBmodels) to SBML files. Since SBmodels do not explicitly contain all the information that is required to generate SBML, the necessary information is gathered by parsing SBmodels. The export can be done in two different ways. First, it is possible to call the export from the command line, thereby directly converting a model to an SBML file. The second option is to inspect and edit the conversion results with the help of a graphical user interface and to subsequently export the model to SBML.
Availability: The SBML export interface has been integrated into the Systems Biology Toolbox for MATLAB, which is open source and freely available from http://www.sbtoolbox2.org. The website also contains a tutorial, extensive documentation and examples.
Contact: henning{at}fcc.chalmers.se
| 1 INTRODUCTION |
|---|
|
|
|---|
The systems biology markup language (SBML) (Hucka et al., 2003) is a computer-readable language for the representation of mathematical models of biochemical networks, which in recent years has become a de-facto standard for the description and exchange of mathematical models in systems biology. The aim of SBML is to facilitate the exchange of mathematical models between software tools with a minimum of human intervention and to allow an easy publication in an electronic format.
The Systems Biology Toolbox for MATLAB (Schmidt and Jirstrand, 2006) is an environment designed for modeling, simulation and computational analysis of biochemical systems. The central part of the toolbox is the basic data structure that is used to represent the mathematical models (SBmodel).
SBML defines a model in terms of its components, such as species, parameters and compartments, and the interactions between these components, such as reactions. In contrast, an SBmodel represents a model in terms of its underlying mathematical equations. Elements in an SBmodel are state variables, differential equations, constant parameters, and algebraic variables. While the import of SBML models into the SBmodel format is straightforward, the export is complicated by the fact that an SBmodel lacks explicit information that is necessary to do the mapping. For example, an SBML species can correspond mathematically to a state variable, a variable defined by an algebraic expression, or a constant parameter, depending on the definitions in the SBML file. This means that in order to be able to export an SBmodel to SBML, additional information needs to be added to the SBmodel.
More specifically, this additional information needs to be provided for all state variables, variables and parameters of the SBmodel. In the data structure that is underlying an SBmodel the states, variables and parameters fields each have the subfields type, compartment and unittype, which need to be filled with valid content, defined in Table 1.
|
We need to point out that, apart from the discussed elements of a model, other aspects, such as events and functions, are present, both in the SBML and SBmodel description. In this article, however, we limit ourselves to the discussion of the most important aspects, since the consideration of the other elements during export is trivial.
| 2 SBML EXPORT FUNCTIONS |
|---|
|
|
|---|
The SBML export interface, presented in this note, enables the user to automatically convert SBmodels to SBML files, without the need for manually adding the additional information. However, as human creativity is nearly unlimited, manual intervention is sometimes necessary. In the export interface this is achieved in three ways. The user can add parts of the additional information into the model by directly accessing the data structure of the SBmodel. The second, more convenient, method is to specify this information directly in the text description of an SBmodel. Figure 1 shows a simple example, where the additional information is highlighted in bold face. This initial information will not be overwritten by the parsing step of the export function. Finally, a graphical user interface (GUI), shown in Figure 2, has been developed to inspect and edit all details of the model together with the parsed additional information.
|
|
The direct export of an SBmodel to an SBML file is performed by using the command:>> SBexportSBML(model)The GUI-based export functionality is invoked by calling:>> SBexportSBMLGUI(model)where the variable model represents a valid SBmodel.
| 3 LIMITATIONS AND HINTS |
|---|
|
|
|---|
The main limitations of the SBML export interface stem from limitations in the Systems Biology Toolbox. The export is done only to SBML level 2 version 1; unit definitions are not taken into account, state events cannot have a time delay assigned to them. Furthermore, algebraic rules and non-numeric stoichiometric coefficients are not supported. SBmodels allow the user to use pure MATLAB code in the MATLAB functions section of an SBmodel. Since these functions cannot be represented in SBML, the export of such models stops with a warning. Additionally, in the mathematical description of SBmodels the call of MATLAB functions is allowed. However, not all of these functions might have MathML equivalents.
In order to be able to correctly detect the type of a state in an SBmodel (if no additional information has been provided by the modeler), to parse the stoichiometric coefficients, to detect the presence of eventual compartments in the model and to decide if a certain species-state variable has amount or concentration units the differential equations need to be specified in a certain syntax, explained below.
|
|
Under the assumption that R1 and R2 are defined as reactions in the SBmodel, A is parsed as a specie. Since reaction rates in SBML are defined to have amount/time units, A must have amount units. The stoichiometric coefficients of the reactions are given by the numeric factors of the reactions.
|
|
Using this syntax, again under the assumption that R1 and R2 are defined as reactions, C is interpreted as a compartment size and the unit-type of A is set to concentration. In the case that in the right-hand-side terms appear that do not fit into this syntax (R1 could for example be defined as a parameter or a variable), A would be determined to be an SBML parameter and the differential equation would be implemented as a rate rule in SBML.
Finally, the hierarchy of compartments cannot be determined automatically. This means, if compartments are nested within a model, this information has to be added manually, either prior to calling the export function or by using the GUI. An SBmodel does not require the presence of a compartment. In the case that no compartment is present, the export functions introduce a compartment with the name default.
| 4 IMPLEMENTATION |
|---|
|
|
|---|
The export interface has been integrated into the Systems Biology Toolbox for MATLAB, which requires at least MATLAB Release 14. Furthermore, the SBML Toolbox (Keating et al., 2006) needs to be installed, since the developed SBML export functions convert an SBmodel into a MATLAB structure and subsequently use the OutputSBML command from the SBML Toolbox to write out the SBML file. The GUI is implemented in JAVA. The Mathworks SimBiology Toolbox is not required.
Conflict of Interest: none declared.
| FOOTNOTES |
|---|
Associate Editor: Martin Bishop
Received on January 29, 2007; revised on March 9, 2007; accepted on March 9, 2007
| REFERENCES |
|---|
|
|
|---|
Hucka M, et al. The systems biology markup language (SBML): a medium for representation and exchange of biochemical network models. Bioinformatics (2003) 19:524–531.
Keating S, et al. SBMLToolbox: an SBML toolbox for MATLAB users. Bioinformatics (2006) 22:1275–1277. http://sbml.org/software/sbmltoolbox/.
Schmidt H, Jirstrand M. Systems Biology Toolbox for MATLAB: a computational platform for research in systems biology. Bioinformatics (2006) 22:514–515. http://www.sbtoolbox2.org.
This article has been cited by other articles:
![]() |
P. Kumar, B. C. Han, Z. Shi, J. Jia, Y. P. Wang, Y. T. Zhang, L. Liang, Q. F. Liu, Z. L. Ji, and Y. Z. Chen Update of KDBI: Kinetic Data of Bio-molecular Interaction database Nucleic Acids Res., January 1, 2009; 37(suppl_1): D636 - D641. [Abstract] [Full Text] [PDF] |
||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||


