A data structure for the storage and retrieval of stereochemical information about atoms and bonds.
More...
|
None | __init__ (int config) |
| Constructs a StereoDescriptor instance that specifies the configuration config but stores no reference atoms. More...
|
|
None | __init__ (StereoDescriptor descr) |
| Constructs a copy of the StereoDescriptor instance descr. More...
|
|
None | __init__ (int config, Atom atom1, Atom atom2, Atom atom3) |
| Constructs a StereoDescriptor instance that specifies a configuration of config for three reference atoms. More...
|
|
None | __init__ (int config, Atom atom1, Atom atom2, Atom atom3, Atom atom4) |
| Constructs a StereoDescriptor instance that specifies a configuration of config for four reference atoms. More...
|
|
int | getConfiguration () |
| Returns the configuration of the reference atoms. More...
|
|
None | setConfiguration (int config) |
| Sets the configuration of the reference atoms to config. More...
|
|
int | getNumReferenceAtoms () |
| Returns the number of specified reference atoms. More...
|
|
ReferenceAtomArray | getReferenceAtoms () |
| Returns an array of references to the stored reference atoms. More...
|
|
StereoDescriptor | assign (StereoDescriptor descr) |
| Assignment operator. More...
|
|
int | getPermutationParity (Atom atom1, Atom atom2, Atom atom3, Atom atom4) |
| Tells if an odd or even number of atom transpositions is required to achieve the same ordering of reference and argument atoms. More...
|
|
int | getObjectID () |
| Returns the numeric identifier (ID) of the wrapped C++ class instance. More...
|
|
bool | isValid (Atom atom) |
| Tells wheter this StereoDescriptor instance is valid for the specified center atom. More...
|
|
str | __str__ () |
| Returns a string representation of the StereoDescriptor instance. More...
|
|
A data structure for the storage and retrieval of stereochemical information about atoms and bonds.
The stereochemistry of atoms and bonds is definded by an ordered list of reference atoms and an integer constant that describes the spatial configuration of the reference atoms. Requirements on the specification of the reference atom list and the way the associated steric configuration has to be interpreted both depend on the primary type of the stereocenter (if atom or bond) and, for atom centers, also on the number and geometric arrangement of the reference atoms. The following basic types of atom and bond stereocenters are currently supported:
- Atoms with four neighbors in tetrahedral arrangement:
The four neighbor atoms serve as reference atoms. Their steric configuration is determined by looking along the bond from the center atom (stereocenter) to the 4th reference atom. If the direction of travel from reference atom 1 over atom 2 to atom 3 is clockwise (see Fig. 1a), the configuration flag is assigned the value AtomConfiguration.R, and AtomConfiguration.S, if the reference atoms 1, 2 and 3 are arranged in counterclockwise direction (Fig. 1b).
Fig. 1a: R-Configuration
|
Fig. 1b: S-Configuration
|
- Atoms with three neighbors in pyramidal arrangement:
The neighbor atoms correspond to the first three atoms in the reference atom list. The 4th reference atom denotes the central atom. The configuration is determined by looking along the line from the center atom to a projected point (represented by a blue sphere in figure 2a and 2b) which is obtained by adding the bond vectors from each neighbor atom to the central atom. Like before, if the direction of travel from reference atom 1 over atom 2 to atom 3 is clockwise (see Fig. 2a), the configuration flag is assigned the value AtomConfiguration.R, and AtomConfiguration.S, if the reference atoms 1, 2 and 3 are arranged in a counterclockwise fashion (Fig. 2b).
Fig. 2a: R-Configuration
|
Fig. 2b: S-Configuration
|
- Non-terminal double bonds:
As shown in figure 3a and 3b, the four reference atoms form a path with three consecutive bonds where atoms 2 and 3 are part of the central double bond. Atom 1 is the connected atom of the first double bond ligand, and atom 4 the connected atom of the second ligand. If reference atoms 1 and 4 lie on the same side of the double bond (see Fig. 3a), the configuration flag is assigned the value BondConfiguration.CIS, and BondConfiguration.TRANS, if they are on opposite sides f the bond (Fig. 3b).
Fig. 3a: Cis-Configuration
|
Fig. 3b: Trans-Configuration
|