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

 reaction R Documentation

## Define a reaction

### 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

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

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