Main Page | Modules | Data Structures | Directories | File List | Data Fields | Globals

ODE Construction: SBML reactions -> SBML rate rules
[Symbolic Analysis]

Collaboration diagram for ODE Construction: SBML reactions -> SBML rate rules:

This module contains all functions to condense the reaction network of an input models to an output model only consisting of SBML rate rules, representing an ODE system f(x,p,t) = dx/dt. More...

Functions

SBML_ODESOLVER_API Model_t * Model_reduceToOdes (Model_t *m)
 C: Construct an ODE system from a Reaction Network.
SBML_ODESOLVER_API ASTNode_t * Species_odeFromReactions (Species_t *s, Model_t *m)
 Creates and ODE for a species from its reactions.
SBML_ODESOLVER_API double Model_getValueById (Model_t *m, const char *id)
 Returns the value of a compartment, species or parameter with the passed ID.
SBML_ODESOLVER_API int Model_setValue (Model_t *m, const char *id, const char *rid, double value)
 Sets the value of a compartment, species or parameter with the passed ID.

Detailed Description

This module contains all functions to condense the reaction network of an input models to an output model only consisting of SBML rate rules, representing an ODE system f(x,p,t) = dx/dt.

The ODE construction currently can't handle SBML algebraic rules. As soon as this is done correctly, the resulting SBML model can be used to initialize SUNDIALS IDA Solver for Differential Algebraic Equation (DAE) Systems, which are ODE systems with additional algebraic constraints.


Function Documentation

SBML_ODESOLVER_API Model_t* Model_reduceToOdes Model_t *  m  ) 
 

C: Construct an ODE system from a Reaction Network.

constructs an ODE systems of the reaction network of the passed model `m' and returns a new SBML model `ode', that only consists of RateRules, representing ODEs. See comments at steps C.1-C.5 for details

C.1: Initialize a new model

C.2: Copy predefined ODES (RateRules) and create rate rules from reactions

!!! supress ODE construction for algebraic rule defined variables !!!

C.3: Create ODEs from reactions

C.4: Copy incompatible SBML structures The next steps will copy remaining definitions that can't be simplified, i.e. expressed in a system of ODEs, to the new model. They will also store warning and error messages, if these definitions cannot be interpreted correctly by the current state of the SBML_odeSolver. Additionally all assignment rules are copied, only for printing out results.

C.4a: Copy events to new model and create warning

C.4.b: Copy AlgebraicRules to new model and create error

C.4.c: Copy Assignment Rules to new model

C.5: replace function definitions in all formulas

SBML_ODESOLVER_API ASTNode_t* Species_odeFromReactions Species_t *  s,
Model_t *  m
 

Creates and ODE for a species from its reactions.

This function takes a species and a model, constructs and ODE for that species from all the reaction it appears in as either reactant or product. Local kinetic Law parameters are replaced by their value. It directly constructs an Abstract Syntax Tree (AST) and returns a pointer to it.

In one of the next releases this function will take additional arguments:

a listOfParameter, which will allow to `globalize' local parameters (e.g. for sensitivity analysis for local parameters)

and

a listOfRules, which will allow to convert kineticLaws to assignment rules. The ODEs will then only consist of stoichiometry and a parameter. As a kinetic Law appears in all ODEs of the reaction, this will significantly reduce the time for numerical evalution of the ODE system and thus improve the performance of integration routines.

SBML_ODESOLVER_API double Model_getValueById Model_t *  m,
const char *  id
 

Returns the value of a compartment, species or parameter with the passed ID.

SBML_ODESOLVER_API int Model_setValue Model_t *  m,
const char *  id,
const char *  rid,
double  value
 

Sets the value of a compartment, species or parameter with the passed ID.


Generated on Wed Dec 21 18:10:37 2005 for SBML ODE Solver Library API by  doxygen 1.4.4