Determination of stoichiometric matrix

In order determine the stoichiometric matrix, the differential equations for the components have to be expressed in terms of reaction rates. The stoichiometric constants need to be numeric and multiplied to the reaction terms.

stoichiometry_IQRmodel(model, raw = TRUE)

Arguments

model

IQRmodel

raw

Flag used to force the stoichiometry_IQRmodel function not to correct the elements of the stoichiometric matrix for the compartment information in cases where species are given in concentrations. This is needed for model construction (BC type of representation and for other things). This flag should be kept on "FALSE" for the casual user of this function.

Value

A list with the following components:

N

The stoichimoetric matrix

statenames

Vector with names of states in N

reacnames

Vector with reaction names in N

reacreversible

Vector with reversible flags for the reactions in reacnames

Details

Example: d/dt(A) = -1Re1+2Re3-Re5+3.141*Re8

Especially when importing models from SBML the right hand side of the ODEs might show a correction term that is needed for transport between two different compartments in the case that the species is defined in concentration units. In this case the ODE can look as follows:

d/dt(B) = (-1Re1+2Re3-Re5+3.141*Re8)/compartmentsize

This syntax is also accepted. In this case the stoichiometric elements in the parenthesis will be divided by 'compartmentsize'.

The 'compartmentsize' is only allowed to be a parameter! It can not be a numeric value, a state, a variable, or a function!

Except the above shown pair of parentheses, no additional parentheses are allowed to appear in the ODE definitions. Otherwise, and in case that not only reaction rates are present in the ODE expression, the corresponding component is not taken into account for the stoichiometric matrix.