Represent a list of actions that, when executed, result in the conversion of a set of reactants to a set of products. There are currently five such actions:
|CHANGE_BOND||center1, order, center2||change the bond order of the bond between center1 and center2 by order; do not break or form bonds|
|FORM_BOND||center1, order, center2||form a new bond between center1 and center2 of type order|
|BREAK_BOND||center1, order, center2||break the bond between center1 and center2, which should be of type order|
|GAIN_RADICAL||center, radical||increase the number of free electrons on center by radical|
|LOSE_RADICAL||center, radical||decrease the number of free electrons on center by radical|
|GAIN_PAIR||center, pair||increase the number of lone electron pairs on center by pair|
|LOSE_PAIR||center, pair||decrease the number of lone electron pairs on center by pair|
The actions are stored as a list in the actions attribute. Each action is a list of items; the first is the action name, while the rest are the action parameters as indicated above.
Add an action to the reaction recipe, where action is a list containing the action name and the required parameters, as indicated in the table above.
Apply the forward reaction recipe to molecule, a single
Apply the reverse reaction recipe to molecule, a single
Generate a reaction recipe that, when applied, does the opposite of what the current recipe does, i.e., it is the recipe for the reverse of the reaction that this is the recipe for.