An impactful algorithm that we have been working on recently is mechanism matching. The algorithm will automatically match drawn mechanisms for you, regardless of symmetry/kekule/etc. Arrows must be pointing in the right direction and define the correct number of electrons.
The ability to match molecules is an important part of any chemical software system. ChemDoodle uses advanced graph isomorphism algorithms to quickly and completely compare two structures (or groups of structures). Isomorphism algorithms provide accurate comparison information regardless of how the user drew the correct structure (as opposed to SMILES comparison, for instance). In addition, ChemDoodle also allows for superstructure and substructure matching, query matching and similarity between structures. This allows us to create advanced chemical systems, please see our ChemStack demo for a nice example.
Beyond structural comparisons, ChemDoodle provides the ability to compare movement of electrons within and between structures, in essence we can compare mechanism drawings. This demo shows off this feature. Draw any of the mechanisms shown to the right and when drawn correctly, they will be marked as a MATCH!. If only part of the mechanism is drawn, it will be marked as a PARTIAL MATCH!. Note that the Br2 mechanism uses single electron pushers and the last two mechanisms are identical, but use different representations of the benzene ring to show they should match each other. You can add your own mechanisms for matching by drawing them in the sketcher and clicking either of the two blank components below the sketcher.
Imagine using these algorithms in your own educational eBook or in an advanced reaction database! Enjoy! Contact iChemLabs today for details.