Package com.actelion.research.chem
Class CanonizerMesoHelper
- java.lang.Object
-
- com.actelion.research.chem.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)
-
-
-
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)
-
-