16#include <boost/dynamic_bitset.hpp>
117 const boost::dynamic_bitset<> *
bondsInPlay =
nullptr,
118 const std::vector<std::string> *
bondSymbols =
nullptr,
119 bool doIsomericSmiles =
false,
bool doRandom =
false,
138 ROMol &mol,
const std::vector<unsigned int> *
atomRanks =
nullptr);
The class for representing atoms.
class for representing a bond
these are the actual elements in the molecular stack
MolStackTypes type
stores the type of node
MolStackElem(Atom *at)
construct an Atom node
MolStackElem(const char *chr, int idx)
construct for a branch opening or closing
MolStackUnion obj
holds our pointer (if appropriate)
MolStackElem(int idx)
construct for a ring closure
MolStackElem(Bond *bond, int idx)
construct a bond node
#define RDKIT_GRAPHMOL_EXPORT
std::tuple< int, int, Bond * > PossibleType
used to represent possible branches from an atom
MolStackTypes
used to indicate types of entries in the molecular stack:
@ MOL_STACK_BRANCH_OPEN
beginning of a branch
@ MOL_STACK_RING
a ring closure
@ MOL_STACK_BRANCH_CLOSE
end of a branch
std::vector< MolStackElem > MolStack
RDKIT_GRAPHMOL_EXPORT bool chiralAtomNeedsTagInversion(const RDKit::ROMol &mol, const RDKit::Atom *atom, bool isAtomFirst, size_t numClosures)
const int MAX_BONDTYPE
used in the canonical traversal code
const int MAX_CYCLES
used in the canonical traversal code
RDKIT_GRAPHMOL_EXPORT void canonicalizeEnhancedStereo(ROMol &mol, const std::vector< unsigned int > *atomRanks=nullptr)
Canonicalizes the atom stereo labels in enhanced stereo groups.
RDKIT_GRAPHMOL_EXPORT void canonicalizeFragment(ROMol &mol, int atomIdx, std::vector< AtomColors > &colors, const std::vector< unsigned int > &ranks, MolStack &molStack, const boost::dynamic_bitset<> *bondsInPlay=nullptr, const std::vector< std::string > *bondSymbols=nullptr, bool doIsomericSmiles=false, bool doRandom=false, bool doChiralInversions=true)
constructs the canonical traversal order for a molecular fragment
AtomColors
used in traversals of the molecule
@ GREY_NODE
visited, but not finished
@ BLACK_NODE
visited and finished
const int MAX_NATOMS
used in the canonical traversal code
bool rdvalue_is(const RDValue_cast_t)
used to store components in the molecular stack