![]() |
Chemical Data Processing Library C++ API - Version 1.2.2
|
A data structure for the storage and retrieval of stereochemical information about atoms and bonds. More...
#include <StereoDescriptor.hpp>
Public Member Functions | |
StereoDescriptor (unsigned int config) | |
Constructs a StereoDescriptor instance that specifies the configuration config but stores no reference atoms. More... | |
StereoDescriptor (const StereoDescriptor &descr) | |
Constructs a copy of the StereoDescriptor instance descr. More... | |
StereoDescriptor (unsigned int config, const Atom &atom1, const Atom &atom2, const Atom &atom3) | |
Constructs a StereoDescriptor instance that specifies a configuration of config for three reference atoms. More... | |
StereoDescriptor (unsigned int config, const Atom &atom1, const Atom &atom2, const Atom &atom3, const Atom &atom4) | |
Constructs a StereoDescriptor instance that specifies a configuration of config for four reference atoms. More... | |
std::size_t | getNumReferenceAtoms () const |
Returns the number of specified reference atoms. More... | |
unsigned int | getConfiguration () const |
Returns the configuration of the reference atoms. More... | |
void | setConfiguration (unsigned int config) |
Sets the configuration of the reference atoms to config. More... | |
const Atom *const * | getReferenceAtoms () const |
Returns an array of pointers to the stored reference atoms. More... | |
StereoDescriptor & | operator= (const StereoDescriptor &descr) |
Assignment operator. More... | |
bool | isValid (const Atom &atom) const |
Tells wheter this StereoDescriptor instance is valid for the specified center atom. More... | |
bool | isValid (const Bond &bond) const |
Tells wheter this StereoDescriptor instance is valid for the specified center bond. More... | |
unsigned int | getPermutationParity (const Atom &atom1, const Atom &atom2, const Atom &atom3) const |
Tells if an odd or even number of atom transpositions is required to achieve the same ordering of reference and argument atoms. More... | |
unsigned int | getPermutationParity (const Atom &atom1, const Atom &atom2, const Atom &atom3, const Atom &atom4) const |
Tells if an odd or even number of atom transpositions is required to achieve the same ordering of reference and argument atoms. 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:
![]()
Fig. 1a: R-Configuration | ![]()
Fig. 1b: S-Configuration |
![]()
Fig. 2a: R-Configuration | ![]()
Fig. 2b: S-Configuration |
![]()
Fig. 3a: Cis-Configuration | ![]()
Fig. 3b: Trans-Configuration |
CDPL::Chem::StereoDescriptor::StereoDescriptor | ( | unsigned int | config | ) |
Constructs a StereoDescriptor
instance that specifies the configuration config but stores no reference atoms.
config | A constant specifying the configuration of the central atoms. |
CDPL::Chem::StereoDescriptor::StereoDescriptor | ( | const StereoDescriptor & | descr | ) |
Constructs a copy of the StereoDescriptor
instance descr.
descr | The StereoDescriptor instance to copy. |
CDPL::Chem::StereoDescriptor::StereoDescriptor | ( | unsigned int | config, |
const Atom & | atom1, | ||
const Atom & | atom2, | ||
const Atom & | atom3 | ||
) |
Constructs a StereoDescriptor
instance that specifies a configuration of config for three reference atoms.
config | A constant specifying the configuration of the reference atoms. |
atom1 | The first reference atom. |
atom2 | The second reference atom. |
atom3 | The third reference atom. |
CDPL::Chem::StereoDescriptor::StereoDescriptor | ( | unsigned int | config, |
const Atom & | atom1, | ||
const Atom & | atom2, | ||
const Atom & | atom3, | ||
const Atom & | atom4 | ||
) |
Constructs a StereoDescriptor
instance that specifies a configuration of config for four reference atoms.
config | A flag specifying the configuration of the reference atoms. |
atom1 | The first reference atom. |
atom2 | The second reference atom. |
atom3 | The third reference atom. |
atom4 | The fourth reference atom. |
std::size_t CDPL::Chem::StereoDescriptor::getNumReferenceAtoms | ( | ) | const |
Returns the number of specified reference atoms.
unsigned int CDPL::Chem::StereoDescriptor::getConfiguration | ( | ) | const |
Returns the configuration of the reference atoms.
void CDPL::Chem::StereoDescriptor::setConfiguration | ( | unsigned int | config | ) |
Sets the configuration of the reference atoms to config.
config | A constant specifying the configuration of the reference atoms. |
const Atom* const* CDPL::Chem::StereoDescriptor::getReferenceAtoms | ( | ) | const |
Returns an array of pointers to the stored reference atoms.
StereoDescriptor& CDPL::Chem::StereoDescriptor::operator= | ( | const StereoDescriptor & | descr | ) |
Assignment operator.
descr | The StereoDescriptor instance to copy. |
Tells wheter this StereoDescriptor
instance is valid for the specified center atom.
The method checks if the number of reference atoms is at least 3, the reference atoms are distinct and if every reference atom is connected to the argument atom.
atom | The stereogenic center atom. |
true
if valid, false
otherwise. Tells wheter this StereoDescriptor
instance is valid for the specified center bond.
The method checks if the number of reference atoms is 4, the reference atoms are distinct, the specified bond connects reference atoms 2 and 3 and if reference atoms 1 and 4 are connected to reference atom 2 and 3, respectively.
bond | The stereogenic center bond. |
true
if valid, false
otherwise. unsigned int CDPL::Chem::StereoDescriptor::getPermutationParity | ( | const Atom & | atom1, |
const Atom & | atom2, | ||
const Atom & | atom3 | ||
) | const |
Tells if an odd or even number of atom transpositions is required to achieve the same ordering of reference and argument atoms.
atom1 | The first atom. |
atom2 | The second atom. |
atom3 | The third atom. |
1
if an odd number of transpositions is required, 2
if an even number of transpositions is required and 0
if the argument atoms do not match the stored reference atoms. unsigned int CDPL::Chem::StereoDescriptor::getPermutationParity | ( | const Atom & | atom1, |
const Atom & | atom2, | ||
const Atom & | atom3, | ||
const Atom & | atom4 | ||
) | const |
Tells if an odd or even number of atom transpositions is required to achieve the same ordering of reference and argument atoms.
atom1 | The first atom. |
atom2 | The second atom. |
atom3 | The third atom. |
atom4 | The fourth atom. |
1
if an odd number of transpositions is required, 2
if an even number of transpositions is required and 0
if the argument atoms do not match the stored reference atoms.