chemaxon.calculations.stereo
Class Stereochemistry

java.lang.Object
  extended by chemaxon.calculations.stereo.Stereochemistry

public class Stereochemistry
extends java.lang.Object

Central class for accessing functions analyzing the topology of a molecule.

Since:
Marvin 5.6
Version:
Marvin 5.6, 29/08/2011
Author:
Gyorgy Pirok, Andras Volford

Field Summary
static int EVEN
           
static int ODD
           
 
Constructor Summary
Stereochemistry()
           
 
Method Summary
 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>
T
getEnantiomer(T m)
          Get the enantiomer pair of the given molecule
 MoleculeGraph getMolecule()
          Retrieves the input molecule
 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.
 java.lang.String stereo(int a)
          Calculates absolute stereo configuration of the given atom.
 java.lang.String stereo(int a1, int a2)
          Calculates absolute stereo configuration of the given double bond.
 int stereoDoubleBondCount()
          Calculates the number of stereo double bonds.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ODD

public static final int ODD
See Also:
Constant Field Values

EVEN

public static final int EVEN
See Also:
Constant Field Values
Constructor Detail

Stereochemistry

public Stereochemistry()
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 java.lang.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 java.lang.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 bond
a2 - 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