Bioinformatics Advance Access originally published online on March 9, 2006
Bioinformatics 2006 22(11):1406-1407; doi:10.1093/bioinformatics/btl086
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The SBML ODE Solver Library: a native API for symbolic and fast numerical analysis of reaction networks
1 Institute for Theoretical Chemistry, University of Vienna 1090 Vienna, Austria
2 Physiomics PLC, Magdalen Centre Oxford Science Park, Oxford, OX4 4GA, UK
3 Johann Radon Institute for Computational and Applied Mathematics (RICAM), Austrian Academy of Sciences 4040 Linz, Austria
4 Bioinformatics, Institute for Computer Science, University of Leipzig 04107 Leipzig, Germany
*To whom correspondence should be addressed.
| ABSTRACT |
|---|
|
|
|---|
The SBML ODE Solver Library (SOSlib) is a programming library for symbolic and numerical analysis of chemical reaction network models encoded in the Systems Biology Markup Language (SBML). It is written in ISO C and distributed under the open source LGPL license. The package employs libSBML structures for formula representation and associated functions to construct a system of ordinary differential equations, their Jacobian matrix and other derivatives. SUNDIALS' CVODES is incorporated for numerical integration and sensitivity analysis. Preliminary benchmarking results give a rough overview on the behavior of different tools and are discussed in the Supplementary Material. The native application program interface provides fine-grained interfaces to all internal data structures, symbolic operations and numerical routines, enabling the construction of very efficient analytic applications and hybrid or multi-scale solvers with interfaces to SBML and non SBML data sources. Optional modules based on XMGrace and Graphviz allow quick inspection of structure and dynamics.
Availability: www.tbi.univie.ac.at/~raim/odeSolver/
Contact: xtof{at}tbi.univie.ac.at
Supplementary information: Supplementary data are available at Bioinformatics online.
| 1 INTRODUCTION |
|---|
|
|
|---|
Mathematical modeling of (bio)chemical reaction networks involves a variety of techniques and theories and has long been applied for many purposes in research and technology. The need for exchange of models between different computational tools motivated collaborative efforts to develop standard formats for describing the common chemical reaction networks underlying the differing derived mathematical descriptions. Of the two XML based standards SBML (Hucka et al., 2003) and CellML (Lloyd et al., 2004), the former is supported by a growing number of applications and an official programming library, libSBML (http://sbml.org/software/libsbml/). While the available tools (see http://www.sbml.org) cover a variety of methods to edit and analyze reaction networks and their dynamics and/or structure, they are mostly designed as platform-specific standalone tools, accessible mostly via complex graphical user interfaces. In contrast, SOSlib combines libSBML with the SUNDIALS package (http://www.llnl.gov/CASC/sundials/) to provide a detailed application program interface (API) to both a derived ordinary differential equation (ODE) system and various derivatives thereof (e.g. the Jacobian matrix) and to efficient integration and sensitivity analysis routines. The fine-grained interfaces allow to access integration routines at all levels, e.g. to operate on parameter and variable values during integration or to incorporate external data. All functionalities of the library are implemented in several well-documented example programs and a simple command-line application with additional visualization modules.
| 2 METHODS |
|---|
|
|
|---|
The SOSlib is a straightforward integration of the features of libSBML, the official library for parsing and editing SBML, with CVODES' methods for solving stiff and non-stiff ODE systems and their parameter sensitivities. Figure 1 depicts the basic architecture, which can be outlined as follows:
|
(1) Construction of an ODE system [dx/dt = f(x, p, t), where p are parameters of the system] from a reaction network follows the usual procedure, as described in many text books. SBML's kinetic law construct represents reaction kinetics in (item or mole)/second instead of the usual mole/(liter*second), allowing a very simple handling of multi-compartment systems. The SBML rate rule construct enables representation of ODEs directly, and SOSlib actually constructs a derived SBML model, consisting only of rate rules (ODEs) for the system's variables. Simple recursive functions for formula evaluation, symbolic differentiation and simplification based on libSBML's abstract syntax tree (AST) representation of formulae further allow to construct the Jacobian matrix (J :
f/
x) and differentiation with respect to parameters of the ODE system (P :
f/
p). Differentiation is implemented for all formulae representable in AST. Structures in f that can not be differentiated with respect to y will produce messages in the returned formula for df/dy as well as in SOSlib's error management system.
(2) The constructed ODE system and its derivative J are then used to initiate numerical integration by CVODE's implementation of the backward differentiation formula (BDF) or the Adams-Moulton (AM) method with Newton or Functional iteration to calculate x(t) for a requested series of time points. BDF and AM methods are used for stiff and non-stiff systems, respectively. Changing variables x(t) at any time point by either event assignments (see below) or by calling applications simply requires reinitialization of the integrator structures with new initial values. SOSlib incorporates CVODES' methods for forward sensitivity analysis using the parametric derivatives in P to calculate
x(t)/
p. The performance of the methods for iteration as well as for forward sensitivity analysis (staggered direct, simultaneous or staggered corrector) depend on the numerical properties of the specific system. When construction of J or P fails because of undifferentiable structures in ODE, internal approximation routines of CVODES are employed. Both, numerical integration and sensitivity analysis are compatible with online variable manipulation. SBML event triggers are evaluated at every time step and executed if fired. The flaws of this approach are that the accuracy of event detection depends on the chosen time step and that the order of events fired at the same time step is not further resolved.
(3) Two optional modules support visualization of a model's structure and dynamics. Time courses of concentrations, rates, reaction fluxes and Jacobian matrix values can be directly visualized in XMGrace (http://plasma-gate.weizmann.ac.il/Grace/). The Graphviz library is employed for graph drawing (http://www.graphviz.org). Besides the usual bipartite reaction network, a species interaction and a parameter dependency graph based on J and P respectively, proved useful for visual exploration of dominating feedback cycles and parameter dependencies.
| 3 ACCURACY, SCOPE AND APPLICATIONS |
|---|
|
|
|---|
3.1 Numerical analysis
SOSlib's integration routines have been tested with the official SBML Semantic Test Suite. All of the tests without algebraic rules, events or delays were successfully solved. We have benchmarked the performance of SOSlib and four other SBML ODE solvers, namely Jarnac, Copasi, Dizzy and the SBMLToolbox for Matlab, using four models from the BioModels DB (Le Novère et al., 2006) and a variant of the repressilator model in a stiff parameter regime (S. Müller, J. Hofbauer, L. Endler, C. Flamm, S. Widder and P. Schuster, manuscript submitted). Models 22 and the repressilator are oscillatory models, the others approach a steady state. SOSlib performed especially well with the high-dimensional model (DB Id 14) and with the oscillatory models. The benchmark results provide first hints on the performance implications of the implementation approaches used by the selected tools. The results also show that SOSlib performs better than the majority of those tools (Table 1). References for tools and models, and a short discussion of benchmarking difficulties and results are available as Supplementary Material.
|
Limitations SOSlib (1.6.0) does not support user defined units or unit conversions. Models with delays or algebraic rules can not currently be handled. The event detection and execution is not generally valid and has to be used with care (see Methods).
3.2 Symbolic analysis and hybrid systems
All formulae in SBML, ODE, J and P can be retrieved as libSBML AST structures, evaluated with current data or further differentiated with respect to arbitrary variables. This functionality for symbolic operations opens SBML models for further analytic treatment.
The fine-grained interface to numerical routines directly enables efficient multi-scale modeling or integration into hybrid (continuous + discrete) solvers. Independent solver instances can communicate between time steps via straight-forward functions to set all parameters and variables, including the next time step of integration. Furthermore, an application can provide functions that evaluate external data from, for example, experimental measurements or other solvers.
| 4 DISCUSSION |
|---|
|
|
|---|
While systems biology has gained much attention only recently, its current methods are in large parts old and well-founded on mathematical and biochemical theories. We follow the spirit of SBML and libSBML to provide application developers with detailed interfaces to already existing standard methods under a very liberal licensing policy. In other words we are not trying to reinvent the wheel, but offer its best possible implementation to enable rapid scientific progress and unrestricted further development in this field. SOSlib uniquely provides a detailed native API, independent of any GUI or scripting environment, that allows access to all the components of a deterministic reaction network simulator enabling scientists to construct efficient applications that are tailored to their research needs. We are not aware of any other open source SBML analysis package that offers the time course sensitivity analysis provided by SOSlib through CVODES. The next releases (during 2006) will include exact event handling and extend the CVODES interface to provide adjoint sensitivities and sophisticated parameter identification routines that employ inverse methods. SUNDIALS's IDA solver for differential algebraic equation systems will be interfaced to provide integration for models with arbitrary algebraic rules. Bifurcation and feedback analysis would be obvious next steps.
| Acknowledgments |
|---|
R.M. gratefully acknowledges financial support by his parents. This work was supported by the WWTF, project number MA05.
Conflict of Interest: none declared.
| FOOTNOTES |
|---|
Associate Editor: Martin Bishop
Received on January 11, 2006; revised on February 15, 2006; accepted on March 4, 2006
| REFERENCES |
|---|
|
|
|---|
Cohen, S. and Hindmarsh, A. (1996) CVODE, a stiff/nonstiff ODE solver in C. Comput. Phys, . 10, 138143.
Hucka, M., et al. (2003) The systems biology markup language (SBML): a medium for representation and exchange of biochemical network models. Bioinformatics, 19, 524531
Le Novère, N., et al. (2006) BioModels Database: a free, centralized database of curated, published, quantitative kinetic models of biochemical and cellular systems. Nucleic Acids Res, . 34, D689D691
Lloyd, C.M., et al. (2004) CellML: its future, present and past. Prog. Biophys. Mol. Biol, . 85, 433450[CrossRef][Web of Science][Medline].
This article has been cited by other articles:
![]() |
L. Endler, N. Rodriguez, N. Juty, V. Chelliah, C. Laibe, C. Li, and N. Le Novere Designing and encoding models for synthetic biology J R Soc Interface, August 6, 2009; 6(Suppl_4): S405 - S417. [Abstract] [Full Text] [PDF] |
||||
![]() |
Y. Matsuoka, S. Ghosh, and H. Kitano Consistent design schematics for biological systems: standardization of representation in biological engineering J R Soc Interface, August 6, 2009; 6(Suppl_4): S393 - S404. [Abstract] [Full Text] [PDF] |
||||
![]() |
B. C. Haynes and M. R. Brent Benchmarking regulatory network reconstruction with GRENDEL Bioinformatics, March 15, 2009; 25(6): 801 - 807. [Abstract] [Full Text] [PDF] |
||||
![]() |
F. T. Bergmann and H. M. Sauro Comparing simulation results of SBML capable simulators Bioinformatics, September 1, 2008; 24(17): 1963 - 1965. [Abstract] [Full Text] [PDF] |
||||
![]() |
C. Flamm, L. Endler, S. Muller, S. Widder, and P. Schuster A minimal and self-consistent in silico cell model based on macromolecular interactions Phil Trans R Soc B, October 29, 2007; 362(1486): 1831 - 1839. [Abstract] [Full Text] [PDF] |
||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||



