![]() |
RDKit
Open-source cheminformatics and machine learning.
|
Namespaces | |
namespace | detail |
Classes | |
struct | BondWedgingParameters |
struct | StereoInfo |
class | WedgeInfoAtropisomer |
class | WedgeInfoBase |
class | WedgeInfoChiral |
Enumerations | |
enum class | StereoType { Unspecified , Atom_Tetrahedral , Atom_SquarePlanar , Atom_TrigonalBipyramidal , Atom_Octahedral , Bond_Double , Bond_Cumulene_Even , Bond_Atropisomer } |
enum class | StereoDescriptor { None , Tet_CW , Tet_CCW , Bond_Cis , Bond_Trans , Bond_AtropCW , Bond_AtropCCW } |
enum class | StereoSpecified { Unspecified , Specified , Unknown } |
enum class | WedgeInfoType { WedgeInfoTypeChiral , WedgeInfoTypeAtropisomer } |
Functions | |
RDKIT_GRAPHMOL_EXPORT void | setAllowNontetrahedralChirality (bool val) |
RDKIT_GRAPHMOL_EXPORT bool | getAllowNontetrahedralChirality () |
RDKIT_GRAPHMOL_EXPORT void | setUseLegacyStereoPerception (bool val) |
RDKIT_GRAPHMOL_EXPORT bool | getUseLegacyStereoPerception () |
RDKIT_GRAPHMOL_EXPORT void | removeNonExplicit3DChirality (ROMol &mol) |
RDKIT_GRAPHMOL_EXPORT std::vector< StereoInfo > | findPotentialStereo (ROMol &mol, bool cleanIt, bool flagPossible=true) |
identifies potential stereoatoms and stereobonds in a molecule | |
RDKIT_GRAPHMOL_EXPORT std::vector< StereoInfo > | findPotentialStereo (const ROMol &mol) |
overload | |
RDKIT_GRAPHMOL_EXPORT void | cleanupStereoGroups (ROMol &mol) |
removes atoms without specified chirality from stereo groups | |
RDKIT_GRAPHMOL_EXPORT void | assignLegacyCIPLabels (ROMol &mol, bool flagPossibleStereoCenters=false) |
calls the approximate legacy code for assigning CIP labels | |
RDKIT_GRAPHMOL_EXPORT INT_VECT | findStereoAtoms (const Bond *bond) |
RDKIT_GRAPHMOL_EXPORT std::ostream & | operator<< (std::ostream &oss, const StereoSpecified &s) |
RDKIT_GRAPHMOL_EXPORT std::ostream & | operator<< (std::ostream &oss, const StereoType &s) |
RDKIT_GRAPHMOL_EXPORT std::map< int, std::unique_ptr< Chirality::WedgeInfoBase > > | pickBondsToWedge (const ROMol &mol, const BondWedgingParameters *params=nullptr) |
RDKIT_GRAPHMOL_EXPORT std::map< int, std::unique_ptr< Chirality::WedgeInfoBase > > | pickBondsToWedge (const ROMol &mol, const BondWedgingParameters *params, const Conformer *conf) |
RDKIT_GRAPHMOL_EXPORT void | wedgeMolBonds (ROMol &mol, const Conformer *conf=nullptr, const BondWedgingParameters *params=nullptr) |
RDKIT_GRAPHMOL_EXPORT void | wedgeBond (Bond *bond, unsigned int fromAtomIdx, const Conformer *conf) |
RDKIT_GRAPHMOL_EXPORT bool | shouldBeACrossedBond (const Bond *bond) |
Returns true for double bonds which should be shown as a crossed bonds. | |
RDKIT_GRAPHMOL_EXPORT void | reapplyMolBlockWedging (ROMol &mol, bool allBondTypes=true) |
Clears existing bond wedging and forces use of atom wedging from MolBlock. | |
RDKIT_GRAPHMOL_EXPORT void | clearMolBlockWedgingInfo (ROMol &mol) |
Remove MolBlock bond wedging information from molecule. | |
RDKIT_GRAPHMOL_EXPORT void | invertMolBlockWedgingInfo (ROMol &mol) |
Invert bond wedging information read from a mol block (if present). | |
RDKIT_GRAPHMOL_EXPORT void | GetMolFileBondStereoInfo (const Bond *bond, const std::map< int, std::unique_ptr< RDKit::Chirality::WedgeInfoBase > > &wedgeBonds, const Conformer *conf, int &dirCode, bool &reverse) |
gets stereo info for a bond | |
RDKIT_GRAPHMOL_EXPORT void | GetMolFileBondStereoInfo (const Bond *bond, const std::map< int, std::unique_ptr< RDKit::Chirality::WedgeInfoBase > > &wedgeBonds, const Conformer *conf, Bond::BondDir &dir, bool &reverse) |
RDKIT_GRAPHMOL_EXPORT void | addStereoAnnotations (ROMol &mol, std::string absLabel="abs ({cip})", std::string orLabel="or{id}", std::string andLabel="and{id}", std::string cipLabel="({cip})", std::string bondLabel="({cip})") |
add R/S, relative stereo, and E/Z annotations to atoms and bonds | |
RDKIT_GRAPHMOL_EXPORT void | simplifyEnhancedStereo (ROMol &mol, bool removeAffectedStereoGroups=true) |
RDKIT_GRAPHMOL_EXPORT std::vector< std::pair< unsigned int, unsigned int > > | findMesoCenters (const ROMol &mol, bool includeIsotopes=true, bool includeAtomMaps=false) |
returns the meso centers in a molecule (if any) | |
Non-tetrahedral stereochemistry | |
RDKIT_GRAPHMOL_EXPORT bool | hasNonTetrahedralStereo (const Atom *center) |
RDKIT_GRAPHMOL_EXPORT Bond * | getChiralAcrossBond (const Atom *center, const Bond *qry) |
RDKIT_GRAPHMOL_EXPORT Bond * | getChiralAcrossBond (const Atom *center, const Atom *qry) |
RDKIT_GRAPHMOL_EXPORT Atom * | getChiralAcrossAtom (const Atom *center, const Bond *qry) |
RDKIT_GRAPHMOL_EXPORT Atom * | getChiralAcrossAtom (const Atom *center, const Atom *qry) |
RDKIT_GRAPHMOL_EXPORT Bond * | getTrigonalBipyramidalAxialBond (const Atom *center, int which=0) |
RDKIT_GRAPHMOL_EXPORT Atom * | getTrigonalBipyramidalAxialAtom (const Atom *center, int which=0) |
RDKIT_GRAPHMOL_EXPORT int | isTrigonalBipyramidalAxialBond (const Atom *center, const Bond *qry) |
RDKIT_GRAPHMOL_EXPORT int | isTrigonalBipyramidalAxialAtom (const Atom *center, const Atom *qry) |
RDKIT_GRAPHMOL_EXPORT double | getIdealAngleBetweenLigands (const Atom *center, const Atom *lig1, const Atom *lig2) |
RDKIT_GRAPHMOL_EXPORT unsigned int | getMaxNbors (const Atom::ChiralType tag) |
RDKIT_GRAPHMOL_EXPORT unsigned int | getChiralPermutation (const Atom *center, const INT_LIST &probe, bool inverse=false) |
Variables | |
constexpr unsigned int | minRingSizeForDoubleBondStereo = 8 |
double bond stereo will be ignored/removed for rings smaller than this: | |
constexpr auto | nonTetrahedralStereoEnvVar = "RDK_ENABLE_NONTETRAHEDRAL_STEREO" |
constexpr auto | useLegacyStereoEnvVar = "RDK_USE_LEGACY_STEREO_PERCEPTION" |
constexpr bool | nonTetrahedralStereoDefaultVal |
whether or not nontetrahedral stereo is perceived by default | |
constexpr bool | useLegacyStereoDefaultVal |
RDKIT_GRAPHMOL_EXPORT bool | useLegacyStereoPerception |
|
strong |
Enumerator | |
---|---|
None | |
Tet_CW | |
Tet_CCW | |
Bond_Cis | |
Bond_Trans | |
Bond_AtropCW | |
Bond_AtropCCW |
Definition at line 101 of file Chirality.h.
|
strong |
Enumerator | |
---|---|
Unspecified | |
Specified | |
Unknown |
Definition at line 111 of file Chirality.h.
|
strong |
Enumerator | |
---|---|
Unspecified | |
Atom_Tetrahedral | |
Atom_SquarePlanar | |
Atom_TrigonalBipyramidal | |
Atom_Octahedral | |
Bond_Double | |
Bond_Cumulene_Even | |
Bond_Atropisomer |
Definition at line 90 of file Chirality.h.
|
strong |
Enumerator | |
---|---|
WedgeInfoTypeChiral | |
WedgeInfoTypeAtropisomer |
Definition at line 240 of file Chirality.h.
RDKIT_GRAPHMOL_EXPORT void RDKit::Chirality::addStereoAnnotations | ( | ROMol & | mol, |
std::string | absLabel = "abs ({cip})", | ||
std::string | orLabel = "or{id}", | ||
std::string | andLabel = "and{id}", | ||
std::string | cipLabel = "({cip})", | ||
std::string | bondLabel = "({cip})" ) |
add R/S, relative stereo, and E/Z annotations to atoms and bonds
mol | molecule to modify |
absLabel | label for atoms in an ABS stereo group |
orLabel | label for atoms in an OR stereo group |
andLabel | label for atoms in an AND stereo group |
cipLabel | label for chiral atoms that aren't in a stereo group. |
bondLabel | label for CIP stereochemistry on bonds |
If any label is empty, the corresponding annotations will not be added.
The labels can contain the following placeholders: {id} - the stereo group's index {cip} - the atom or bond's CIP stereochemistry
Note that CIP labels will only be added if CIP stereochemistry has been assigned to the molecule.
RDKIT_GRAPHMOL_EXPORT void RDKit::Chirality::assignLegacyCIPLabels | ( | ROMol & | mol, |
bool | flagPossibleStereoCenters = false ) |
calls the approximate legacy code for assigning CIP labels
RDKIT_GRAPHMOL_EXPORT void RDKit::Chirality::cleanupStereoGroups | ( | ROMol & | mol | ) |
removes atoms without specified chirality from stereo groups
RDKIT_GRAPHMOL_EXPORT void RDKit::Chirality::clearMolBlockWedgingInfo | ( | ROMol & | mol | ) |
Remove MolBlock bond wedging information from molecule.
mol | molecule to modify |
RDKIT_GRAPHMOL_EXPORT std::vector< std::pair< unsigned int, unsigned int > > RDKit::Chirality::findMesoCenters | ( | const ROMol & | mol, |
bool | includeIsotopes = true, | ||
bool | includeAtomMaps = false ) |
returns the meso centers in a molecule (if any)
mol | molecule to work with |
RDKIT_GRAPHMOL_EXPORT std::vector< StereoInfo > RDKit::Chirality::findPotentialStereo | ( | const ROMol & | mol | ) |
overload
RDKIT_GRAPHMOL_EXPORT std::vector< StereoInfo > RDKit::Chirality::findPotentialStereo | ( | ROMol & | mol, |
bool | cleanIt, | ||
bool | flagPossible = true ) |
identifies potential stereoatoms and stereobonds in a molecule
Note that this function is still somewhat experimental and the API and results may change in a future release.
mol | the molecule to look for stereo in |
cleanIt | remove chirality/stereo specifications from atoms/bonds that cannot be chiral/stereo |
RDKIT_GRAPHMOL_EXPORT INT_VECT RDKit::Chirality::findStereoAtoms | ( | const Bond * | bond | ) |
|
extern |
RDKIT_GRAPHMOL_EXPORT Atom * RDKit::Chirality::getChiralAcrossAtom | ( | const Atom * | center, |
const Atom * | qry ) |
RDKIT_GRAPHMOL_EXPORT Atom * RDKit::Chirality::getChiralAcrossAtom | ( | const Atom * | center, |
const Bond * | qry ) |
RDKIT_GRAPHMOL_EXPORT Bond * RDKit::Chirality::getChiralAcrossBond | ( | const Atom * | center, |
const Atom * | qry ) |
RDKIT_GRAPHMOL_EXPORT Bond * RDKit::Chirality::getChiralAcrossBond | ( | const Atom * | center, |
const Bond * | qry ) |
RDKIT_GRAPHMOL_EXPORT unsigned int RDKit::Chirality::getChiralPermutation | ( | const Atom * | center, |
const INT_LIST & | probe, | ||
bool | inverse = false ) |
RDKIT_GRAPHMOL_EXPORT double RDKit::Chirality::getIdealAngleBetweenLigands | ( | const Atom * | center, |
const Atom * | lig1, | ||
const Atom * | lig2 ) |
RDKIT_GRAPHMOL_EXPORT unsigned int RDKit::Chirality::getMaxNbors | ( | const Atom::ChiralType | tag | ) |
RDKIT_GRAPHMOL_EXPORT void RDKit::Chirality::GetMolFileBondStereoInfo | ( | const Bond * | bond, |
const std::map< int, std::unique_ptr< RDKit::Chirality::WedgeInfoBase > > & | wedgeBonds, | ||
const Conformer * | conf, | ||
Bond::BondDir & | dir, | ||
bool & | reverse ) |
RDKIT_GRAPHMOL_EXPORT void RDKit::Chirality::GetMolFileBondStereoInfo | ( | const Bond * | bond, |
const std::map< int, std::unique_ptr< RDKit::Chirality::WedgeInfoBase > > & | wedgeBonds, | ||
const Conformer * | conf, | ||
int & | dirCode, | ||
bool & | reverse ) |
gets stereo info for a bond
bond | bond to check |
wedgeBonds | - the list of bonds to have wedges |
conf | - Conformer to use |
dirCode | - receives the dircode for the bond |
reverse | - receives the reverse flag only returned if it was exlicility set witha wiggle bond |
RDKIT_GRAPHMOL_EXPORT Atom * RDKit::Chirality::getTrigonalBipyramidalAxialAtom | ( | const Atom * | center, |
int | which = 0 ) |
RDKIT_GRAPHMOL_EXPORT Bond * RDKit::Chirality::getTrigonalBipyramidalAxialBond | ( | const Atom * | center, |
int | which = 0 ) |
which | if this is -1 then the second axial bond will be returned, otherwise the first |
|
extern |
RDKIT_GRAPHMOL_EXPORT bool RDKit::Chirality::hasNonTetrahedralStereo | ( | const Atom * | center | ) |
RDKIT_GRAPHMOL_EXPORT void RDKit::Chirality::invertMolBlockWedgingInfo | ( | ROMol & | mol | ) |
Invert bond wedging information read from a mol block (if present).
mol | molecule to modify |
RDKIT_GRAPHMOL_EXPORT int RDKit::Chirality::isTrigonalBipyramidalAxialAtom | ( | const Atom * | center, |
const Atom * | qry ) |
RDKIT_GRAPHMOL_EXPORT int RDKit::Chirality::isTrigonalBipyramidalAxialBond | ( | const Atom * | center, |
const Bond * | qry ) |
RDKIT_GRAPHMOL_EXPORT std::ostream & RDKit::Chirality::operator<< | ( | std::ostream & | oss, |
const StereoSpecified & | s ) |
RDKIT_GRAPHMOL_EXPORT std::ostream & RDKit::Chirality::operator<< | ( | std::ostream & | oss, |
const StereoType & | s ) |
RDKIT_GRAPHMOL_EXPORT std::map< int, std::unique_ptr< Chirality::WedgeInfoBase > > RDKit::Chirality::pickBondsToWedge | ( | const ROMol & | mol, |
const BondWedgingParameters * | params, | ||
const Conformer * | conf ) |
RDKIT_GRAPHMOL_EXPORT std::map< int, std::unique_ptr< Chirality::WedgeInfoBase > > RDKit::Chirality::pickBondsToWedge | ( | const ROMol & | mol, |
const BondWedgingParameters * | params = nullptr ) |
picks the bonds which should be wedged returns a map from bond idx -> controlling atom idx
RDKIT_GRAPHMOL_EXPORT void RDKit::Chirality::reapplyMolBlockWedging | ( | ROMol & | mol, |
bool | allBondTypes = true ) |
Clears existing bond wedging and forces use of atom wedging from MolBlock.
mol | molecule to have its wedges altered |
allBondTypes | reapply the wedging also on bonds other than single and aromatic ones |
RDKIT_GRAPHMOL_EXPORT void RDKit::Chirality::removeNonExplicit3DChirality | ( | ROMol & | mol | ) |
|
extern |
|
extern |
RDKIT_GRAPHMOL_EXPORT bool RDKit::Chirality::shouldBeACrossedBond | ( | const Bond * | bond | ) |
Returns true for double bonds which should be shown as a crossed bonds.
RDKIT_GRAPHMOL_EXPORT void RDKit::Chirality::simplifyEnhancedStereo | ( | ROMol & | mol, |
bool | removeAffectedStereoGroups = true ) |
simplifies the stereochemical representation of a molecule where all specified stereocenters are in the same StereoGroup
mol | molecule to modify |
removeAffectedStereoGroups | if set then the affected StereoGroups will be removed |
If all specified stereocenters are in the same AND or OR stereogroup, a moleculeNote property will be set on the molecule with the value "AND enantiomer" or "OR enantiomer". CIP labels, if present, are removed.
RDKIT_GRAPHMOL_EXPORT void RDKit::Chirality::wedgeBond | ( | Bond * | bond, |
unsigned int | fromAtomIdx, | ||
const Conformer * | conf ) |
RDKIT_GRAPHMOL_EXPORT void RDKit::Chirality::wedgeMolBonds | ( | ROMol & | mol, |
const Conformer * | conf = nullptr, | ||
const BondWedgingParameters * | params = nullptr ) |
|
constexpr |
double bond stereo will be ignored/removed for rings smaller than this:
Definition at line 31 of file Chirality.h.
|
constexpr |
whether or not nontetrahedral stereo is perceived by default
Definition at line 35 of file Chirality.h.
|
constexpr |
Definition at line 33 of file Chirality.h.
|
constexpr |
whether or not the legacy stereo perception code is used by default
Definition at line 37 of file Chirality.h.
|
constexpr |
Definition at line 34 of file Chirality.h.
|
extern |
Toggle usage of the legacy stereo perception code
Definition at line 54 of file Chirality.h.