reaction: Define a reaction

View source: R/reaction.R

reactionR Documentation

Define a reaction


During an SSA simulation, at any infinitesimal time interval, a reaction will occur with a probability defined according to its propensity. If it does, then it will change the state vector according to its effects.


reaction(propensity, effect, name = NA_character_)



[character/formula] A character or formula representation of the propensity function, written in C++.


[named integer vector] The change in state caused by this reaction.


[character] A name for this reaction (Optional). May only contain characters matching [A-Za-z0-9_].


It is possible to use 'buffer' values in order to speed up the computation of the propensity functions. For instance, instead of "(c3 * s1) / (1 + c3 * c1)", it is possible to write "buf = c3 * s1; buf / (buf + 1)" instead.


[SSA_reaction] This object describes a single reaction as part of an SSA simulation. It contains the following member values:

  • r[["propensity"]]: The propensity function as a character.

  • r[["effect"]]: The change in state caused by this reaction.

  • r[["name"]]: The name of the reaction, NA_character_ if no name was provided.


#        propensity                        effect
reaction(~ c1 * s1,                          c(s1 = -1))
reaction("c2 * s1 * s1",                     c(s1 = -2, s2 = +1))
reaction("buf = c3 * s1; buf / (buf + 1)",   c(s1 = +2))

GillespieSSA2 documentation built on Jan. 24, 2023, 1:10 a.m.