public class ChemicalRule
extends java.lang.Object
A ChemicalRule is basically a chemical reaction (transformation) defined by a reaction substructure
and a product substructure with full stoichiometry and completely mapped atoms.
ChemicalRules are used the following way:
- a substructure search locates all matches of the rule's reactant structure in the to-be-mapped reactant
- for every match the transformation of the ChemicalRule is applied to the to-be-mapped reactant
- the modified reactant is similarity-graph-mapped with the original product and scored
- the score of the unmodified reaction is compared to all modified reaction scores considering the ChemicalRule's score delta
- the best scoring mapping is taken as final mapping
In order to facilitate an efficient application of the rule to any query reactant, the ChemicalRule object
maintains an array of ChemicalRuleBond objects, which describe those bonds that need to be changed,
created, or broken in the query reactant. A