User-defined arrows Reference Home

Two types of reactions can be defined "on the fly:" regulatory and stoichiometric. They have the following differences:

  1. Rate laws from stoichiometric reactions combine additively; rate laws from regulatory reactions combined vectorally.
  2. Rate laws for stoichiometric reactions affect all species in the reaction; rate laws for regulatory reactions only affect the species on the right side of the arrow.

User Defined Regulatory Reactions

In a regulatory reaction, the concentrations of the reactants (the species on the left side of the arrow) do not change, only those of the products (the species on the right hand side of the arrow).

The canonical form for a user-defined regulatory reaction is


mytype is any uninstantiated identifier chosen by the user, giving the name of the arrow, in analogy with pre-defined names such as GRN, Hill, NHCA, etc.
r, T, n, h are scalar identifiers or numbers.
f is any function of one variable that defines the rate law (as described below).
Note that mytype and f are redundant but both are required. Any specified mytype may only be used with a single f and vice-versa (see below).

and which is interpreted as


The first example shows how a predefined function can be used; in this case, the function is the sqrt function, but it can be replaced with any defined function (including functions previously defined by the user):

The next example illustrates the use of pure functions to define a regulatory function f(x)=1+Tanh(x) (the hyperbolic tangent):

User Defined Stoichiometric Reactions

In a stoichiometric reaction, the concentrations of all reactants as well as all products change, according to their stoichiometry. The general form is illustrated by the following example:

where somef[...] is some expression that depends on the species in the model. Reaction kinetics for each species are given by the product of that species stoichiometry and the rate law given in the arrow. For example: