|
Purpose
The mathematics framework is a major component of the virtual cell distributed software system. The goal of the math framework is to provide a general purpose solver for the mathematical problems in the application domain of computational cellular physiology. These problems include the steady, unsteady solutions of non-linear PDE/ODE/Algebraic systems, including sensitivity analysis and parameter optimization.
This framework exposes a very high level system interface that allows a mathematical problem to be posed in a concise and implementation independent way, and for the solution to be made available in an appropriate format. This framework represents an application specific implementation of a Problem Solving Environment (PSE). More discussion on problem solving environments can be found at the site for ELLPACK, an example of a very comprehensive PSE devoted to the solution of a large class of PDEs.
System Level Interface
Math Language
A declarative mathematics language has been developed to concisely describe the class of mathematical systems that has been encountered in the Virtual Cell project. This language defines parameters, independent variables, differential/algebraic systems defined over complex geometry including discontinuous solutions a membrane boundaries, and the description of the task to perform on such a system. A formal definition of the language is provided in a BNF grammar.
Testability
A substantial advantage of separating the mathematics framework from the biological modeling software is the improved ability to verify the correctness of the frameworks mathematical capabilities from a high level system interface.
Framework Design
PDE Solver Library
The PDE Solver Library is a rigorously validated and highly extensible C++ class library that computes numerical solutions to the ordinary and partial differential equations and algebraic equations associated with physiological modeling. The modular design of this library allows the coordination of an almost arbitrary collection of variables, equations, solvers, parallel processing schemes, and meshing techniques.
The Mathematics Framework automatically generates the appropriate C++ code to define a particular model, and links this with the library for a fully compiled simulation code.
Interpreted ODE Solver
The ODE solver is a well tested Java package that computes the solution of a system of ODE's. This solver can be executed within the client software (web browser) or on the server.
Local Sensitivity Analysis
The Local Sensitivity Analysis is computed at the nominal trajectory of the ODE system and uses exact Jacobian's and Rate Sensitivities (symbolic). It computes a direct solution of all sensitivities of a single parameter and displays normalized (log) sensitivities as function of time. The state trajectory is extrapolated for small parameter changes.
Testing
The mathematics framework is charged with the responsibility of generating efficient and accurate solutions to the problems posed. There has always been a considerable amount of care taken to ensure the correctness of the solution techniques. For a sample of validation testing performed on the C++ numerics library, see the Test Procedure.
Mathematical Simplifications
Conserved moieties from the stoichiometry are identified and a reduced order system is automatically determined. This results in a minimum number of differential equations.
- Pseudo-Steady Approximations
Very fast reactions are considered to always be in equilibrium and they are incorporated as a nonlinear system of algebraic equations and linear constraints. This results in faster computation time, when the ratio of time scales is greater than 100.
Very fast diffusion (or conduction) is considered in order to eliminate gradients and it is incorporated as a single variable per region (ode with spatial integral in RHS). This takes place of an Laplacian Equation (elliptic PDE) for non-neuronal cells.
Mathematical representations for mapping the physiology to the math
| Time Scale |
|
|
|
Constant (rate is 0), Resolved dynamics |
|
|
Psdudo-steady (rate is infinite) |
| Spatial Scale |
|
|
|
Fixed (diffusion is 0), Non-zero diffusion constant |
|
|
Homogenous (diffusion is infinite) |
| Population statistics |
|
- N large or average dynamics OK
|
Continuous (differential equations) |
- N small or rare events important
|
Discrete (Stochastic) |
Computing Electrophysiology
|
Method
|
Membrane Voltage
|
Reactions, fluxes and membrane currents
|
Volume conductance
|
|
Compartmental "circuit"
|
uniform
|
well-stirred
|
infinite conductance
|
|
Region "distributed circuit"
|
uniform
|
spatial
|
infinite conductance
|
|
Laplace "spatial Ohm's law"
|
spatial
|
spatial
|
finite conductance
|
|
Poisson/Nernst-Plank "electrostatics"
|
spatial
|
spatial
|
dielectric
|
|