RDKit
Open-source cheminformatics and machine learning.
|
#include <ROMol.h>
Public Member Functions | |
CXXAtomIterator< MolGraph, Atom * > | atoms () |
C++11 Range iterator. | |
CXXAtomIterator< const MolGraph, Atom *const > | atoms () const |
CXXAtomIterator< const MolGraph, Atom *const, MolGraph::adjacency_iterator > | atomNeighbors (Atom const *at) const |
CXXAtomIterator< MolGraph, Atom *, MolGraph::adjacency_iterator > | atomNeighbors (Atom const *at) |
CXXBondIterator< const MolGraph, Bond *const, MolGraph::out_edge_iterator > | atomBonds (Atom const *at) const |
CXXBondIterator< MolGraph, Bond *, MolGraph::out_edge_iterator > | atomBonds (Atom const *at) |
CXXBondIterator< MolGraph, Bond * > | bonds () |
CXXBondIterator< const MolGraph, Bond *const > | bonds () const |
ROMol () | |
ROMol (const ROMol &other, bool quickCopy=false, int confId=-1) | |
copy constructor with a twist | |
ROMol (const std::string &binStr) | |
construct a molecule from a pickle string | |
ROMol (const std::string &binStr, unsigned int propertyFlags) | |
construct a molecule from a pickle string | |
ROMol (ROMol &&o) noexcept | |
ROMol & | operator= (ROMol &&o) noexcept |
ROMol & | operator= (const ROMol &)=delete |
virtual | ~ROMol () |
Atom * | operator[] (const vertex_descriptor &v) |
const Atom * | operator[] (const vertex_descriptor &v) const |
Bond * | operator[] (const edge_descriptor &e) |
const Bond * | operator[] (const edge_descriptor &e) const |
const std::vector< StereoGroup > & | getStereoGroups () const |
Gets a reference to the groups of atoms with relative stereochemistry. | |
void | setStereoGroups (std::vector< StereoGroup > stereo_groups) |
Sets groups of atoms with relative stereochemistry. | |
Atoms | |
unsigned int | getNumAtoms () const |
returns our number of atoms | |
unsigned int | getNumAtoms (bool onlyExplicit) const |
unsigned int | getNumHeavyAtoms () const |
returns our number of heavy atoms (atomic number > 1) | |
Atom * | getAtomWithIdx (unsigned int idx) |
returns a pointer to a particular Atom | |
const Atom * | getAtomWithIdx (unsigned int idx) const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
template<class U > | |
Atom * | getAtomWithIdx (const U idx) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
template<class U > | |
const Atom * | getAtomWithIdx (const U idx) const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
unsigned int | getAtomDegree (const Atom *at) const |
returns the degree (number of neighbors) of an Atom in the graph | |
Bonds | |
unsigned int | getNumBonds (bool onlyHeavy=1) const |
returns our number of Bonds | |
Bond * | getBondWithIdx (unsigned int idx) |
returns a pointer to a particular Bond | |
const Bond * | getBondWithIdx (unsigned int idx) const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
template<class U > | |
Bond * | getBondWithIdx (const U idx) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
template<class U > | |
const Bond * | getBondWithIdx (const U idx) const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
Bond * | getBondBetweenAtoms (unsigned int idx1, unsigned int idx2) |
returns a pointer to the bond between two atoms, Null on failure | |
const Bond * | getBondBetweenAtoms (unsigned int idx1, unsigned int idx2) const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
template<class U , class V > | |
Bond * | getBondBetweenAtoms (const U idx1, const V idx2) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
template<class U , class V > | |
const Bond * | getBondBetweenAtoms (const U idx1, const V idx2) const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
Bookmarks | |
void | setAtomBookmark (Atom *at, int mark) |
associates an Atom pointer with a bookmark | |
void | replaceAtomBookmark (Atom *at, int mark) |
associates an Atom pointer with a bookmark | |
Atom * | getAtomWithBookmark (int mark) |
returns the first Atom associated with the bookmark provided | |
Atom * | getUniqueAtomWithBookmark (int mark) |
ATOM_PTR_LIST & | getAllAtomsWithBookmark (int mark) |
returns all Atoms associated with the bookmark provided | |
void | clearAtomBookmark (int mark) |
removes a bookmark from our collection | |
void | clearAtomBookmark (int mark, const Atom *atom) |
removes a particular Atom from the list associated with the bookmark | |
void | clearAllAtomBookmarks () |
blows out all atomic bookmarks | |
bool | hasAtomBookmark (int mark) const |
queries whether or not any atoms are associated with a bookmark | |
ATOM_BOOKMARK_MAP * | getAtomBookmarks () |
returns a pointer to all of our atom bookmarks | |
void | setBondBookmark (Bond *bond, int mark) |
associates a Bond pointer with a bookmark | |
Bond * | getBondWithBookmark (int mark) |
returns the first Bond associated with the bookmark provided | |
Bond * | getUniqueBondWithBookmark (int mark) |
BOND_PTR_LIST & | getAllBondsWithBookmark (int mark) |
returns all bonds associated with the bookmark provided | |
void | clearBondBookmark (int mark) |
removes a bookmark from our collection | |
void | clearBondBookmark (int mark, const Bond *bond) |
removes a particular Bond from the list associated with the bookmark | |
void | clearAllBondBookmarks () |
blows out all bond bookmarks | |
bool | hasBondBookmark (int mark) const |
queries whether or not any bonds are associated with a bookmark | |
BOND_BOOKMARK_MAP * | getBondBookmarks () |
returns a pointer to all of our bond bookmarks | |
Conformers | |
const Conformer & | getConformer (int id=-1) const |
Conformer & | getConformer (int id=-1) |
void | removeConformer (unsigned int id) |
Delete the conformation with the specified ID. | |
void | clearConformers () |
Clear all the conformations on the molecule. | |
unsigned int | addConformer (Conformer *conf, bool assignId=false) |
Add a new conformation to the molecule. | |
unsigned int | getNumConformers () const |
Topology | |
RingInfo * | getRingInfo () const |
ADJ_ITER_PAIR | getAtomNeighbors (Atom const *at) const |
provides access to all neighbors around an Atom | |
OBOND_ITER_PAIR | getAtomBonds (Atom const *at) const |
provides access to all Bond objects connected to an Atom | |
ATOM_ITER_PAIR | getVertices () |
returns an iterator pair for looping over all Atoms | |
BOND_ITER_PAIR | getEdges () |
returns an iterator pair for looping over all Bonds | |
ATOM_ITER_PAIR | getVertices () const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
BOND_ITER_PAIR | getEdges () const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
MolGraph const & | getTopology () const |
brief returns a pointer to our underlying BGL object | |
Iterators | |
AtomIterator | beginAtoms () |
get an AtomIterator pointing at our first Atom | |
ConstAtomIterator | beginAtoms () const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
AtomIterator | endAtoms () |
get an AtomIterator pointing at the end of our Atoms | |
ConstAtomIterator | endAtoms () const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
BondIterator | beginBonds () |
get a BondIterator pointing at our first Bond | |
ConstBondIterator | beginBonds () const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
BondIterator | endBonds () |
get a BondIterator pointing at the end of our Bonds | |
ConstBondIterator | endBonds () const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
AromaticAtomIterator | beginAromaticAtoms () |
get an AtomIterator pointing at our first aromatic Atom | |
ConstAromaticAtomIterator | beginAromaticAtoms () const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
AromaticAtomIterator | endAromaticAtoms () |
get an AtomIterator pointing at the end of our Atoms | |
ConstAromaticAtomIterator | endAromaticAtoms () const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
HeteroatomIterator | beginHeteros () |
get an AtomIterator pointing at our first hetero Atom | |
ConstHeteroatomIterator | beginHeteros () const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
HeteroatomIterator | endHeteros () |
get an AtomIterator pointing at the end of our Atoms | |
ConstHeteroatomIterator | endHeteros () const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
bool | hasQuery () const |
if the Mol has any Query atoms or bonds | |
QueryAtomIterator | beginQueryAtoms (QueryAtom const *query) |
get an AtomIterator pointing at our first Atom that matches query | |
ConstQueryAtomIterator | beginQueryAtoms (QueryAtom const *) const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
QueryAtomIterator | endQueryAtoms () |
get an AtomIterator pointing at the end of our Atoms | |
ConstQueryAtomIterator | endQueryAtoms () const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
MatchingAtomIterator | beginMatchingAtoms (bool(*query)(Atom *)) |
get an AtomIterator pointing at our first Atom that matches query | |
ConstMatchingAtomIterator | beginMatchingAtoms (bool(*query)(const Atom *)) const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
MatchingAtomIterator | endMatchingAtoms () |
get an AtomIterator pointing at the end of our Atoms | |
ConstMatchingAtomIterator | endMatchingAtoms () const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
ConformerIterator | beginConformers () |
ConformerIterator | endConformers () |
ConstConformerIterator | beginConformers () const |
ConstConformerIterator | endConformers () const |
Properties | |
void | clearComputedProps (bool includeRings=true) const |
clears all of our computed properties | |
void | updatePropertyCache (bool strict=true) |
calculates any of our lazy properties | |
bool | needsUpdatePropertyCache () const |
Misc | |
sends some debugging info to a stream | |
void | debugMol (std::ostream &str) const |
Public Member Functions inherited from RDKit::RDProps | |
RDProps () | |
RDProps (const RDProps &rhs) | |
RDProps & | operator= (const RDProps &rhs) |
RDProps (RDProps &&o) noexcept=default | |
RDProps & | operator= (RDProps &&rhs) noexcept=default |
void | clear () |
const Dict & | getDict () const |
gets the underlying Dictionary | |
Dict & | getDict () |
STR_VECT | getPropList (bool includePrivate=true, bool includeComputed=true) const |
returns a list with the names of our properties | |
template<typename T > | |
void | setProp (const std::string &key, T val, bool computed=false) const |
sets a property value | |
template<typename T > | |
void | getProp (const std::string &key, T &res) const |
allows retrieval of a particular property value | |
template<typename T > | |
T | getProp (const std::string &key) const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
template<typename T > | |
bool | getPropIfPresent (const std::string &key, T &res) const |
bool | hasProp (const std::string &key) const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
void | clearProp (const std::string &key) const |
clears the value of a property | |
void | clearComputedProps () const |
clears all of our computed properties | |
void | updateProps (const RDProps &source, bool preserveExisting=false) |
update the properties from another | |
Protected Attributes | |
unsigned int | numBonds {0} |
Protected Attributes inherited from RDKit::RDProps | |
Dict | d_props |
Friends | |
class | MolPickler |
class | RWMol |
RDKIT_GRAPHMOL_EXPORT std::vector< SubstanceGroup > & | getSubstanceGroups (ROMol &) |
RDKIT_GRAPHMOL_EXPORT const std::vector< SubstanceGroup > & | getSubstanceGroups (const ROMol &) |
copy constructor with a twist
other | the molecule to be copied |
quickCopy | (optional) if this is true, the resulting ROMol will not copy any of the properties or bookmarks and conformers from other . This can make the copy substantially faster (thus the name). |
confId | (optional) if this is >=0, the resulting ROMol will contain only the specified conformer from other . |
RDKit::ROMol::ROMol | ( | const std::string & | binStr | ) |
construct a molecule from a pickle string
construct a molecule from a pickle string
|
inlinenoexcept |
Definition at line 346 of file ROMol.h.
References RDKit::RDProps::clear().
Add a new conformation to the molecule.
conf | - conformation to be added to the molecule, this molecule takes ownership of the conformer |
assignId | - a unique ID will be assigned to the conformation if true otherwise it is assumed that the conformation already has an (unique) ID set |
|
inline |
|
inline |
|
inline |
C++11 Range iterator.
Usage
Definition at line 277 of file ROMol.h.
Referenced by RDKit::MolDraw2D_detail::addAtomIndices(), and RDKit::FileParserUtils::getAtomPropertyList().
|
inline |
AromaticAtomIterator RDKit::ROMol::beginAromaticAtoms | ( | ) |
get an AtomIterator pointing at our first aromatic Atom
ConstAromaticAtomIterator RDKit::ROMol::beginAromaticAtoms | ( | ) | const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
AtomIterator RDKit::ROMol::beginAtoms | ( | ) |
get an AtomIterator pointing at our first Atom
ConstAtomIterator RDKit::ROMol::beginAtoms | ( | ) | const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
BondIterator RDKit::ROMol::beginBonds | ( | ) |
get a BondIterator pointing at our first Bond
ConstBondIterator RDKit::ROMol::beginBonds | ( | ) | const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
inline |
Definition at line 743 of file ROMol.h.
Referenced by RDKit::ForceFieldsHelper::detail::OptimizeMoleculeConfsST().
|
inline |
HeteroatomIterator RDKit::ROMol::beginHeteros | ( | ) |
get an AtomIterator pointing at our first hetero Atom
ConstHeteroatomIterator RDKit::ROMol::beginHeteros | ( | ) | const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
MatchingAtomIterator RDKit::ROMol::beginMatchingAtoms | ( | bool(*)(Atom *) | query | ) |
get an AtomIterator pointing at our first Atom that matches query
ConstMatchingAtomIterator RDKit::ROMol::beginMatchingAtoms | ( | bool(*)(const Atom *) | query | ) | const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
ConstQueryAtomIterator RDKit::ROMol::beginQueryAtoms | ( | QueryAtom const * | ) | const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
QueryAtomIterator RDKit::ROMol::beginQueryAtoms | ( | QueryAtom const * | query | ) |
get an AtomIterator pointing at our first Atom that matches query
|
inline |
Usage
Definition at line 316 of file ROMol.h.
Referenced by RDKit::MolDraw2D_detail::addBondIndices().
|
inline |
|
inline |
|
inline |
removes a particular Atom from the list associated with the bookmark
removes a particular Bond from the list associated with the bookmark
clears all of our computed
properties
|
inline |
void RDKit::ROMol::debugMol | ( | std::ostream & | str | ) | const |
AromaticAtomIterator RDKit::ROMol::endAromaticAtoms | ( | ) |
get an AtomIterator pointing at the end of our Atoms
ConstAromaticAtomIterator RDKit::ROMol::endAromaticAtoms | ( | ) | const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
AtomIterator RDKit::ROMol::endAtoms | ( | ) |
get an AtomIterator pointing at the end of our Atoms
ConstAtomIterator RDKit::ROMol::endAtoms | ( | ) | const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
BondIterator RDKit::ROMol::endBonds | ( | ) |
get a BondIterator pointing at the end of our Bonds
ConstBondIterator RDKit::ROMol::endBonds | ( | ) | const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
inline |
Definition at line 745 of file ROMol.h.
Referenced by RDKit::ForceFieldsHelper::detail::OptimizeMoleculeConfsST().
|
inline |
HeteroatomIterator RDKit::ROMol::endHeteros | ( | ) |
get an AtomIterator pointing at the end of our Atoms
ConstHeteroatomIterator RDKit::ROMol::endHeteros | ( | ) | const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
MatchingAtomIterator RDKit::ROMol::endMatchingAtoms | ( | ) |
get an AtomIterator pointing at the end of our Atoms
ConstMatchingAtomIterator RDKit::ROMol::endMatchingAtoms | ( | ) | const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
QueryAtomIterator RDKit::ROMol::endQueryAtoms | ( | ) |
get an AtomIterator pointing at the end of our Atoms
ConstQueryAtomIterator RDKit::ROMol::endQueryAtoms | ( | ) | const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
ATOM_PTR_LIST & RDKit::ROMol::getAllAtomsWithBookmark | ( | int | mark | ) |
returns all Atoms associated with the bookmark
provided
BOND_PTR_LIST & RDKit::ROMol::getAllBondsWithBookmark | ( | int | mark | ) |
returns all bonds associated with the bookmark
provided
OBOND_ITER_PAIR RDKit::ROMol::getAtomBonds | ( | Atom const * | at | ) | const |
provides access to all Bond objects connected to an Atom
at | the atom whose neighbors we are looking for |
Usage
or, if you need a non-const Bond *:
Referenced by RDKit::queryAtomHasRingBond(), and RDKit::queryAtomRingBondCount().
|
inline |
returns the degree (number of neighbors) of an Atom in the graph
ADJ_ITER_PAIR RDKit::ROMol::getAtomNeighbors | ( | Atom const * | at | ) | const |
provides access to all neighbors around an Atom
at | the atom whose neighbors we are looking for |
Usage
Referenced by RDKit::queryAtomHasAliphaticHeteroatomNbrs(), RDKit::queryAtomHasHeteroatomNbrs(), RDKit::queryAtomHeavyAtomDegree(), RDKit::queryAtomNonHydrogenDegree(), RDKit::queryAtomNumAliphaticHeteroatomNbrs(), and RDKit::queryAtomNumHeteroatomNbrs().
returns the first Atom associated with the bookmark
provided
returns a pointer to a particular Atom
Referenced by RDKit::FileParserUtils::applyMolListPropToAtoms().
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
returns a pointer to the bond between two atoms, Null on failure
Referenced by RDKit::MolEnumerator::utils::getMolLinkNodes().
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
inline |
returns the first Bond associated with the bookmark
provided
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
return the conformer with a specified ID if the ID is negative the first conformation will be returned
return the conformer with a specified ID if the ID is negative the first conformation will be returned
Referenced by RDKit::ForceFieldsHelper::createEmptyForceFieldForMol().
BOND_ITER_PAIR RDKit::ROMol::getEdges | ( | ) |
BOND_ITER_PAIR RDKit::ROMol::getEdges | ( | ) | const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
returns our number of atoms
Definition at line 421 of file ROMol.h.
Referenced by RDKit::FileParserUtils::applyMolListPropToAtoms(), RDKit::Canon::BreakTies(), RDKit::FMCS::TargetMatch::init(), RDKit::ForceFieldsHelper::detail::OptimizeMoleculeConfsST(), and RDKit::Canon::RefinePartitions().
returns our number of Bonds
Referenced by RDKit::FMCS::TargetMatch::init().
Definition at line 568 of file ROMol.h.
Referenced by RDKit::MMFF::MMFFOptimizeMoleculeConfs(), RDKit::ForceFieldsHelper::OptimizeMoleculeConfs(), and RDKit::ForceFieldsHelper::detail::OptimizeMoleculeConfsST().
returns our number of heavy atoms (atomic number > 1)
|
inline |
returns a pointer to our RingInfo structure Note: the client should not delete this.
Definition at line 577 of file ROMol.h.
Referenced by RDKit::queryAtomHasRingBond(), RDKit::queryAtomIsInRingOfSize(), RDKit::queryAtomMinRingSize(), RDKit::queryAtomRingBondCount(), RDKit::queryAtomRingMembership(), RDKit::queryBondIsInRingOfSize(), RDKit::queryBondMinRingSize(), RDKit::queryIsAtomInNRings(), RDKit::queryIsAtomInRing(), RDKit::queryIsBondInNRings(), and RDKit::queryIsBondInRing().
|
inline |
brief returns a pointer to our underlying BGL object
This can be useful if you need to call other BGL algorithms:
Here's an example:
Definition at line 680 of file ROMol.h.
Referenced by RDKit::queryAtomHasRingBond(), and RDKit::queryAtomRingBondCount().
returns the Atom associated with the bookmark
provided a check is made to ensure it is the only atom with that bookmark
returns the Bond associated with the bookmark
provided a check is made to ensure it is the only bond with that bookmark
ATOM_ITER_PAIR RDKit::ROMol::getVertices | ( | ) |
ATOM_ITER_PAIR RDKit::ROMol::getVertices | ( | ) | const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
bool RDKit::ROMol::hasQuery | ( | ) | const |
if the Mol has any Query atoms or bonds
bool RDKit::ROMol::needsUpdatePropertyCache | ( | ) | const |
|
inline |
|
inline |
|
inline |
|
inline |
Delete the conformation with the specified ID.
void RDKit::ROMol::setStereoGroups | ( | std::vector< StereoGroup > | stereo_groups | ) |
Sets groups of atoms with relative stereochemistry.
stereo_groups | the new set of stereo groups. All will be replaced. |
Stereo groups are also called enhanced stereochemistry in the SDF/Mol3000 file format. stereo_groups should be std::move()ed into this function.
calculates any of our lazy properties
Notes:
updatePropertyCache()
on each of our Atoms and Bonds
|
friend |
|
friend |
|
friend |