Package chemaxon.calculations.stereo
Class Stereochemistry
- java.lang.Object
-
- chemaxon.calculations.stereo.Stereochemistry
-
@PublicAPI public class Stereochemistry extends Object
Central class for accessing functions analyzing the topology of a molecule.- Since:
- Marvin 5.6
-
-
Constructor Summary
Constructors Constructor Description Stereochemistry()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description int
asymmetricAtomCount()
Calculates the number of atoms having four different ligands.int[]
asymmetricAtoms()
Retrieves the indexes of atom having four different ligands.int
chiralCenterCount()
Calculates the number of chiral centers.int[]
chiralCenters()
Determines the chiral center atoms.static <T extends MoleculeGraph>
TgetEnantiomer(T m)
Get the enantiomer pair of the given moleculeMoleculeGraph
getMolecule()
Retrieves the input moleculestatic int[]
getPossibleAtomCenteredStereoAtoms(MoleculeGraph m)
Returns the indexes of atom-centered stereoactive atoms.static int[]
getPossibleAtomCenteredStereoAtomsWithNoParity(MoleculeGraph m)
Returns the indexes of atoms that have the possibility to have tetrahedral stereo and have no exact parity set on them.int[]
graphInvariant()
boolean
isAsymmetricAtom(int a)
Determines if an atom is asymmetric or not.boolean
isChiral()
Determines if the molecule contains an atom with R or S stereo configuration.boolean
isChiralCenter(int a)
Determines if an atom can be a tetrahedral stereogenic center.void
setMolecule(MoleculeGraph mol)
Specifies a molecule to calculate with.String
stereo(int a)
Calculates absolute stereo configuration of the given atom.String
stereo(int a1, int a2)
Calculates absolute stereo configuration of the given double bond.int
stereoDoubleBondCount()
Calculates the number of stereo double bonds.
-
-
-
Field Detail
-
ODD
public static final int ODD
- See Also:
- Constant Field Values
-
EVEN
public static final int EVEN
- See Also:
- Constant Field Values
-
-
Method Detail
-
getMolecule
public MoleculeGraph getMolecule()
Retrieves the input molecule- Returns:
- the molecule to calculate with
-
setMolecule
public void setMolecule(MoleculeGraph mol)
Specifies a molecule to calculate with.- Parameters:
mol
- the molecule to calculate with
-
asymmetricAtomCount
public int asymmetricAtomCount()
Calculates the number of atoms having four different ligands.- Returns:
- number of asymmetric atoms
-
asymmetricAtoms
public int[] asymmetricAtoms()
Retrieves the indexes of atom having four different ligands.- Returns:
- indexes of asymmetric atoms
- Since:
- Marvin 5.3
-
chiralCenterCount
public int chiralCenterCount()
Calculates the number of chiral centers.- Returns:
- number of chiral center atoms
-
chiralCenters
public int[] chiralCenters()
Determines the chiral center atoms.- Returns:
- indexes of chiral center atoms
- Since:
- Marvin 5.3
-
graphInvariant
public int[] graphInvariant()
-
isAsymmetricAtom
public boolean isAsymmetricAtom(int a)
Determines if an atom is asymmetric or not. Asymmetric atoms have four different ligands.- Parameters:
a
- index of the atom- Returns:
- true if the atom is asymmetric.
-
isChiral
public boolean isChiral()
Determines if the molecule contains an atom with R or S stereo configuration.- Returns:
- true if the molecule is chiral.
-
isChiralCenter
public boolean isChiralCenter(int a)
Determines if an atom can be a tetrahedral stereogenic center.- Parameters:
a
- index of the atom- Returns:
- true if the atom is stereogenic.
-
stereo
public String stereo(int a)
Calculates absolute stereo configuration of the given atom. Returns "R" or "S" correspondingly, if the atom is stereo, otherwise it returns an empty string,- Parameters:
a
- index of the atom- Returns:
- the absolute stereo configuration of the atom
-
stereo
public String stereo(int a1, int a2)
Calculates absolute stereo configuration of the given double bond. Returns "E" or "Z" correspondingly, if the bond is a stereo double bond, otherwise it returns an empty string. Double bonds in small rings are not considered stereo bonds.- Parameters:
a1
- index of the atom at one end of the double bonda2
- index of the atom at the other end of the double bond- Returns:
- the absolute stereo configuration of the atom
-
stereoDoubleBondCount
public int stereoDoubleBondCount()
Calculates the number of stereo double bonds.- Returns:
- number of stereo double bonds atoms
-
getEnantiomer
public static <T extends MoleculeGraph> T getEnantiomer(T m)
Get the enantiomer pair of the given molecule- Parameters:
m
- molecule- Returns:
- the enantiomer pair of the original structure
-
getPossibleAtomCenteredStereoAtoms
public static int[] getPossibleAtomCenteredStereoAtoms(MoleculeGraph m)
Returns the indexes of atom-centered stereoactive atoms. These stereo types are: tetrahedral stereo, axal stereo and cis-trans stereo in cases like CC1CCC(C)CC1.- Parameters:
m
- the molecule- Returns:
- the array of indexes or an empty array if no such atom found.
- Since:
- Marvin 5.12
-
getPossibleAtomCenteredStereoAtomsWithNoParity
public static int[] getPossibleAtomCenteredStereoAtomsWithNoParity(MoleculeGraph m)
Returns the indexes of atoms that have the possibility to have tetrahedral stereo and have no exact parity set on them.- Parameters:
m
- the molecule- Returns:
- the array of indexes or an empty array if no such atom found.
- Since:
- Marvin 5.12
-
-