ICSB07 tutorial
From TBI
Contents |
Title
Inverse Methodologies for Systems Biology: computational demonstrations using SBML ODE Solver Library, Mathematica and Matlab extensions
Outline
- Forward Analysis: SOSlib, C programming
- SOSlib structures and Interfaces
- SOSlib in multi-scale modeling, multiple communicating integrators
- Efficient parameter and initial condition scans with SOSlib
- Sensitivity analysis with SOSlib
- Inverse Analysis with regularization: SOSlib + extensions, parameter identification
- local optimization: adjoint solver, SOSlib + IpOpt
- local and global optimization: SOSlib and scatter search
- regularization
- Inverse Dynamical Analysis: Mathematica and Matlab packages
- Inverse Eigenvalue Analysis, MathSBML extension, Inverse Eigenvalue Analyzer
- Inverse Bifurcation Analysis, MATCONT
Extended abstract
In this tutorial we will introduce a variety of advanced inverse methods for numerical analysis of SBML-encoded biochemical models using experimental data. Inverse problems are typically ill-posed, i.e. the solution may be non-unique and unstable with respect to noise in the data [1].
The tutorial is organized in three parts, each 1 hour: (i) forward analysis, using basic functionality of the SBML ODE Solver library (SOSlib) for fast and reliable high-throughput simulation, (ii) inverse analysis, using SOSlib within applications for local and global strategies to identify unknown parameters and (iii) high-level inverse dynamical analysis to identify and modify qualitative dynamics of a given model, e.g. multi-stable or oscillatory potentials, employing add-ons to the Mathematica package MathSBML and Matlab routines. Relevant example models of both gene regulatory and metabolic networks will be used throughout all parts of the tutorial.
Forward Analysis
The SBML ODE Solver library (SOSlib) [2] is generic programming library for the numerical analysis of SBML-based biochemical model. SOSlib provides a high-level API that interfaces to libSBML and SUNDIALS' integration library, which allows to develop applications involving parsing, numerical integration and sensitivity analysis for SBML models, typically within a couple of lines of code. It is written in ISO C/C++ and provides SWIG-based bindings for interpreted programming languages such as Java and Perl.
The tutorial provides a detailed introduction to SOSlib from a programmer's perspective as well as the presentation of typical example applications of SOSlib from the viewpoint of a potential user. We will introduce basic structures and interfaces of SOSlib on code examples covering multi-scale modeling with communicating integrator instances, efficient parameter and initial condition scans and sensitivity analysis. Code fragments will be given for the Perl, Java and C APIs of SOSlib.
Inverse Analysis
The second part, Inverse Analysis, will exemplify how SOSlib functionality can be employed for a combination of local and global search techniques to identify unknown kinetic parameters in an SBML model from noisy experimental data [3]. Inverse problems typically are unstable, hence noise in the measurement data can be amplified in the parameter identification process. To stabilize the solutions, various so-called regularization techniques are applied.
Simulated and experimentally measured data can be efficiently compared via adjoint sensitivity analysis. How sensitive is the measurement/simulation-mismatch on a certain parameter? So-called adjoint equations allow the calculation of all sensitivities at once. The identification problem is then formulated as an optimization problem and is solved using forward and adjoint solvers of SOSlib within the (local) interior point optimization solver IpOpt [4]. However, local optimization methods often get stuck in one of several local minima and global optimization methods are required to overcome this limitation. In contrast to other evolutionary methods like genetic algorithms, scatter search is founded on the premise that systematic designs and methods for creating new solutions show significant benefits beyond pure randomization [5]. It uses strategies for search diversification and intensification that have proved effective in a variety of optimization problems.
We combine local and global methods for parameter identification as described above in a process that requires user interaction. We will guide tutorial attendees through a couple of biological examples.
Inverse Dynamical Analysis
The third part of the tutoral covers computational methods for exploring the possible dynamical behaviors and reverse-engineering of dynamical properties of biological models. Such higher-level inverse dynamic analysis of biochemical reaction networks [6, 7, 8] complement methods from SOSlib and have been developed within the frameworks of the Mathematica package MathSBML [9] and Matlab SBML add-ons.
To probe the possibility of a biological model to undergo Saddle-Node or Hopf bifurcations, we test the possibility of placing the minimal eigenvalues of the system onto the origin, or the imaginary axis respectively. For solving such inverse eigenvalue problems, we use a hybrid algorithm consisting of lift-and-project and quasi-Newton steps. We demonstrate some biological applications using the Inverse Eigenvalue Analyzer, an add-on to MathSBML. To infer what are the core regulation mechanisms underlying the bifurcation points, we carry out inverse bifurcation analysis. Here regularization is used to promote the sparsity of the solution, i.e. to identify minimal sets of parameters that need to be modified. A hierarchical algorithm allows to identify several alternative minimal parameter sets to achieve the sought-for dynamics. We demonstrate the algorithm using a Matlab package.
Circadian Rhythm Model (courtesy of Oksana Sorokina, Edinburgh)
Oscillatory solution identified using IEA
Materials
- see SOSlib tutorials and Inverse methods for more background information
- download the models used here
- download v1.7.0-pre1 release for this tutorial
- Matlab and Mathematica packages
- SBML model reader/simulation package: MathSBML.m [1], matrix inverse singular value analysis package: MatrixIVSA.m, SBML model inverse eigenvalue analyzer package: SBMLInvEigAnalyzer.m (these packages are compatible with Mathematica version 6.0)
References
- Engl HW, Hanke M, Neubauer A, Regularization of Inverse Problems, Kluwer Academic Publishlers 1996, ISBN:0-7923-4157-0
- Machné R, Finney A, Müller S, Lu J, Widder S, and Flamm C. The SBML ODE Solver Library: a native API for symbolic and fast numerical analysis of reaction networks. Bioinformatics 2006 Jun 1; 22(11) 1406-7. doi:10.1093/bioinformatics/btl086 pmid:16527832.
- Mueller S et al. A hybrid algorithm for parameter estimation (2007)
- A. Wächter and L. T. Biegler, On the Implementation of a Primal-Dual Interior Point Filter Line Search Algorithm for Large-Scale Nonlinear Programming, Mathematical Programming 106(1), pp. 25-57, 2006
- Rodriguez-Fernandez M, Egea JA, and Banga JR. Novel metaheuristic for parameter estimation in nonlinear dynamic biological systems. BMC Bioinformatics 2006 Nov 2; 7 483. doi:10.1186/1471-2105-7-483 pmid:17081289.
- Lu J, Engl HW, and Schuster P. Inverse bifurcation analysis: application to simple gene systems. Algorithms Mol Biol 2006 Jul 21; 1 11. doi:10.1186/1748-7188-1-11 pmid:16859561.
- Lu J, Engl H, Machne R, Schuster P. Inverse bifurcation analysis of a model for the mammalian G1 / S regulatory module. BIRD 2007 - Lecture Notes in Bioinformatics (Eds. Hochreiter S, Wagner R), p. 168-184 ISBN:978-3-540-71232-9
- Lu J, Inverse eigenvalue analysis using sparsity-promoting regularization: a methodology for probing possible dynamical behavior of gene networks, submitted to BMC Syst Biol
- Shapiro BE, Hucka M, Finney A, and Doyle J. MathSBML: a package for manipulating SBML-based biological models. Bioinformatics 2004 Nov 1; 20(16) 2829-31. doi:10.1093/bioinformatics/bth271 pmid:15087311.
