BSTLab: A Matlab Toolbox for Biochemical Systems Theory
John Schwacke1, Eberhard O. Voit2
1schwacke@musc.edu, Medical University of South Carolina; 2voiteo@musc.edu, Medical University of South Carolina
BSTLab: A Matlab Toolbox for Biochemical Systems Theory
John Schwacke and Eberhard O. Voit
Department of Biometry and Epidemiology
Medical University of South Carolina, Charleston, SC 29425, U.S.A.
Schwacke@MUSC.edu, VoitEO@MUSC.edu
Background. The rapid growth of genomic and proteomic data is allowing for more extensive study of complex biochemical pathways and other biological systems. The complexity of these systems requires the development of mathematical and computer models that yield a deeper understanding of the systems’ dynamic behaviors. Biochemical Systems Theory (BST), initially developed by Michael Savageau, provides a framework for the algebraic and numerical analysis of biochemical pathways using nonlinear differential equations based on power laws, in which the exponents are real-valued kinetic orders and the multipliers are non-negative rate constants. An important variant within BST, called an S-system, consists of just one influx and one efflux term per metabolic pool or node, which permits fully algebraic assessments of the system’s steady-state features. BST methods have been successfully applied to a wide range of phenomena in diverse branches of biology. To facilitate wider application of these methods, we have begun development of a software toolbox compatible with Matlab, a popular scientific and engineering computing package. The toolbox, BSTLab, implements functions common to many BST-based studies and is designed to integrate easily into the widely used Matlab environment, automate many common tasks, and allow expansion and customization by the user. The toolbox also includes functions needed to reformulate and transport models between Matlab and SBML, the emerging Systems Biology Markup Language.
Design and Implementation. The toolbox is divided into three major components: numeric analysis of S-systems; symbolic analysis of S-systems; and an SBML<->Matlab conversion utility for S-systems. The numeric and the symbolic components of the toolbox employ a common representation for S-system models, using two Matlab matrices of kinetic orders for the influx and efflux terms and two vectors for the rate constants. These matrices and vectors hold either symbols or numeric values of all non-zero parameters. Functions within the numeric component of the toolbox compute the steady state of the system, along with eigenvalues, sensitivities of dependent variables and fluxes with respect to rate constants and kinetic orders, and logarithmic gains of dependent variables and fluxes with respect to independent variables. Helper functions facilitate the creation of a model and provide formatted output for the computed steady state measures. The toolbox also provides a basic function returning the rate of change of a dependent variable at a given state in a form compatible with the available Matlab solvers for ordinary differential equations. The symbolic component implements parallel functions and returns symbolic solutions for the steady state, sensitivities, and logarithmic gains. These symbolic solutions have proven useful in the conduct of controlled mathematical comparisons of alternative system structures. As an additional feature, functions were implemented for importing models compliant with the SBML Level 1 schema and converting them to alternative BST forms (GMA and S-system) that are analyzable in BSTLab. The conversion exploits the Matlab-Java interface, the Java Architecture for XML Binding (JAXB), and the Java Architecture for XML Processing (JAXP). The SBML models are approximated in power-law form to construct a GMA system, which can secondarily be formulated as S-system. Both GMA and S-system forms of the converted model can be retrieved and analyzed in BSTLab.