Class StereoIsomerEnumerator


  • public class StereoIsomerEnumerator
    extends java.lang.Object
    • Constructor Summary

      Constructors 
      Constructor Description
      StereoIsomerEnumerator​(StereoMolecule mol, boolean skipEnantiomers)
      If the passed molecule has stereo-chemically undefined configurations (double bonds, stereo centers) or/and one or more AND/OR groups of defined relative stereo configurations, then it represents multiple stereo isomers.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      StereoMolecule getStereoIsomer​(int index)
      Creates and returns the molecule in a specific atom and bond parity permutation state, i.e.
      int getStereoIsomerCount()
      This calculates the stereo isomer count that may be requested by the getStereoIsomer() method.
      boolean isCorrectStereoIsomer​(StereoMolecule mol, int index)
      Checks, whether the given molecule's atom and bond parities are the expected one's for the given stereo isomer index.
      boolean isSkippingEnantiomers()
      Checks and returns, whether skipEnantiomers was chosen in the constructor and whether the complete set of isomers would contain enantiomeric sets, because of the absence of absolute stereo centers and the presence of unknown or relative tetrahedral or atrop stereo configurations.
      • Methods inherited from class java.lang.Object

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

      • StereoIsomerEnumerator

        public StereoIsomerEnumerator​(StereoMolecule mol,
                                      boolean skipEnantiomers)
        If the passed molecule has stereo-chemically undefined configurations (double bonds, stereo centers) or/and one or more AND/OR groups of defined relative stereo configurations, then it represents multiple stereo isomers. The StereoIsomerEnumerator generates all individual stereo isomers of the passed molecule. If the passed molecule does not include absolute stereo centers (or atrop isomeric configuration), but unknown stereo centers or groups with defined relative configuration, then we have pairs of enantiomers. In this case the StereoIsomerEnumerator may either generate one or both stereo isomers of each enantiomeric pair.
        Parameters:
        mol - WARNING
        skipEnantiomers -
    • Method Detail

      • isSkippingEnantiomers

        public boolean isSkippingEnantiomers()
        Checks and returns, whether skipEnantiomers was chosen in the constructor and whether the complete set of isomers would contain enantiomeric sets, because of the absence of absolute stereo centers and the presence of unknown or relative tetrahedral or atrop stereo configurations.
        Returns:
        whether we are skipping enantiomers
      • getStereoIsomerCount

        public int getStereoIsomerCount()
        This calculates the stereo isomer count that may be requested by the getStereoIsomer() method. If isSkippingEnantiomers() returns true, then the enumerated stereo isomers don't contain enatiomers, i.e. in order to complete the set of stereo isomers, one needs to duplicate and invert externally in this case.
        Returns:
        stereo isomer count that may be requested by the getStereoIsomer() method.
      • getStereoIsomer

        public StereoMolecule getStereoIsomer​(int index)
        Creates and returns the molecule in a specific atom and bond parity permutation state, i.e. a specific stereo isomer. If stereo bonds are permuted (as opposed to tetrahedral centers), then new atom coordinates are generated to reflect the specific bond configuration. Otherwise, only atom parities are set and up/down stereo bonds are set to reflect the expected correct atom stereo configuration.
        This method does not sort out stereo isomers that are impossible because of geometric strain.
        Parameters:
        index - parity permutation
        Returns:
      • isCorrectStereoIsomer

        public boolean isCorrectStereoIsomer​(StereoMolecule mol,
                                             int index)
        Checks, whether the given molecule's atom and bond parities are the expected one's for the given stereo isomer index. This may be useful when creating conformers from the stereo isomer returned by getStereoIsomer() to check, whether conformers still have the correct stereo configurations. If the correct stereo configuration is an impossible one due to ring strains, then conformer generators or force field may change the configuration in order to create a conformer at all.
        Parameters:
        mol -
        index -
        Returns:
        true, if the given molecule's atom and bond parities are correct the given index