RDKit
Open-source cheminformatics and machine learning.
Loading...
Searching...
No Matches
Chirality.h File Reference
#include <RDGeneral/export.h>
#include <RDGeneral/types.h>
#include <GraphMol/Bond.h>
#include <boost/dynamic_bitset.hpp>
#include <limits>

Go to the source code of this file.

Classes

struct  RDKit::Chirality::StereoInfo
 
struct  RDKit::Chirality::BondWedgingParameters
 
class  RDKit::Chirality::WedgeInfoBase
 
class  RDKit::Chirality::WedgeInfoChiral
 
class  RDKit::Chirality::WedgeInfoAtropisomer
 

Namespaces

namespace  RDKit
 Std stuff.
 
namespace  RDKit::Chirality
 
namespace  RDKit::Chirality::detail
 

Enumerations

enum class  RDKit::Chirality::StereoType {
  RDKit::Chirality::Unspecified , RDKit::Chirality::Atom_Tetrahedral , RDKit::Chirality::Atom_SquarePlanar , RDKit::Chirality::Atom_TrigonalBipyramidal ,
  RDKit::Chirality::Atom_Octahedral , RDKit::Chirality::Bond_Double , RDKit::Chirality::Bond_Cumulene_Even , RDKit::Chirality::Bond_Atropisomer
}
 
enum class  RDKit::Chirality::StereoDescriptor {
  RDKit::Chirality::None , RDKit::Chirality::Tet_CW , RDKit::Chirality::Tet_CCW , RDKit::Chirality::Bond_Cis ,
  RDKit::Chirality::Bond_Trans , RDKit::Chirality::Bond_AtropCW , RDKit::Chirality::Bond_AtropCCW
}
 
enum class  RDKit::Chirality::StereoSpecified { RDKit::Chirality::Unspecified , RDKit::Chirality::Specified , RDKit::Chirality::Unknown }
 
enum class  RDKit::Chirality::WedgeInfoType { RDKit::Chirality::WedgeInfoTypeChiral , RDKit::Chirality::WedgeInfoTypeAtropisomer }
 

Functions

RDKIT_GRAPHMOL_EXPORT void RDKit::Chirality::setAllowNontetrahedralChirality (bool val)
 
RDKIT_GRAPHMOL_EXPORT bool RDKit::Chirality::getAllowNontetrahedralChirality ()
 
RDKIT_GRAPHMOL_EXPORT void RDKit::Chirality::setUseLegacyStereoPerception (bool val)
 
RDKIT_GRAPHMOL_EXPORT bool RDKit::Chirality::getUseLegacyStereoPerception ()
 
RDKIT_GRAPHMOL_EXPORT void RDKit::Chirality::removeNonExplicit3DChirality (ROMol &mol)
 
RDKIT_GRAPHMOL_EXPORT std::vector< StereoInfoRDKit::Chirality::findPotentialStereo (ROMol &mol, bool cleanIt, bool flagPossible=true)
 identifies potential stereoatoms and stereobonds in a molecule
 
RDKIT_GRAPHMOL_EXPORT std::vector< StereoInfoRDKit::Chirality::findPotentialStereo (const ROMol &mol)
 overload
 
RDKIT_GRAPHMOL_EXPORT void RDKit::Chirality::cleanupStereoGroups (ROMol &mol)
 removes atoms without specified chirality from stereo groups
 
RDKIT_GRAPHMOL_EXPORT void RDKit::Chirality::assignLegacyCIPLabels (ROMol &mol, bool flagPossibleStereoCenters=false)
 calls the approximate legacy code for assigning CIP labels
 
RDKIT_GRAPHMOL_EXPORT INT_VECT RDKit::Chirality::findStereoAtoms (const Bond *bond)
 
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 Bond::BondDir RDKit::Chirality::detail::determineBondWedgeState (const Bond *bond, unsigned int fromAtomIdx, const Conformer *conf)
 
RDKIT_GRAPHMOL_EXPORT Bond::BondDir RDKit::Chirality::detail::determineBondWedgeState (const Bond *bond, const std::map< int, std::unique_ptr< RDKit::Chirality::WedgeInfoBase > > &wedgeBonds, const Conformer *conf)
 
RDKIT_GRAPHMOL_EXPORT std::pair< bool, INT_VECTRDKit::Chirality::detail::countChiralNbrs (const ROMol &mol, int noNbrs)
 
