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 protectedCanonizerMesoHelper(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 booleanisInMesoFragment(int atom)protected booleanisMeso()protected voidnormalizeESRGroups()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 booleannormalizeESRGroupSwappingAndRemoval(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)
-
-