Package org.openscience.cdk.stereo
Class Stereocenters
- java.lang.Object
-
- org.openscience.cdk.stereo.Stereocenters
-
public final class Stereocenters extends Object
Find atoms which can support stereo chemistry based on the connectivity. Stereocenters are classified as True when they have constitutionally different ligands and Para ("resemble") stereo centers with constitutionally identical ligands. Some examples of para-centers are listed below. Non and potential stereogenic atoms are also indicated. The method partially implements the rules described by [Razinger, Marko et. al.. J. Chem. Inf. Comput. Sci. 1993. 33]. Para centers are identified in isolated rings (more common) but are not currently found in fused systems (e.g. decalin), spiro linked 'assemblages' or acyclic interdependent centers. Accepted Stereo Atoms This atoms accepted as being potentially stereogenic are those defined in the InChI Technical Manual [Unknown BibTeXML type: InChITechManual]. These are: Tetrahedral Stereochemistry:- Carbon - 4 valent, 4 sigma bonds
- Silicon - 4 valent, 4 sigma bonds
- Germanium - 4 valent, 4 sigma bonds
- Tin - 4 valent, 4 sigma bonds
- Nitrogen cation - 4 valent,4 sigma bonds
- Phosphorus cation - 4 valent, 4 sigma bonds
- Arsenic cation - 4 valent, 4 sigma bonds
- Boron anion - 4 valent, 4 sigma bonds
- Nitrogen - 5 valent, 3 sigma and 1 pi bond
- Phosphorus - 5 valent, 3 sigma and 1 pi bond
- Sulphur - 4 valent, 2 sigma and 1 pi bond
- Sulphur - 6 valent, 2 sigma and 2 pi bonds
- Sulphur Cation - 3 valent, 3 sigma bonds
- Sulphur cation - 5 valent, 3 sigma and 1 pi bond
- Selenium - 4 valent, 2 sigma and 1 pi bond
- Selenium - 6 valent, 2 sigma and 2 pi bonds
- Selenium Cation - 3 valent, 3 sigma bonds
- Selenium cation - 5 valent, 3 sigma and 1 pi bond
- Nitrogen - 3 valent, 3 sigma bonds and in a 3 member ring
P(O)(=O)(OC)OCCC
. Phosphines and arsines are always stereogenic regardless of H neighbors Double Bond Stereochemistry: The following atoms can appear at either end of a double bond.- Carbon - 4 valent, 2 sigma and 1 pi bond
- Silicon - 4 valent, 2 sigma and 1 pi bond
- Germanium - 4 valent, 2 sigma and 1 pi bond
- Nitrogen - 3 valent, 1 sigma and 1 pi bond
- Nitrogen cation - 4 valent, 2 sigma and 1 pi bond
- inositol - has 9 stereo
isomers,
O[C@H]1[C@H](O)[C@@H](O)[C@H](O)[C@H](O)[C@@H]1O myo-inositol
- decalin - has 2 stereo isomers,
C1CC[C@H]2CCCC[C@H]2C1
(not currently identified) - spiro/double-bond
linked ring -
InChI=1/C14H24/c1-11-3-7-13(8-4-11)14-9-5-12(2)6-10-14/h11-12H,3-10H2,1-2H3/b14-13-/t11-,12-
(not currently identified) - An example of a para-center not in a
cycle
C[C@@H](O)[C@H](C)[C@H](C)O
(not currently identified)
C[C@@H](O)[C@H:1](C)[C@H](C)O
removes the central configuration as the ligands are now equivalentC[C@@H](O)[CH:1]](C)[C@@H](C)O
- Author:
- John May
- Source code:
- main
- Belongs to CDK module:
- standard
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Stereocenters.Stereocenter
Defines the type of a stereocenter.static class
Stereocenters.Type
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Stereocenters.Type
elementType(int v)
Obtain the type of stereo element support for atom at indexv
.boolean
isStereocenter(int v)
Is the atom be a stereocenter (i.e.static Stereocenters
of(IAtomContainer container)
Determine the stereocenter atoms in the provided container based on connectivity.Stereocenters.Stereocenter
stereocenterType(int v)
Determine the type of stereocenter is the atom at indexv
.
-
-
-
Method Detail
-
of
public static Stereocenters of(IAtomContainer container)
Determine the stereocenter atoms in the provided container based on connectivity.IAtomContainer container = ...; Stereocenters centers = Stereocenters.of(container); for (int i = 0; i < container.getAtomCount(); i++) { if (centers.isStereocenter(i)) { } }
- Parameters:
container
- input container- Returns:
- the stereocenters
-
elementType
public Stereocenters.Type elementType(int v)
Obtain the type of stereo element support for atom at indexv
. Supported elements types are:Stereocenters.Type.Bicoordinate
- an central atom involved in a cumulated system (not yet supported)Stereocenters.Type.Tricoordinate
- an atom at one end of a geometric (double-bond) stereo bond or cumulated system.Stereocenters.Type.Tetracoordinate
- a tetrahedral atom (could also be square planar in future)Stereocenters.Type.None
- the atom is not a (supported) stereo element type.
- Parameters:
v
- atom index (vertex)- Returns:
- the type of element
-
isStereocenter
public boolean isStereocenter(int v)
Is the atom be a stereocenter (i.e. True or Para).- Parameters:
v
- atom index (vertex)- Returns:
- the atom at index
v
is a stereocenter
-
stereocenterType
public Stereocenters.Stereocenter stereocenterType(int v)
Determine the type of stereocenter is the atom at indexv
.Stereocenters.Stereocenter.True
- the atom has constitutionally different neighborsStereocenters.Stereocenter.Para
- the atom resembles a stereo centre but has constitutionally equivalent neighbors (e.g. inositol, decalin). The stereocenter depends on the configuration of one or more stereocenters.Stereocenters.Stereocenter.Potential
- the atom can supported stereo chemistry but has not be shown to be a true or para center.Stereocenters.Stereocenter.Non
- the atom is not a stereocenter (e.g. methane).
- Parameters:
v
- atom index.- Returns:
- the type of stereocenter
-
-