MolFileStereochem.h
Go to the documentation of this file.
//
// Copyright (C) 2004-2021 Greg Landrum and other RDKit contributors
//
// @@ All Rights Reserved @@
// This file is part of the RDKit.
// The contents are covered by the terms of the BSD license
// which is included in the file license.txt, found at the root
// of the RDKit source tree.
//
#include <RDGeneral/export.h>
#ifndef RD_MOL_FILE_STEREOCHEM_H
#define RD_MOL_FILE_STEREOCHEM_H
#include <GraphMol/RDKitBase.h>
namespace RDKit {
//! deprecated, please use MolOps::assignChiralTypesFromBondDirs instead
RDKIT_FILEPARSERS_EXPORT void DetectAtomStereoChemistry(RWMol &mol,
const Conformer *conf);
//! deprecated, please use MolOps::detectBondStereoChemistry instead
RDKIT_FILEPARSERS_EXPORT void DetectBondStereoChemistry(ROMol &mol,
const Conformer *conf);
RDKIT_FILEPARSERS_EXPORT void WedgeMolBonds(ROMol &mol, const Conformer *conf);
RDKIT_FILEPARSERS_EXPORT void WedgeBond(Bond *bond, unsigned int fromAtomIdx,
const Conformer *conf);
struct RDKIT_FILEPARSERS_EXPORT StereoBondThresholds {
const static unsigned DBL_BOND_NO_STEREO =
1000; //!< neighboring double bond without stereo info
const static unsigned DBL_BOND_SPECIFIED_STEREO =
10000; //!< neighboring double bond with stereo specified
const static unsigned CHIRAL_ATOM =
100000; //!< atom with specified chirality
const static unsigned DIRECTION_SET =
1000000; //!< single bond with the direction already set
};
//! set wavy bonds around double bonds with STEREOANY stereo
/*!
\param mol molecule to be modified
\param clearDoubleBondFlags when this is true flags for unknown double bond
stereo will also be removed.
\param addWhenImpossible if nonzero a neighboring single bond will be made wavy
even if it connects to a chiral center or double bond with specified stereo.
one example of this would be the middle double bond in C/C=C/C=C/C=C/C (if
that's set to STEREOANY after constructing the molecule) Otherwise, no wavy
bond will be set
*/
RDKIT_FILEPARSERS_EXPORT void addWavyBondsForStereoAny(
ROMol &mol, bool clearDoubleBondFlags = true,
unsigned addWhenImpossible = StereoBondThresholds::DBL_BOND_NO_STEREO);
//! picks the bonds which should be wedged
/// \returns a map from bond idx -> controlling atom idx
RDKIT_FILEPARSERS_EXPORT INT_MAP_INT pickBondsToWedge(const ROMol &mol);
RDKIT_FILEPARSERS_EXPORT void ClearSingleBondDirFlags(ROMol &mol);
RDKIT_FILEPARSERS_EXPORT Bond::BondDir DetermineBondWedgeState(
const Bond *bond, unsigned int fromAtomIdx, const Conformer *conf);
RDKIT_FILEPARSERS_EXPORT Bond::BondDir DetermineBondWedgeState(
const Bond *bond, const INT_MAP_INT &wedgeBonds, const Conformer *conf);
} // namespace RDKit
#endif
RDKitBase.h
pulls in the core RDKit functionality
RDKit::Bond
class for representing a bond
Definition: Bond.h:46
RDKit::Bond::BondDir
BondDir
the bond's direction (for chirality)
Definition: Bond.h:82
RDKit::Conformer
The class for representing 2D or 3D conformation of a molecule.
Definition: Conformer.h:45
RDKit::ROMol
Definition: ROMol.h:178
RDKit::RWMol
RWMol is a molecule class that is intended to be edited.
Definition: RWMol.h:32
export.h
RDKIT_FILEPARSERS_EXPORT
#define RDKIT_FILEPARSERS_EXPORT
Definition: export.h:153
RDKit
Std stuff.
Definition: Abbreviations.h:18
RDKit::pickBondsToWedge
RDKIT_FILEPARSERS_EXPORT INT_MAP_INT pickBondsToWedge(const ROMol &mol)
RDKit::DetectBondStereoChemistry
RDKIT_FILEPARSERS_EXPORT void DetectBondStereoChemistry(ROMol &mol, const Conformer *conf)
deprecated, please use MolOps::detectBondStereoChemistry instead
RDKit::INT_MAP_INT
std::map< int, int > INT_MAP_INT
Definition: types.h:312
RDKit::WedgeMolBonds
RDKIT_FILEPARSERS_EXPORT void WedgeMolBonds(ROMol &mol, const Conformer *conf)
RDKit::DetermineBondWedgeState
RDKIT_FILEPARSERS_EXPORT Bond::BondDir DetermineBondWedgeState(const Bond *bond, unsigned int fromAtomIdx, const Conformer *conf)
RDKit::ClearSingleBondDirFlags
RDKIT_FILEPARSERS_EXPORT void ClearSingleBondDirFlags(ROMol &mol)
RDKit::WedgeBond
RDKIT_FILEPARSERS_EXPORT void WedgeBond(Bond *bond, unsigned int fromAtomIdx, const Conformer *conf)
RDKit::DetectAtomStereoChemistry
RDKIT_FILEPARSERS_EXPORT void DetectAtomStereoChemistry(RWMol &mol, const Conformer *conf)
deprecated, please use MolOps::assignChiralTypesFromBondDirs instead
RDKit::addWavyBondsForStereoAny
RDKIT_FILEPARSERS_EXPORT void addWavyBondsForStereoAny(ROMol &mol, bool clearDoubleBondFlags=true, unsigned addWhenImpossible=StereoBondThresholds::DBL_BOND_NO_STEREO)
set wavy bonds around double bonds with STEREOANY stereo
RDKit::StereoBondThresholds
Definition: MolFileStereochem.h:26
RDKit::StereoBondThresholds::DBL_BOND_NO_STEREO
static const unsigned DBL_BOND_NO_STEREO
neighboring double bond without stereo info
Definition: MolFileStereochem.h:27