Skip Navigation


Bioinformatics Advance Access originally published online on March 23, 2007
Bioinformatics 2007 23(10):1297-1298; doi:10.1093/bioinformatics/btm105
This Article
Right arrow Abstract Freely available
Right arrow FREE Full Text (Print PDF) Freely available
Right arrow All Versions of this Article:
23/10/1297    most recent
btm105v1
Right arrow Alert me when this article is cited
Right arrow Alert me if a correction is posted
Services
Right arrow Email this article to a friend
Right arrow Similar articles in this journal
Right arrow Similar articles in PubMed
Right arrow Alert me to new issues of the journal
Right arrow Add to My Personal Archive
Right arrow Download to citation manager
Right arrowRequest Permissions
Google Scholar
Right arrow Articles by Schmidt, H.
Right arrow Articles by Wolkenhauer, O.
Right arrow Search for Related Content
PubMed
Right arrow PubMed Citation
Right arrow Articles by Schmidt, H.
Right arrow Articles by Wolkenhauer, O.
Social Bookmarking
 Add to CiteULike   Add to Connotea   Add to Del.icio.us  
What's this?

© The Author 2007. Published by Oxford University Press. All rights reserved. For Permissions, please email: journals.permissions@oxfordjournals.org

SBML export interface for the systems biology toolbox for MATLAB

Hening Schmidt 1,*, Gunnar Drews 2, Julio Vera 2 and Olaf Wolkenhauer 2

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
 TOP
 ABSTRACT
 1 INTRODUCTION
 2 SBML EXPORT FUNCTIONS
 3 LIMITATIONS AND HINTS
 4 IMPLEMENTATION
 REFERENCES
 

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
 TOP
 ABSTRACT
 1 INTRODUCTION
 2 SBML EXPORT FUNCTIONS
 3 LIMITATIONS AND HINTS
 4 IMPLEMENTATION
 REFERENCES
 
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.


View this table:
[in this window]
[in a new window]

 
Table 1. Overview of additional information that is required for an in order to export it to an SBML file

 
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
 TOP
 ABSTRACT
 1 INTRODUCTION
 2 SBML EXPORT FUNCTIONS
 3 LIMITATIONS AND HINTS
 4 IMPLEMENTATION
 REFERENCES
 
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.


Figure 1
View larger version (35K):
[in this window]
[in a new window]
[Download PowerPoint slide]
 
Fig. 1. Textual description of a sample SBmodel, showing the additional information, required for SBML export, in bold face.

 

Figure 2
View larger version (52K):
[in this window]
[in a new window]
[Download PowerPoint slide]
 
Fig. 2. GUI of the SBML export module.

 
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
 TOP
 ABSTRACT
 1 INTRODUCTION
 2 SBML EXPORT FUNCTIONS
 3 LIMITATIONS AND HINTS
 4 IMPLEMENTATION
 REFERENCES
 
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.


Formula

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.


Formula

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
 TOP
 ABSTRACT
 1 INTRODUCTION
 2 SBML EXPORT FUNCTIONS
 3 LIMITATIONS AND HINTS
 4 IMPLEMENTATION
 REFERENCES
 
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
 TOP
 ABSTRACT
 1 INTRODUCTION
 2 SBML EXPORT FUNCTIONS
 3 LIMITATIONS AND HINTS
 4 IMPLEMENTATION
 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.[Abstract/Free Full Text]

    Keating S, et al. SBMLToolbox: an SBML toolbox for MATLAB users. Bioinformatics (2006) 22:1275–1277. http://sbml.org/software/sbmltoolbox/.[Abstract/Free Full Text]

    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.[Abstract/Free Full Text]


Add to CiteULike CiteULike   Add to Connotea Connotea   Add to Del.icio.us Del.icio.us    What's this?


This article has been cited by other articles:


Home page
Nucleic Acids ResHome page
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]


This Article
Right arrow Abstract Freely available
Right arrow FREE Full Text (Print PDF) Freely available
Right arrow All Versions of this Article:
23/10/1297    most recent
btm105v1
Right arrow Alert me when this article is cited
Right arrow Alert me if a correction is posted
Services
Right arrow Email this article to a friend
Right arrow Similar articles in this journal
Right arrow Similar articles in PubMed
Right arrow Alert me to new issues of the journal
Right arrow Add to My Personal Archive
Right arrow Download to citation manager
Right arrowRequest Permissions
Google Scholar
Right arrow Articles by Schmidt, H.
Right arrow Articles by Wolkenhauer, O.
Right arrow Search for Related Content
PubMed
Right arrow PubMed Citation
Right arrow Articles by Schmidt, H.
Right arrow Articles by Wolkenhauer, O.
Social Bookmarking
 Add to CiteULike   Add to Connotea   Add to Del.icio.us  
What's this?