Skip to contents

a reaction kinetic can be almost any function, and in general it is not possible to tell apart which part of a kinetic law is which.

Usage

parse.kinetic(reactionKinetic)

Arguments

reactionKinetic

a string with the kinetic law for a reaction

Value

a character vector of components named 'forward' and 'backward'

Details

But for mass action kinetics, and positive reaction rate coefficients, the expressions mostly look like this:

kf*prod(reactants.concentration) - kb*prod(product.concentrations)

this functions splits at -, and if none is present, then the reaction is assumed to be irreversible.

In a more general setting (where the - split is wrong), the splitting has to be done by hand or more complex rules.

Examples

 uqsa:::parse.kinetic("kf*A*B-kb*C")
#>  forward backward 
#> "kf*A*B"   "kb*C" 
 uqsa:::parse.kinetic("kf*A*B")
#>  forward backward 
#> "kf*A*B"      "0" 
 uqsa:::parse.kinetic("kf*A/(Km+A)")
#>       forward      backward 
#> "kf*A/(Km+A)"           "0"