![]() |
RDKit
Open-source cheminformatics and machine learning.
|
Classes | |
class | AtomCompareFunctor |
struct | bondholder |
class | canon_atom |
class | ChiralAtomCompareFunctor |
class | MolStackElem |
these are the actual elements in the molecular stack More... | |
union | MolStackUnion |
used to store components in the molecular stack More... | |
class | SpecialChiralityAtomCompareFunctor |
class | SpecialSymmetryAtomCompareFunctor |
Typedefs | |
typedef std::vector< MolStackElem > | MolStack |
typedef boost::tuple< int, int, Bond * > | PossibleType |
used to represent possible branches from an atom More... | |
Enumerations | |
enum | AtomColors { WHITE_NODE = 0, GREY_NODE, BLACK_NODE } |
used in traversals of the molecule More... | |
enum | MolStackTypes { MOL_STACK_ATOM = 0, MOL_STACK_BOND, MOL_STACK_RING, MOL_STACK_BRANCH_OPEN, MOL_STACK_BRANCH_CLOSE } |
used to indicate types of entries in the molecular stack: More... | |
Functions | |
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=0, const std::vector< std::string > *bondSymbols=0, bool doIsomericSmiles=false, bool doRandom=false) |
constructs the canonical traversal order for a molecular fragment More... | |
RDKIT_GRAPHMOL_EXPORT bool | chiralAtomNeedsTagInversion (const RDKit::ROMol &mol, const RDKit::Atom *atom, bool isAtomFirst, size_t numClosures) |
RDKIT_GRAPHMOL_EXPORT void | updateAtomNeighborIndex (canon_atom *atoms, std::vector< bondholder > &nbrs) |
RDKIT_GRAPHMOL_EXPORT void | updateAtomNeighborNumSwaps (canon_atom *atoms, std::vector< bondholder > &nbrs, unsigned int atomIdx, std::vector< std::pair< unsigned int, unsigned int >> &result) |
template<typename CompareFunc > | |
void | RefinePartitions (const ROMol &mol, canon_atom *atoms, CompareFunc compar, int mode, int *order, int *count, int &activeset, int *next, int *changed, char *touchedPartitions) |
template<typename CompareFunc > | |
void | BreakTies (const ROMol &mol, canon_atom *atoms, CompareFunc compar, int mode, int *order, int *count, int &activeset, int *next, int *changed, char *touchedPartitions) |
RDKIT_GRAPHMOL_EXPORT void | CreateSinglePartition (unsigned int nAtoms, int *order, int *count, canon_atom *atoms) |
RDKIT_GRAPHMOL_EXPORT void | ActivatePartitions (unsigned int nAtoms, int *order, int *count, int &activeset, int *next, int *changed) |
RDKIT_GRAPHMOL_EXPORT void | rankMolAtoms (const ROMol &mol, std::vector< unsigned int > &res, bool breakTies=true, bool includeChirality=true, bool includeIsotopes=true) |
RDKIT_GRAPHMOL_EXPORT void | rankFragmentAtoms (const ROMol &mol, std::vector< unsigned int > &res, const boost::dynamic_bitset<> &atomsInPlay, const boost::dynamic_bitset<> &bondsInPlay, const std::vector< std::string > *atomSymbols=NULL, bool breakTies=true, bool includeChirality=true, bool includeIsotopes=true) |
RDKIT_GRAPHMOL_EXPORT void | chiralRankMolAtoms (const ROMol &mol, std::vector< unsigned int > &res) |
RDKIT_GRAPHMOL_EXPORT void | initCanonAtoms (const ROMol &mol, std::vector< Canon::canon_atom > &atoms, bool includeChirality=true) |
Variables | |
const int | MAX_NATOMS = 5000 |
used in the canonical traversal code More... | |
const int | MAX_CYCLES = 1000 |
used in the canonical traversal code More... | |
const int | MAX_BONDTYPE = 32 |
used in the canonical traversal code More... | |
const unsigned int | ATNUM_CLASS_OFFSET = 10000 |
typedef std::vector<MolStackElem> RDKit::Canon::MolStack |
typedef boost::tuple<int, int, Bond *> RDKit::Canon::PossibleType |
RDKIT_GRAPHMOL_EXPORT void RDKit::Canon::ActivatePartitions | ( | unsigned int | nAtoms, |
int * | order, | ||
int * | count, | ||
int & | activeset, | ||
int * | next, | ||
int * | changed | ||
) |
void RDKit::Canon::BreakTies | ( | const ROMol & | mol, |
canon_atom * | atoms, | ||
CompareFunc | compar, | ||
int | mode, | ||
int * | order, | ||
int * | count, | ||
int & | activeset, | ||
int * | next, | ||
int * | changed, | ||
char * | touchedPartitions | ||
) |
Definition at line 659 of file new_canon.h.
References RDKit::Canon::canon_atom::degree, RDKit::ROMol::getNumAtoms(), RDKit::Canon::canon_atom::index, RDKit::Canon::canon_atom::nbrIds, and RefinePartitions().
RDKIT_GRAPHMOL_EXPORT void RDKit::Canon::canonicalizeFragment | ( | ROMol & | mol, |
int | atomIdx, | ||
std::vector< AtomColors > & | colors, | ||
const std::vector< unsigned int > & | ranks, | ||
MolStack & | molStack, | ||
const boost::dynamic_bitset<> * | bondsInPlay = 0 , |
||
const std::vector< std::string > * | bondSymbols = 0 , |
||
bool | doIsomericSmiles = false , |
||
bool | doRandom = false |
||
) |
constructs the canonical traversal order for a molecular fragment
mol | the ROMol we're working on |
atomIdx | the index of the atom to start the traversal from |
colors | the traversal status of each atom in mol |
ranks | the assigned rank of each atom in mol |
molStack | the current traversal stack (used to return the results) |
Notes
mol
will, in general, be modified by this operation as bond directions and the like are changed to fit the canonical traversal order RDKIT_GRAPHMOL_EXPORT bool RDKit::Canon::chiralAtomNeedsTagInversion | ( | const RDKit::ROMol & | mol, |
const RDKit::Atom * | atom, | ||
bool | isAtomFirst, | ||
size_t | numClosures | ||
) |
Check if a chiral atom needs to have its tag flipped after reading or before writing SMILES
RDKIT_GRAPHMOL_EXPORT void RDKit::Canon::chiralRankMolAtoms | ( | const ROMol & | mol, |
std::vector< unsigned int > & | res | ||
) |
RDKIT_GRAPHMOL_EXPORT void RDKit::Canon::CreateSinglePartition | ( | unsigned int | nAtoms, |
int * | order, | ||
int * | count, | ||
canon_atom * | atoms | ||
) |
RDKIT_GRAPHMOL_EXPORT void RDKit::Canon::initCanonAtoms | ( | const ROMol & | mol, |
std::vector< Canon::canon_atom > & | atoms, | ||
bool | includeChirality = true |
||
) |
RDKIT_GRAPHMOL_EXPORT void RDKit::Canon::rankFragmentAtoms | ( | const ROMol & | mol, |
std::vector< unsigned int > & | res, | ||
const boost::dynamic_bitset<> & | atomsInPlay, | ||
const boost::dynamic_bitset<> & | bondsInPlay, | ||
const std::vector< std::string > * | atomSymbols = NULL , |
||
bool | breakTies = true , |
||
bool | includeChirality = true , |
||
bool | includeIsotopes = true |
||
) |
RDKIT_GRAPHMOL_EXPORT void RDKit::Canon::rankMolAtoms | ( | const ROMol & | mol, |
std::vector< unsigned int > & | res, | ||
bool | breakTies = true , |
||
bool | includeChirality = true , |
||
bool | includeIsotopes = true |
||
) |
void RDKit::Canon::RefinePartitions | ( | const ROMol & | mol, |
canon_atom * | atoms, | ||
CompareFunc | compar, | ||
int | mode, | ||
int * | order, | ||
int * | count, | ||
int & | activeset, | ||
int * | next, | ||
int * | changed, | ||
char * | touchedPartitions | ||
) |
Definition at line 564 of file new_canon.h.
References RDKit::Canon::canon_atom::degree, RDKit::ROMol::getNumAtoms(), RDKit::hanoisort(), RDKit::Canon::canon_atom::index, and RDKit::Canon::canon_atom::nbrIds.
Referenced by BreakTies().
RDKIT_GRAPHMOL_EXPORT void RDKit::Canon::updateAtomNeighborIndex | ( | canon_atom * | atoms, |
std::vector< bondholder > & | nbrs | ||
) |
RDKIT_GRAPHMOL_EXPORT void RDKit::Canon::updateAtomNeighborNumSwaps | ( | canon_atom * | atoms, |
std::vector< bondholder > & | nbrs, | ||
unsigned int | atomIdx, | ||
std::vector< std::pair< unsigned int, unsigned int >> & | result | ||
) |
const unsigned int RDKit::Canon::ATNUM_CLASS_OFFSET = 10000 |
Definition at line 446 of file new_canon.h.
Referenced by RDKit::Canon::ChiralAtomCompareFunctor::operator()().
const int RDKit::Canon::MAX_BONDTYPE = 32 |
const int RDKit::Canon::MAX_CYCLES = 1000 |