14 #ifndef RD_CHIRALITY_20AUG2008_H
15 #define RD_CHIRALITY_20AUG2008_H
18 #include <boost/dynamic_bitset.hpp>
108 static const unsigned NOATOM =
109 std::numeric_limits<unsigned>::max();
115 unsigned centeredOn = NOATOM;
117 unsigned permutation = 0;
139 ROMol &mol,
bool cleanIt,
bool flagPossible =
true);
149 ROMol &mol,
bool flagPossibleStereoCenters =
false);
The class for representing atoms.
class for representing a bond
BondStereo
the nature of the bond's stereochem (for cis/trans)
#define RDKIT_GRAPHMOL_EXPORT
RDKIT_GRAPHMOL_EXPORT bool getUseLegacyStereoPerception()
RDKIT_GRAPHMOL_EXPORT int isTrigonalBipyramidalAxialAtom(const Atom *center, const Atom *qry)
RDKIT_GRAPHMOL_EXPORT bool getAllowNontetrahedralChirality()
RDKIT_GRAPHMOL_EXPORT Bond * getChiralAcrossBond(const Atom *center, const Bond *qry)
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 void setUseLegacyStereoPerception(bool val)
constexpr unsigned int minRingSizeForDoubleBondStereo
double bond stereo will be ignored/removed for rings smaller than this:
constexpr bool useLegacyStereoDefaultVal
RDKIT_GRAPHMOL_EXPORT Atom * getTrigonalBipyramidalAxialAtom(const Atom *center, int which=0)
RDKIT_GRAPHMOL_EXPORT Bond * getTrigonalBipyramidalAxialBond(const Atom *center, int which=0)
RDKIT_GRAPHMOL_EXPORT void setAllowNontetrahedralChirality(bool val)
constexpr auto nonTetrahedralStereoEnvVar
constexpr auto useLegacyStereoEnvVar
RDKIT_GRAPHMOL_EXPORT bool useLegacyStereoPerception
RDKIT_GRAPHMOL_EXPORT unsigned int getChiralPermutation(const Atom *center, const INT_LIST &probe)
RDKIT_GRAPHMOL_EXPORT bool hasNonTetrahedralStereo(const Atom *center)
RDKIT_GRAPHMOL_EXPORT int isTrigonalBipyramidalAxialBond(const Atom *center, const Bond *qry)
@ Atom_TrigonalBipyramidal
RDKIT_GRAPHMOL_EXPORT double getIdealAngleBetweenLigands(const Atom *center, const Atom *lig1, const Atom *lig2)
RDKIT_GRAPHMOL_EXPORT void cleanupStereoGroups(ROMol &mol)
removes atoms without specified chirality from stereo groups
constexpr bool nonTetrahedralStereoDefaultVal
whether or not nontetrahedral stereo is perceived by default
RDKIT_GRAPHMOL_EXPORT INT_VECT findStereoAtoms(const Bond *bond)
RDKIT_GRAPHMOL_EXPORT void assignLegacyCIPLabels(ROMol &mol, bool flagPossibleStereoCenters=false)
calls the approximate legacy code for assigning CIP labels
RDKIT_GRAPHMOL_EXPORT std::ostream & operator<<(std::ostream &oss, const StereoSpecified &s)
RDKIT_GRAPHMOL_EXPORT Atom * getChiralAcrossAtom(const Atom *center, const Bond *qry)
std::list< int > INT_LIST
std::vector< int > INT_VECT
std::vector< UINT > UINT_VECT
static const unsigned NOATOM
std::vector< unsigned > controllingAtoms
StereoSpecified specified
StereoDescriptor descriptor
bool operator!=(const StereoInfo &other) const
bool operator==(const StereoInfo &other) const