Skip Navigation


Bioinformatics Advance Access originally published online on January 18, 2007
Bioinformatics 2007 23(5):646-647; doi:10.1093/bioinformatics/btl668
This Article
Right arrow Abstract Freely available
Right arrow FREE Full Text (Print PDF) Freely available
Right arrow All Versions of this Article:
23/5/646    most recent
btl668v1
Right arrow Comments: Submit a response
Right arrow Alert me when this article is cited
Right arrow Alert me when Comments are posted
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 Search for Related Content
PubMed
Right arrow PubMed Citation
Right arrow Articles by Schmidt, H.
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

SBaddon: high performance simulation for the Systems Biology Toolbox for MATLAB

Henning Schmidt

Fraunhofer-Chalmers Research Centre for Industrial Mathematics, Chalmers Science Park, SE-41288 Göteborg


    ABSTRACT
 TOP
 ABSTRACT
 1 INTRODUCTION
 2 FEATURES
 3 REQUIREMENTS
 REFERENCES
 

Summary: We present the SBaddon package as an extension to the Systems Biology Toolbox for MATLAB (SBtoolbox). The goal of this extension is to provide the users of the SBtoolbox with important functionality that is needed for parameter estimation applications. While simulation in the SBtoolbox relies on the MATLAB ODE solvers, the SBaddon package provides considerably increased simulation performance through automatic generation of compiled simulation functions. Furthermore, the package contains improved optimization algorithms, forward parameter sensitivity analysis and basic numeric parameter identifiability analysis.

Availability: The SBaddon package is open source and freely available for non-commercial use. Commercial use of SBaddon is only possible through a specific licensing agreement (contact sbaddon{at}sbtoolbox.org). SBaddon can be obtained from http://www.sbtoolbox.org/SBaddon. The website also contains extensive documentation, and examples.

Contact: henning{at}fcc.chalmers.se


    1 INTRODUCTION
 TOP
 ABSTRACT
 1 INTRODUCTION
 2 FEATURES
 3 REQUIREMENTS
 REFERENCES
 
Modeling of biological systems is a highly interdisciplinary and iterative task that requires researchers from different areas to collaborate interactively. Typical steps in modeling are the definition of a model network structure, formulation of hypotheses about the kinetic rate expressions, generation of quantitative measurement data, parameter determination and estimation and analysis of the resulting models. Modeling software and powerful computational tools play an increasingly important role in the modeling process.

Many of the available system biological simulation and analysis software packages consist of relatively inflexible software applications that are either not extensible by the user and/or require considerable operating system dependent programming knowledge for the user to be able to implement new methods, for prototyping purposes or for making a new computational method available to the research community. Flexibility and extensibility of software tools is, however, crucial, especially since systems biology still is a relatively young discipline with relatively few standard methods.

In our opinion, it would be advantageous if computational tools would be designed in a more modular way than it is currently often the case. New algorithms or methods could be implemented more easily, without having to deal with a large overhead. Good examples are the Systems Biology Workbench (Hucka et al., 2001) and the Systems Biology Toolbox for MATLAB (Schmidt and Jirstrand, 2006).

In this work we present an extension to the Systems Biology Toolbox for MATLAB (Fig. 1). One goal of this extension is to exemplify how the modular concept of the SBtoolbox can be used to make new functionality available without a lot of overhead. The SBtoolbox can serve as a platform that provides basic functionality that can be reused also by third-party packages.


Figure 1
View larger version (27K):
[in this window]
[in a new window]
[Download PowerPoint slide]
 
