# reaction: Define a reaction In GillespieSSA2: Gillespie's Stochastic Simulation Algorithm for Impatient People

## Description

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.

## Usage

 `1` ```reaction(propensity, effect, name = NA_character_) ```

## Arguments

 `propensity` `[character/formula]` A character or formula representation of the propensity function, written in C++. `effect` `[named integer vector]` The change in state caused by this reaction. `name` `[character]` A name for this reaction (Optional). May only contain characters matching `[A-Za-z0-9_]`.

## Details

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.

## Value

`[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.

## Examples

 ```1 2 3 4``` ```# 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 May 18, 2021, 5:06 p.m.