Class TautomerHelper


  • public class TautomerHelper
    extends java.lang.Object
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      StereoMolecule createGenericTautomer​(boolean keepStereoCenters)
      If no tautomers can be formed then the original molecule is returned.
      int getAtomRegionNumbers​(int[] atomRegionNo, boolean keepStereoCenters)
      Identifies connected tautomeric regions and assign region numbers to all atoms.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

    • Method Detail

      • getAtomRegionNumbers

        public int getAtomRegionNumbers​(int[] atomRegionNo,
                                        boolean keepStereoCenters)
        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
        keepStereoCenters -
        Returns:
        region count
      • createGenericTautomer

        public StereoMolecule createGenericTautomer​(boolean keepStereoCenters)
        If no tautomers can be formed then the original molecule is returned. Otherwise the original molecule is copied and normalized to create a generic tautomer structure without touching the original molecule. 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.
        Parameters:
        keepStereoCenters - if true, then defined (non-racemising) stereo centers cannot be part of tautomeric regions
        Returns:
        generic tautomer with normalized tautomer regions and custom label to encode pi,D,T counts