The mathematics framework is a major component of the Virtual Vell 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 of 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.
Current PDE Solver
Interpreted ODE
Solver
The ODE solver is
a well tested Java package that computes the solution of a system of
ODEs. This solver can be executed within the client software 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
| Mathematical representations for mapping the physiology to the math | |
| Time Scale | |
|
Constant (rate is 0), Resolved dynamics |
|
Psuedo-steady (rate is infinite) |
| Spatial Scale | |
|
Fixed (diffusion is 0), Non-zero diffusion constant |
|
Homogenous (diffusion is infinite) |
| Population statistics | |
|
Continuous (differential equations) |
|
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 |

| Technology | Modeling Process | ||
| Software Architecture | Modeling Framework | ||
| Math Framework | User Interface | ||
| Testing Framework | VCML Specification |