Class CanonizerMesoHelper


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

      Constructors 
      Modifier Constructor Description
      protected CanonizerMesoHelper​(ExtendedMolecule mol, int[] canRankWithoutStereo, boolean[] isStereoCenter, byte[] thParity, byte[] ezParity, byte[] thESRType, byte[] thESRGroup, byte[] ezESRType, byte[] ezESRGroup, boolean[] thParityRoundIsOdd, boolean[] ezParityRoundIsOdd, boolean[] esrTypeNeedsNormalization)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected static int[] addToIntArray​(int[] intArray, int intValue)  
      protected boolean isInMesoFragment​(int atom)  
      protected boolean isMeso()  
      protected void normalizeESRGroups()
      If a meso fragment contains stereo atoms belonging to ESR groups then there may be an alternative way of specifying the same meso fragment because of the symmetry of the fragment.
      protected boolean normalizeESRGroupSwappingAndRemoval​(int[] canRank)  
      • Methods inherited from class java.lang.Object

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

      • CanonizerMesoHelper

        protected CanonizerMesoHelper​(ExtendedMolecule mol,
                                      int[] canRankWithoutStereo,
                                      boolean[] isStereoCenter,
                                      byte[] thParity,
                                      byte[] ezParity,
                                      byte[] thESRType,
                                      byte[] thESRGroup,
                                      byte[] ezESRType,
                                      byte[] ezESRGroup,
                                      boolean[] thParityRoundIsOdd,
                                      boolean[] ezParityRoundIsOdd,
                                      boolean[] esrTypeNeedsNormalization)
    • Method Detail

      • isMeso

        protected boolean isMeso()
      • isInMesoFragment

        protected boolean isInMesoFragment​(int atom)
      • normalizeESRGroups

        protected void normalizeESRGroups()
        If a meso fragment contains stereo atoms belonging to ESR groups then there may be an alternative way of specifying the same meso fragment because of the symmetry of the fragment. The procedure to normalize a meso fragment's ESR definition depends on whether it contains ESR groups that have members outside of the fragment or not. If we have group dependency cycles, i.e. some meso fragments contain at least two groups each, as f1:g1,g2 f2:g2,g3 f3:g3,g1, then we need to convert one group of the cycle into ABS atoms. To be precise we can determine here which situation to normalize, however the actual normalization should be postponed until we have canonization ranks that don't depend on the original grouping.
      • normalizeESRGroupSwappingAndRemoval

        protected boolean normalizeESRGroupSwappingAndRemoval​(int[] canRank)
      • addToIntArray

        protected static int[] addToIntArray​(int[] intArray,
                                             int intValue)