RDKIT_GRAPHMOL_EXPORT int RDKit::Chirality::detail::pickBondToWedge (const Atom *atom, const ROMol &mol, const INT_VECT &nChiralNbrs, const std::map< int, std::unique_ptr< RDKit::Chirality::WedgeInfoBase > > &resSoFar, int noNbrs)
 
RDKIT_GRAPHMOL_EXPORT void RDKit::Chirality::detail::setStereoForBond (ROMol &mol, Bond *bond, Bond::BondStereo stereo)
 
RDKIT_GRAPHMOL_EXPORT std::map< int, std::unique_ptr< Chirality::WedgeInfoBase > > RDKit::Chirality::pickBondsToWedge (const ROMol &mol, const BondWedgingParameters *params=nullptr)
 
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 void RDKit::Chirality::wedgeMolBonds (ROMol &mol, const Conformer *conf=nullptr, const BondWedgingParameters *params=nullptr)
 
RDKIT_GRAPHMOL_EXPORT void RDKit::Chirality::wedgeBond (Bond *bond, unsigned int fromAtomIdx, const Conformer *conf)
 
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::reapplyMolBlockWedging (ROMol &mol, bool allBondTypes=true)
 Clears existing bond wedging and forces use of atom wedging from MolBlock.
 
RDKIT_GRAPHMOL_EXPORT void RDKit::Chirality::clearMolBlockWedgingInfo (ROMol &mol)
 Remove MolBlock bond wedging information from molecule.
 
RDKIT_GRAPHMOL_EXPORT void RDKit::Chirality::invertMolBlockWedgingInfo (ROMol &mol)
 Invert bond wedging information read from a mol block (if present).
 
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
 
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::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 RDKit::Chirality::simplifyEnhancedStereo (ROMol &mol, bool removeAffectedStereoGroups=true)
 
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)
 
Non-tetrahedral stereochemistry
RDKIT_GRAPHMOL_EXPORT bool RDKit::Chirality::hasNonTetrahedralStereo (const Atom *center)
 
RDKIT_GRAPHMOL_EXPORT BondRDKit::Chirality::getChiralAcrossBond (const Atom *center, const Bond *qry)
 
RDKIT_GRAPHMOL_EXPORT BondRDKit::Chirality::getChiralAcrossBond (const Atom *center, const Atom *qry)
 
RDKIT_GRAPHMOL_EXPORT AtomRDKit::Chirality::getChiralAcrossAtom (const Atom *center, const Bond *qry)
 
RDKIT_GRAPHMOL_EXPORT AtomRDKit::Chirality::getChiralAcrossAtom (const Atom *center, const Atom *qry)
 
RDKIT_GRAPHMOL_EXPORT BondRDKit::Chirality::getTrigonalBipyramidalAxialBond (const Atom *center, int which=0)
 
RDKIT_GRAPHMOL_EXPORT AtomRDKit::Chirality::getTrigonalBipyramidalAxialAtom (const Atom *center, int which=0)
 
RDKIT_GRAPHMOL_EXPORT int RDKit::Chirality::isTrigonalBipyramidalAxialBond (const Atom *center, const Bond *qry)
 
RDKIT_GRAPHMOL_EXPORT int RDKit::Chirality::isTrigonalBipyramidalAxialAtom (const Atom *center, const Atom *qry)
 
RDKIT_GRAPHMOL_EXPORT double RDKit::Chirality::getIdealAngleBetweenLigands (const Atom *center, const Atom *lig1, const Atom *lig2)
 
RDKIT_GRAPHMOL_EXPORT unsigned int RDKit::Chirality::getChiralPermutation (const Atom *center, const INT_LIST &probe)
 

Variables

constexpr unsigned int RDKit::Chirality::minRingSizeForDoubleBondStereo = 8
 double bond stereo will be ignored/removed for rings smaller than this:
 
constexpr auto RDKit::Chirality::nonTetrahedralStereoEnvVar = "RDK_ENABLE_NONTETRAHEDRAL_STEREO"
 
constexpr auto RDKit::Chirality::useLegacyStereoEnvVar = "RDK_USE_LEGACY_STEREO_PERCEPTION"
 
constexpr bool RDKit::Chirality::nonTetrahedralStereoDefaultVal
 whether or not nontetrahedral stereo is perceived by default
 
constexpr bool RDKit::Chirality::useLegacyStereoDefaultVal
 
RDKIT_GRAPHMOL_EXPORT bool RDKit::Chirality::useLegacyStereoPerception