#include <ROMol.h>

Public Member Functions | |
| ROMol () | |
| ROMol (const ROMol &other, bool quickCopy=false) | |
| copy constructor with a twist | |
| ROMol (const std::string &binStr) | |
| construct a molecule from a pickle string | |
| virtual | ~ROMol () |
| ATOM_SPTR | operator[] (const vertex_descriptor &v) |
| const ATOM_SPTR | operator[] (const vertex_descriptor &v) const |
| BOND_SPTR | operator[] (const edge_descriptor &e) |
| const BOND_SPTR | operator[] (const edge_descriptor &e) const |
Atoms | |
| unsigned int | getNumAtoms (bool onlyHeavy=1) const |
| returns our number of Atoms | |
| Atom * | getAtomWithIdx (unsigned int idx) |
| returns a pointer to a particular Atom | |
| const Atom * | getAtomWithIdx (unsigned int idx) const |
| unsigned int | getAtomDegree (const Atom *at) const |
| returns the degree (number of neighbors) of an Atom in the graph | |
| unsigned int | getAtomDegree (ATOM_SPTR at) const |
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 |
| 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 |
Bookmarks | |
| void | setAtomBookmark (ATOM_SPTR at, int mark) |
| associates an Atom pointer with a bookmark | |
| void | setAtomBookmark (Atom *at, int mark) |
| Atom * | getAtomWithBookmark (int mark) |
returns the first Atom associated with the bookmark provided | |
| ATOM_PTR_LIST & | getAllAtomsWithBookmark (int mark) |
returns all Atoms associated with the bookmark provided | |
| void | clearAtomBookmark (const int mark) |
removes a bookmark from our collection | |
| void | clearAtomBookmark (const int mark, const Atom *atom) |
removes a particular Atom from the list associated with the bookmark | |
| void | clearAtomBookmark (const int mark, ATOM_SPTR atom) |
| 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_SPTR bond, int mark) |
| associates a Bond pointer with a bookmark | |
| void | setBondBookmark (Bond *bond, int mark) |
| Bond * | getBondWithBookmark (int mark) |
returns the first Bond associated with the bookmark provided | |
| 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 | clearBondBookmark (int mark, BOND_SPTR bond) |
| 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 | |
| ADJ_ITER_PAIR | getAtomNeighbors (ATOM_SPTR at) const |
| 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 |
| BOND_ITER_PAIR | getEdges () const |
| 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 |
| AtomIterator | endAtoms () |
| get an AtomIterator pointing at the end of our Atoms | |
| ConstAtomIterator | endAtoms () const |
| BondIterator | beginBonds () |
| get a BondIterator pointing at our first Bond | |
| ConstBondIterator | beginBonds () const |
| BondIterator | endBonds () |
| get a BondIterator pointing at the end of our Bonds | |
| ConstBondIterator | endBonds () const |
| AromaticAtomIterator | beginAromaticAtoms () |
| get an AtomIterator pointing at our first aromatic Atom | |
| ConstAromaticAtomIterator | beginAromaticAtoms () const |
| AromaticAtomIterator | endAromaticAtoms () |
| get an AtomIterator pointing at the end of our Atoms | |
| ConstAromaticAtomIterator | endAromaticAtoms () const |
| HeteroatomIterator | beginHeteros () |
| get an AtomIterator pointing at our first hetero Atom | |
| ConstHeteroatomIterator | beginHeteros () const |
| HeteroatomIterator | endHeteros () |
| get an AtomIterator pointing at the end of our Atoms | |
| ConstHeteroatomIterator | endHeteros () const |
| QueryAtomIterator | beginQueryAtoms (QueryAtom const *query) |
get an AtomIterator pointing at our first Atom that matches query | |
| ConstQueryAtomIterator | beginQueryAtoms (QueryAtom const *) const |
| QueryAtomIterator | endQueryAtoms () |
| gte an AtomIterator pointing at the end of our Atoms | |
| ConstQueryAtomIterator | endQueryAtoms () const |
| ConformerIterator | beginConformers () |
| ConformerIterator | endConformers () |
| ConstConformerIterator | beginConformers () const |
| ConstConformerIterator | endConformers () const |
Properties | |
| 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 char *key, T val, bool computed=false) const |
sets a property value | |
| template<typename T> | |
| void | setProp (const std::string key, T val, bool computed=false) const |
| template<typename T> | |
| void | getProp (const char *key, T &res) const |
| allows retrieval of a particular property value | |
| template<typename T> | |
| void | getProp (const std::string key, T &res) const |
| bool | hasProp (const char *key) const |
returns whether or not we have a property with name key | |
| bool | hasProp (const std::string key) const |
| void | clearProp (const char *key) const |
clears the value of a property | |
| void | clearProp (const std::string key) const |
| void | clearComputedProps (bool includeRings=true) const |
clears all of our computed properties | |
| void | updatePropertyCache (bool strict=true) |
calculates any of our lazy properties | |
Misc | |
| void | debugMol (std::ostream &str) const |
| sends some debugging info to a stream | |
Friends | |
| class | MolPickler |
| class | RWMol |
This is the primary class for most molecule operations.
If you need to be manipulating the molecule (e.g. adding or deleting atoms or bonds, use an RWMol instead.
Notes:
properties: property is keyed by name and can store an arbitrary type.Properties can be marked as calculated, in which case they will be cleared when the clearComputedProps() method is called.property operations are const, this allows extra flexibility for clients who need to store extra data on ROMol objects.
bookmarks for Atoms and Bonds:
Definition at line 98 of file ROMol.h.
| RDKit::ROMol::ROMol | ( | const ROMol & | other, | |
| bool | quickCopy = false | |||
| ) | [inline] |
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). |
| RDKit::ROMol::ROMol | ( | const std::string & | binStr | ) |
construct a molecule from a pickle string
| unsigned int RDKit::ROMol::getNumAtoms | ( | bool | onlyHeavy = 1 |
) | const |
| Atom* RDKit::ROMol::getAtomWithIdx | ( | unsigned int | idx | ) |
| const Atom* RDKit::ROMol::getAtomWithIdx | ( | unsigned int | idx | ) | const |
| unsigned int RDKit::ROMol::getAtomDegree | ( | const Atom * | at | ) | const |
returns the degree (number of neighbors) of an Atom in the graph
| unsigned int RDKit::ROMol::getAtomDegree | ( | ATOM_SPTR | at | ) | const |
| unsigned int RDKit::ROMol::getNumBonds | ( | bool | onlyHeavy = 1 |
) | const |
| const Bond* RDKit::ROMol::getBondWithIdx | ( | unsigned int | idx | ) | const |
| Bond* RDKit::ROMol::getBondBetweenAtoms | ( | unsigned int | idx1, | |
| unsigned int | idx2 | |||
| ) |
returns a pointer to the bond between two atoms, Null on failure
| const Bond* RDKit::ROMol::getBondBetweenAtoms | ( | unsigned int | idx1, | |
| unsigned int | idx2 | |||
| ) | const |
| void RDKit::ROMol::setAtomBookmark | ( | ATOM_SPTR | at, | |
| int | mark | |||
| ) | [inline] |
associates an Atom pointer with a bookmark
Definition at line 219 of file ROMol.h.
Referenced by RDKit::SLNParse::bookmarkAtomID().
| void RDKit::ROMol::setAtomBookmark | ( | Atom * | at, | |
| int | mark | |||
| ) | [inline] |
| Atom* RDKit::ROMol::getAtomWithBookmark | ( | int | mark | ) |
returns the first Atom associated with the bookmark provided
| ATOM_PTR_LIST& RDKit::ROMol::getAllAtomsWithBookmark | ( | int | mark | ) |
returns all Atoms associated with the bookmark provided
| void RDKit::ROMol::clearAtomBookmark | ( | const int | mark | ) |
| void RDKit::ROMol::clearAtomBookmark | ( | const int | mark, | |
| const Atom * | atom | |||
| ) |
removes a particular Atom from the list associated with the bookmark
| void RDKit::ROMol::clearAtomBookmark | ( | const int | mark, | |
| ATOM_SPTR | atom | |||
| ) | [inline] |
| void RDKit::ROMol::clearAllAtomBookmarks | ( | ) | [inline] |
| bool RDKit::ROMol::hasAtomBookmark | ( | int | mark | ) | const [inline] |
queries whether or not any atoms are associated with a bookmark
Definition at line 235 of file ROMol.h.
Referenced by RDKit::SLNParse::bookmarkAtomID().
| ATOM_BOOKMARK_MAP* RDKit::ROMol::getAtomBookmarks | ( | ) | [inline] |
| void RDKit::ROMol::setBondBookmark | ( | BOND_SPTR | bond, | |
| int | mark | |||
| ) | [inline] |
| void RDKit::ROMol::setBondBookmark | ( | Bond * | bond, | |
| int | mark | |||
| ) | [inline] |
| Bond* RDKit::ROMol::getBondWithBookmark | ( | int | mark | ) |
returns the first Bond associated with the bookmark provided
| BOND_PTR_LIST& RDKit::ROMol::getAllBondsWithBookmark | ( | int | mark | ) |
returns all bonds associated with the bookmark provided
| void RDKit::ROMol::clearBondBookmark | ( | int | mark | ) |
| void RDKit::ROMol::clearBondBookmark | ( | int | mark, | |
| const Bond * | bond | |||
| ) |
removes a particular Bond from the list associated with the bookmark
| void RDKit::ROMol::clearBondBookmark | ( | int | mark, | |
| BOND_SPTR | bond | |||
| ) | [inline] |
| void RDKit::ROMol::clearAllBondBookmarks | ( | ) | [inline] |
| bool RDKit::ROMol::hasBondBookmark | ( | int | mark | ) | const [inline] |
queries whether or not any bonds are associated with a bookmark
Definition at line 256 of file ROMol.h.
Referenced by RDKit::SLNParse::bookmarkAtomID().
| BOND_BOOKMARK_MAP* RDKit::ROMol::getBondBookmarks | ( | ) | [inline] |
| const Conformer& RDKit::ROMol::getConformer | ( | int | id = -1 |
) | const |
return the conformer with a specified ID if the ID is negative the first conformation will be returned
| Conformer& RDKit::ROMol::getConformer | ( | int | id = -1 |
) |
return the conformer with a specified ID if the ID is negative the first conformation will be returned
| void RDKit::ROMol::removeConformer | ( | unsigned int | id | ) |
Delete the conformation with the specified ID.
| void RDKit::ROMol::clearConformers | ( | ) | [inline] |
| unsigned int RDKit::ROMol::addConformer | ( | Conformer * | conf, | |
| bool | assignId = false | |||
| ) |
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 the conformation if true otherwise it is assumed that the conformation already has an (unique) ID set |
| unsigned int RDKit::ROMol::getNumConformers | ( | ) | const [inline] |
| RingInfo* RDKit::ROMol::getRingInfo | ( | ) | const [inline] |
returns a pointer to our RingInfo structure Note: the client should not delete this.
Definition at line 301 of file ROMol.h.
Referenced by RDKit::queryAtomIsInRingOfSize(), RDKit::queryAtomMinRingSize(), RDKit::queryAtomRingBondCount(), RDKit::queryAtomRingMembership(), RDKit::queryBondIsInRingOfSize(), RDKit::queryBondMinRingSize(), RDKit::queryIsAtomInNRings(), RDKit::queryIsAtomInRing(), RDKit::queryIsBondInNRings(), and RDKit::queryIsBondInRing().
| 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 |
| ADJ_ITER_PAIR RDKit::ROMol::getAtomNeighbors | ( | ATOM_SPTR | at | ) | const |
| 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 |
... molPtr is a const ROMol * ... ... atomPtr is a const Atom * ... ROMol::OEDGE_ITER beg,end; boost::tie(beg,end) = molPtr->getAtomBonds(atomPtr); while(beg!=end){ const BOND_SPTR bond=(*molPtr)[*beg]; ... do something with the Bond ... ++beg; }
... molPtr is a ROMol * ... ... atomPtr is a const Atom * ... ROMol::OEDGE_ITER beg,end; boost::tie(beg,end) = molPtr->getAtomBonds(atomPtr); while(beg!=end){ BOND_SPTR bond=(*molPtr)[*beg]; ... do something with the Bond ... ++beg; }
Referenced by RDKit::queryAtomRingBondCount().
| ATOM_ITER_PAIR RDKit::ROMol::getVertices | ( | ) |
returns an iterator pair for looping over all Atoms
Usage
ROMol::VERTEX_ITER atBegin,atEnd;
boost::tie(atBegin,atEnd) = mol.getVertices();
while(atBegin!=atEnd){
ATOM_SPTR at2=mol[*atBegin];
... do something with the Atom ...
++atBegin;
}
| BOND_ITER_PAIR RDKit::ROMol::getEdges | ( | ) |
returns an iterator pair for looping over all Bonds
Usage
ROMol::EDGE_ITER firstB,lastB;
boost::tie(firstB,lastB) = mol.getEdges();
while(firstB!=lastB){
BOND_SPTR bond = mol[*firstB];
... do something with the Bond ...
++firstB;
}
| ATOM_ITER_PAIR RDKit::ROMol::getVertices | ( | ) | const |
| BOND_ITER_PAIR RDKit::ROMol::getEdges | ( | ) | const |
| MolGraph const& RDKit::ROMol::getTopology | ( | ) | const [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:
... mol is a const ROMol ... ... mapping is an INT_VECT ... mapping.resize(mol.getNumAtoms()); const MolGraph &G_p = mol.getTopology(); int res = boost::connected_components(G_p,&mapping[0]);
Definition at line 408 of file ROMol.h.
Referenced by RDKit::queryAtomRingBondCount().
| AtomIterator RDKit::ROMol::beginAtoms | ( | ) |
get an AtomIterator pointing at our first Atom
| ConstAtomIterator RDKit::ROMol::beginAtoms | ( | ) | const |
| AtomIterator RDKit::ROMol::endAtoms | ( | ) |
get an AtomIterator pointing at the end of our Atoms
| ConstAtomIterator RDKit::ROMol::endAtoms | ( | ) | const |
| BondIterator RDKit::ROMol::beginBonds | ( | ) |
get a BondIterator pointing at our first Bond
| ConstBondIterator RDKit::ROMol::beginBonds | ( | ) | const |
| BondIterator RDKit::ROMol::endBonds | ( | ) |
get a BondIterator pointing at the end of our Bonds
| ConstBondIterator RDKit::ROMol::endBonds | ( | ) | const |
| AromaticAtomIterator RDKit::ROMol::beginAromaticAtoms | ( | ) |
get an AtomIterator pointing at our first aromatic Atom
| ConstAromaticAtomIterator RDKit::ROMol::beginAromaticAtoms | ( | ) | const |
| AromaticAtomIterator RDKit::ROMol::endAromaticAtoms | ( | ) |
get an AtomIterator pointing at the end of our Atoms
| ConstAromaticAtomIterator RDKit::ROMol::endAromaticAtoms | ( | ) | const |
| HeteroatomIterator RDKit::ROMol::beginHeteros | ( | ) |
get an AtomIterator pointing at our first hetero Atom
| ConstHeteroatomIterator RDKit::ROMol::beginHeteros | ( | ) | const |
| HeteroatomIterator RDKit::ROMol::endHeteros | ( | ) |
get an AtomIterator pointing at the end of our Atoms
| ConstHeteroatomIterator RDKit::ROMol::endHeteros | ( | ) | const |
| QueryAtomIterator RDKit::ROMol::beginQueryAtoms | ( | QueryAtom const * | query | ) |
get an AtomIterator pointing at our first Atom that matches query
| ConstQueryAtomIterator RDKit::ROMol::beginQueryAtoms | ( | QueryAtom const * | ) | const |
| QueryAtomIterator RDKit::ROMol::endQueryAtoms | ( | ) |
gte an AtomIterator pointing at the end of our Atoms
| ConstQueryAtomIterator RDKit::ROMol::endQueryAtoms | ( | ) | const |
| ConformerIterator RDKit::ROMol::beginConformers | ( | ) | [inline] |
| ConstConformerIterator RDKit::ROMol::beginConformers | ( | ) | const [inline] |
| ConstConformerIterator RDKit::ROMol::endConformers | ( | ) | const [inline] |
| STR_VECT RDKit::ROMol::getPropList | ( | bool | includePrivate = true, |
|
| bool | includeComputed = true | |||
| ) | const [inline] |
returns a list with the names of our properties
Definition at line 481 of file ROMol.h.
References getProp(), hasProp(), and RDKit::Dict::keys().
| void RDKit::ROMol::setProp | ( | const char * | key, | |
| T | val, | |||
| bool | computed = false | |||
| ) | const [inline] |
| void RDKit::ROMol::setProp | ( | const std::string | key, | |
| T | val, | |||
| bool | computed = false | |||
| ) | const [inline] |
| void RDKit::ROMol::getProp | ( | const char * | key, | |
| T & | res | |||
| ) | const [inline] |
allows retrieval of a particular property value
| key | the name under which the property should be stored. If a property is already stored under this name, it will be replaced. | |
| res | a reference to the storage location for the value. |
property with name key exists, a KeyErrorException will be thrown.boost::lexical_cast machinery is used to attempt type conversions. If this fails, a boost::bad_lexical_cast exception will be thrown. Definition at line 545 of file ROMol.h.
References RDKit::Dict::getVal().
Referenced by clearProp(), getPropList(), and setProp().
| void RDKit::ROMol::getProp | ( | const std::string | key, | |
| T & | res | |||
| ) | const [inline] |
| bool RDKit::ROMol::hasProp | ( | const char * | key | ) | const [inline] |
returns whether or not we have a property with name key
Definition at line 556 of file ROMol.h.
References RDKit::Dict::hasVal().
Referenced by getPropList().
| bool RDKit::ROMol::hasProp | ( | const std::string | key | ) | const [inline] |
| void RDKit::ROMol::clearProp | ( | const char * | key | ) | const [inline] |
clears the value of a property
Notes:
property with name key exists, a KeyErrorException will be thrown.property is marked as computed, it will also be removed from our list of computedProperties | void RDKit::ROMol::clearProp | ( | const std::string | key | ) | const [inline] |
Definition at line 580 of file ROMol.h.
References RDKit::Dict::clearVal(), getProp(), and RDKit::Dict::setVal().
| void RDKit::ROMol::clearComputedProps | ( | bool | includeRings = true |
) | const |
clears all of our computed properties
| void RDKit::ROMol::updatePropertyCache | ( | bool | strict = true |
) |
calculates any of our lazy properties
Notes:
updatePropertyCache() on each of our Atoms and Bonds | void RDKit::ROMol::debugMol | ( | std::ostream & | str | ) | const |
sends some debugging info to a stream
| ATOM_SPTR RDKit::ROMol::operator[] | ( | const vertex_descriptor & | v | ) | [inline] |
| const ATOM_SPTR RDKit::ROMol::operator[] | ( | const vertex_descriptor & | v | ) | const [inline] |
| BOND_SPTR RDKit::ROMol::operator[] | ( | const edge_descriptor & | e | ) | [inline] |
| const BOND_SPTR RDKit::ROMol::operator[] | ( | const edge_descriptor & | e | ) | const [inline] |
friend class MolPickler [friend] |
1.5.6