Class ChemicalRule


  • 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
    • Constructor Detail

      • ChemicalRule

        public ChemicalRule​(java.lang.String name,
                            java.lang.String idcode,
                            float panalty)
    • Method Detail

      • initialize

        public void initialize()
      • apply

        public void apply​(StereoMolecule reactant,
                          int[] match)
      • getName

        public java.lang.String getName()
      • getPanalty

        public float getPanalty()
      • getReactantAtomSymmetryConstraints

        public int[] getReactantAtomSymmetryConstraints()