Class TautomerHelper


  • public class TautomerHelper
    extends java.lang.Object
    • Constructor Detail

      • TautomerHelper

        public TautomerHelper​(StereoMolecule mol)
        Parameters:
        mol -
    • Method Detail

      • setMaxTautomers

        public static void setMaxTautomers​(int maxTautomers)
      • setSuppressWarning

        public static void setSuppressWarning​(boolean suppressWarning)
      • getNextTautomer

        public StereoMolecule getNextTautomer​(StereoMolecule tautomer)
        Parameters:
        tautomer - null or another tautomer of same molecule, which receives the new bond orders
        Returns:
      • getTautomerCount

        public int getTautomerCount()
      • getAtomRegionNumbers

        public int getAtomRegionNumbers​(int[] atomRegionNo)
        Identifies connected tautomeric regions and assign region numbers to all atoms. Atoms sharing the same region share the same number.
        0: not member of a tautomer region; 1 and above: region number
        Parameters:
        atomRegionNo - int[mol.getAtoms()] filled with 0
        Returns:
        region count
      • createGenericTautomer

        public StereoMolecule createGenericTautomer()
        If no tautomers can be formed then a copy of the original molecule is returned. Otherwise a copy of the original molecule is normalized to create a generic tautomer structure. The original molecule is not touched. Different tautomers of the same molecule should always result in the same generic tautomer structure. A generic tautomer contains one or more regions indicated by bond query features cBondQFSingle & cBondQFDouble. Bond types of all bonds of any tautomer region are cBondTypeSingle. The highest ranking atom in every region carries a label defining the number of double bonds and D and T atoms. The returned molecule has the fragment bit set. Canonicalizing the returned molecule with Canonizer mode ENCODE_ATOM_CUSTOM_LABELS produces the same idcode from any tautomer. If keepStereoCenters is true, then stereo centers with parity 1 or 2, if they are absolute or if they are part of an AND/OR group with more than one member, are considered stable (non racemising) and, thus, their proton is not considered being able to take part in a tautomeric transition.
        Returns:
        generic tautomer with normalized tautomer regions and custom label to encode pi,D,T counts