Fig. 1. The modular design of the SBtoolbox allows for a straight forward integration with additional third-party packages. The darker elements in the figure correspond to the SBaddon package.

 
The main goal of this extension, however, is to provide the users of the SBtoolbox with important functionality that is needed for parameter estimation applications. Simulation in the SBtoolbox relies on standard MATLAB ODE solvers, resulting in relatively poor simulation performance. While this often is not a problem for single simulations, performance becomes crucial in parameter estimation applications where the same model is simulated repeatedly for different sets of parameters and/or initial conditions. Through the use of the SBaddon package, simulations are speed up by a factor roughly between 5 and 80, depending on properties of the model and integrator settings. This is achieved by automatic conversion of SBmodels (the model representation in the SBtoolbox) to compiled MEX simulation functions, using the SUNDIALS CVODES (Serban and Hindmarsh, 2005) (http://www.llnl.gov/CASC/sundials/) ODE solver for simulation. Additionally, the SBaddon package contains improved optimization algorithms, forward parameter sensitivity analysis and basic parameter identifiability analysis.


    2 FEATURES
 TOP
 ABSTRACT
 1 INTRODUCTION
 2 FEATURES
 3 REQUIREMENTS
 REFERENCES
 
The main feature of the SBaddon package is the automatic conversion of SBmodels to compiled and executable MATLAB (MEX) functions. Figure 2 depicts this process. An SBmodel is converted to C-code, compiled to object code, and subsequently linked with a static library that contains the SUNDIALS CVODES (Serban and Hindmarsh, 2005) package and an interface function that enables the communication between the CVODES integrator and MATLAB. As stated earlier, the process is automatic and the involved SBaddon command is the following:


Figure 2
View larger version (34K):
[in this window]
[in a new window]
[Download PowerPoint slide]
 
Fig. 2. Automatic conversion of an SBmodel to an executable MEX simulation function.

 
» SBAOcreateMEXmodel (model,‘mexfile’)

The first argument model is an SBmodel and the second argument is the name of the generated MEX simulation function. The complete calling syntax of MEX simulation functions is given by

» result = mexfile (time, ic, param, options)

where time is a vector with time instants for which to determine the values of the states, variables and reaction rates, ic is a vector with initial conditions of the state variables, param is a vector containing the parameter values and options is a structure allowing to customize integrator settings. All input arguments, except for the time argument, are optional. The output variable result is a MATLAB structure containing the simulation results.

To quantify the increase in simulation performance with respect to standard simulation, using MATLAB ODE solvers, a benchmark was performed. The results are shown in Table 1. The script and the models that were used for this benchmark are included in the SBaddon package's examples folder. The MEX file conversion is compatible with all the features of an SBmodel, with the exception of plain MATLAB functions defined within an SBmodel. Furthermore, SBaddon has the same compatibility specifications regarding SBML as the SBtoolbox has, which mainly means that algebraic rules and delayed events are not supported.


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

 
Table 1. Comparison between the ODE15s and the SBaddon performance

 
Apart from simple time course simulation, the MEX simulation functions can additionally determine parameter sensitivity trajectories si (t), defined by


Formula

where y denotes the states of the model and the pi denotes the parameters of interest. The right hand side of the sensitivity ODEs are not required to be defined manually but are approximated numerically by the CVODES solver. Other features, included in the SBaddon package are:

  • Identifiability analysis. Based on the parameter sensitivities of selected states of a model a parameter correlation matrix can be determined. Highly correlated parameters, with respect to the considered state variables (measurements), are likely to be unidentifiable independently.
  • Optimization algorithms. One local search method (Nelder-Mead downhill simplex) and two global methods [simulated annealing, evolutionary strategy (Runarsson and Yao, 2005)] are implemented. All methods can take box constraints on parameters into account.
  • Auxiliary functions. Several auxiliary functions are present in the package, simplifying the use of the MEX simulation functions.

Further functionality will be made available in the next release of SBaddon, which is expected to be in Spring 2007. Planned features are the determination of sensitivity trajectories for reactions and variables, adjoint sensitivity analysis, semi-symbolic model reduction methods and additional optimization algorithms.


    3 REQUIREMENTS
 TOP
 ABSTRACT
 1 INTRODUCTION
 2 FEATURES
 3 REQUIREMENTS
 REFERENCES
 
The SBaddon package requires at least MATLAB Release 14 and the availability of the Systems Biology Toolbox for MATLAB. No manual compilation is required and the use of MATLAB as a basis allows the toolbox and the addon package to be used on Windows, Linux, Unix, and MAC OS machines. The installation of the package consists of unpacking a compressed file to the desired location and running the installation script from within MATLAB.

Conflict of Interest: none declared.


    FOOTNOTES
 
Associate Editor: Olga Troyanskaya

Received on November 9, 2006; revised on December 8, 2006; accepted on December 29, 2006

    REFERENCES
 TOP
 ABSTRACT
 1 INTRODUCTION
 2 FEATURES
 3 REQUIREMENTS
 REFERENCES
 

    Hucka M, et al. The ERATO systems biology workbench: an integrated environment for multiscale and multitheoretic simulations in systems biology. In: Foundations in System Biology (2001) MIT Press. http://sbw.kgi.edu.

    Hynne F, et al. Full-scale model of glycolysis in Saccharomyces cerevisiae. Biophysical Chemistry (2001) 94:121–163.[CrossRef][Web of Science][Medline]

    Novak B, Tyson JJ. Modeling the cell division cycle: M-phase trigger, oscillations and size control. J. Theoretical Biology (1993) 165:101–134.[CrossRef]

    Runarsson TP, Yao X. Search Biases in Constrained Evolutionary Optimization. IEEE Trans Syst Man Cybernetics Part C: Appl Rev (2005) 35:233–243.[CrossRef]

    Schmidt H, Jirstrand M. Systems Biology Toolbox for MATLAB: A computational platform for research in Systems Biology. Bioinformatics (2006) 22:514–515. http://www.sbtoolbox.org.[Abstract/Free Full Text]

    Serban R, Hindmarsh AC. CVODES: the sensitivity-enabled ode solver in SUNDIALS. In: Proceedings of IDETC/CIE 2005 (2005) CA: Long Beach.


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



This Article
Right arrow Abstract Freely available
Right arrow FREE Full Text (Print PDF) Freely available
Right arrow All Versions of this Article:
23/5/646    most recent
btl668v1
Right arrow Comments: Submit a response
Right arrow Alert me when this article is cited
Right arrow Alert me when Comments are posted
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 Search for Related Content
PubMed
Right arrow PubMed Citation
Right arrow Articles by Schmidt, H.
Social Bookmarking
 Add to CiteULike   Add to Connotea   Add to Del.icio.us  
What's this?