![]() |
RDKit
Open-source cheminformatics and machine learning.
|
RWMol is a molecule class that is intended to be edited. More...
#include <RWMol.h>
Public Member Functions | |
| RWMol () | |
| RWMol (const ROMol &other, bool quickCopy=false, int confId=-1) | |
| copy constructor with a twist More... | |
| RWMol & | operator= (const RWMol &) |
| void | insertMol (const ROMol &other) |
insert the atoms and bonds from other into this molecule More... | |
| void | clear () |
| removes all atoms, bonds, properties, bookmarks, etc. More... | |
Atoms | |
| unsigned int | addAtom (bool updateLabel=true) |
| adds an empty Atom to our collection More... | |
| unsigned int | addAtom (Atom *atom, bool updateLabel=true, bool takeOwnership=false) |
| adds an Atom to our collection More... | |
| unsigned int | addAtom (ATOM_SPTR atom, bool updateLabel=true) |
| adds an Atom to our collection More... | |
| void | replaceAtom (unsigned int idx, Atom *atom, bool updateLabel=false) |
| replaces a particular Atom More... | |
| Atom * | getLastAtom () |
| returns a pointer to the highest-numbered Atom More... | |
| Atom * | getActiveAtom () |
| returns a pointer to the "active" Atom More... | |
| void | setActiveAtom (Atom *atom) |
sets our activeAtom More... | |
| void | setActiveAtom (unsigned int idx) |
| void | removeAtom (unsigned int idx) |
| removes an Atom from the molecule More... | |
| void | removeAtom (Atom *atom) |
Bonds | |
| unsigned int | addBond (unsigned int beginAtomIdx, unsigned int endAtomIdx, Bond::BondType order=Bond::UNSPECIFIED) |
| adds a Bond between the indicated Atoms More... | |
| unsigned int | addBond (ATOM_SPTR beginAtom, ATOM_SPTR endAtom, Bond::BondType order=Bond::UNSPECIFIED) |
| unsigned int | addBond (Atom *beginAtom, Atom *endAtom, Bond::BondType order=Bond::UNSPECIFIED) |
| unsigned int | addBond (Bond *bond, bool takeOwnership=false) |
| adds a Bond to our collection More... | |
| unsigned int | addBond (BOND_SPTR bsp) |
| adds a Bond to our collection More... | |
| Bond * | createPartialBond (unsigned int beginAtomIdx, Bond::BondType order=Bond::UNSPECIFIED) |
| starts a Bond and sets its beginAtomIdx More... | |
| unsigned int | finishPartialBond (unsigned int endAtomIdx, int bondBookmark, Bond::BondType order=Bond::UNSPECIFIED) |
| finishes a partially constructed bond More... | |
| void | removeBond (unsigned int beginAtomIdx, unsigned int endAtomIdx) |
| removes a bond from the molecule More... | |
Public Member Functions inherited from RDKit::ROMol | |
| ROMol () | |
| ROMol (const ROMol &other, bool quickCopy=false, int confId=-1) | |
| copy constructor with a twist More... | |
| ROMol (const std::string &binStr) | |
| construct a molecule from a pickle string More... | |
| 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 |
| unsigned int | getNumAtoms (bool onlyExplicit=1) const |
| returns our number of atoms More... | |
| unsigned int | getNumHeavyAtoms () const |
| returns our number of heavy atoms (atomic number > 1) More... | |
| Atom * | getAtomWithIdx (unsigned int idx) |
| returns a pointer to a particular Atom More... | |
| const Atom * | getAtomWithIdx (unsigned int idx) const |
| template<class U > | |
| Atom * | getAtomWithIdx (const U idx) |
| template<class U > | |
| const Atom * | getAtomWithIdx (const U idx) const |
| unsigned int | getAtomDegree (const Atom *at) const |
| returns the degree (number of neighbors) of an Atom in the graph More... | |
| unsigned int | getAtomDegree (ATOM_SPTR at) const |
| unsigned int | getNumBonds (bool onlyHeavy=1) const |
| returns our number of Bonds More... | |
| Bond * | getBondWithIdx (unsigned int idx) |
| returns a pointer to a particular Bond More... | |
| const Bond * | getBondWithIdx (unsigned int idx) const |
| template<class U > | |
| Bond * | getBondWithIdx (const U idx) |
| template<class U > | |
| const Bond * | getBondWithIdx (const U idx) const |
| Bond * | getBondBetweenAtoms (unsigned int idx1, unsigned int idx2) |
| returns a pointer to the bond between two atoms, Null on failure More... | |
| const Bond * | getBondBetweenAtoms (unsigned int idx1, unsigned int idx2) const |
| template<class U , class V > | |
| Bond * | getBondBetweenAtoms (const U idx1, const V idx2) |
| template<class U , class V > | |
| const Bond * | getBondBetweenAtoms (const U idx1, const V idx2) const |
| void | setAtomBookmark (ATOM_SPTR at, int mark) |
| associates an Atom pointer with a bookmark More... | |
| void | setAtomBookmark (Atom *at, int mark) |
| void | replaceAtomBookmark (ATOM_SPTR at, int mark) |
| associates an Atom pointer with a bookmark More... | |
| void | replaceAtomBookmark (Atom *at, int mark) |
| Atom * | getAtomWithBookmark (int mark) |
returns the first Atom associated with the bookmark provided More... | |
| ATOM_PTR_LIST & | getAllAtomsWithBookmark (int mark) |
returns all Atoms associated with the bookmark provided More... | |
| void | clearAtomBookmark (const int mark) |
removes a bookmark from our collection More... | |
| void | clearAtomBookmark (const int mark, const Atom *atom) |
removes a particular Atom from the list associated with the bookmark More... | |
| void | clearAtomBookmark (const int mark, ATOM_SPTR atom) |
| void | clearAllAtomBookmarks () |
blows out all atomic bookmarks More... | |
| bool | hasAtomBookmark (int mark) const |
queries whether or not any atoms are associated with a bookmark More... | |
| ATOM_BOOKMARK_MAP * | getAtomBookmarks () |
returns a pointer to all of our atom bookmarks More... | |
| void | setBondBookmark (BOND_SPTR bond, int mark) |
| associates a Bond pointer with a bookmark More... | |
| void | setBondBookmark (Bond *bond, int mark) |
| Bond * | getBondWithBookmark (int mark) |
returns the first Bond associated with the bookmark provided More... | |
| BOND_PTR_LIST & | getAllBondsWithBookmark (int mark) |
returns all bonds associated with the bookmark provided More... | |
| void | clearBondBookmark (int mark) |
removes a bookmark from our collection More... | |
| void | clearBondBookmark (int mark, const Bond *bond) |
removes a particular Bond from the list associated with the bookmark More... | |
| void | clearBondBookmark (int mark, BOND_SPTR bond) |
| void | clearAllBondBookmarks () |
blows out all bond bookmarks More... | |
| bool | hasBondBookmark (int mark) const |
queries whether or not any bonds are associated with a bookmark More... | |
| BOND_BOOKMARK_MAP * | getBondBookmarks () |
returns a pointer to all of our bond bookmarks More... | |
| const Conformer & | getConformer (int id=-1) const |
| Conformer & | getConformer (int id=-1) |
| void | removeConformer (unsigned int id) |
| Delete the conformation with the specified ID. More... | |
| void | clearConformers () |
| Clear all the conformations on the molecule. More... | |
| unsigned int | addConformer (Conformer *conf, bool assignId=false) |
| Add a new conformation to the molecule. More... | |
| unsigned int | getNumConformers () const |
| RingInfo * | getRingInfo () const |
| ADJ_ITER_PAIR | getAtomNeighbors (Atom const *at) const |
| provides access to all neighbors around an Atom More... | |
| 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 More... | |
| ATOM_ITER_PAIR | getVertices () |
| returns an iterator pair for looping over all Atoms More... | |
| BOND_ITER_PAIR | getEdges () |
| returns an iterator pair for looping over all Bonds More... | |
| ATOM_ITER_PAIR | getVertices () const |
| BOND_ITER_PAIR | getEdges () const |
| MolGraph const & | getTopology () const |
| brief returns a pointer to our underlying BGL object More... | |
| AtomIterator | beginAtoms () |
| get an AtomIterator pointing at our first Atom More... | |
| ConstAtomIterator | beginAtoms () const |
| AtomIterator | endAtoms () |
| get an AtomIterator pointing at the end of our Atoms More... | |
| ConstAtomIterator | endAtoms () const |
| BondIterator | beginBonds () |
| get a BondIterator pointing at our first Bond More... | |
| ConstBondIterator | beginBonds () const |
| BondIterator | endBonds () |
| get a BondIterator pointing at the end of our Bonds More... | |
| ConstBondIterator | endBonds () const |
| AromaticAtomIterator | beginAromaticAtoms () |
| get an AtomIterator pointing at our first aromatic Atom More... | |
| ConstAromaticAtomIterator | beginAromaticAtoms () const |
| AromaticAtomIterator | endAromaticAtoms () |
| get an AtomIterator pointing at the end of our Atoms More... | |
| ConstAromaticAtomIterator | endAromaticAtoms () const |
| HeteroatomIterator | beginHeteros () |
| get an AtomIterator pointing at our first hetero Atom More... | |
| ConstHeteroatomIterator | beginHeteros () const |
| HeteroatomIterator | endHeteros () |
| get an AtomIterator pointing at the end of our Atoms More... | |
| ConstHeteroatomIterator | endHeteros () const |
| QueryAtomIterator | beginQueryAtoms (QueryAtom const *query) |
get an AtomIterator pointing at our first Atom that matches query More... | |
| ConstQueryAtomIterator | beginQueryAtoms (QueryAtom const *) const |
| QueryAtomIterator | endQueryAtoms () |
| get an AtomIterator pointing at the end of our Atoms More... | |
| ConstQueryAtomIterator | endQueryAtoms () const |
| MatchingAtomIterator | beginMatchingAtoms (bool(*query)(Atom *)) |
get an AtomIterator pointing at our first Atom that matches query More... | |
| ConstMatchingAtomIterator | beginMatchingAtoms (bool(*query)(const Atom *)) const |
| MatchingAtomIterator | endMatchingAtoms () |
| get an AtomIterator pointing at the end of our Atoms More... | |
| ConstMatchingAtomIterator | endMatchingAtoms () const |
| ConformerIterator | beginConformers () |
| ConformerIterator | endConformers () |
| ConstConformerIterator | beginConformers () const |
| ConstConformerIterator | endConformers () const |
| STR_VECT | getPropList (bool includePrivate=true, bool includeComputed=true) const |
returns a list with the names of our properties More... | |
| template<typename T > | |
| void | setProp (const char *key, T val, bool computed=false) const |
sets a property value More... | |
| 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 More... | |
| template<typename T > | |
| void | getProp (const std::string &key, T &res) const |
| template<typename T > | |
| T | getProp (const char *key) const |
| template<typename T > | |
| T | getProp (const std::string &key) const |
| template<typename T > | |
| bool | getPropIfPresent (const char *key, T &res) const |
| template<typename T > | |
| bool | getPropIfPresent (const std::string &key, T &res) const |
| bool | hasProp (const char *key) const |
returns whether or not we have a property with name key More... | |
| bool | hasProp (const std::string &key) const |
| void | clearProp (const char *key) const |
clears the value of a property More... | |
| void | clearProp (const std::string &key) const |
| void | clearComputedProps (bool includeRings=true) const |
clears all of our computed properties More... | |
| void | updatePropertyCache (bool strict=true) |
calculates any of our lazy properties More... | |
| bool | needsUpdatePropertyCache () const |
| void | debugMol (std::ostream &str) const |
| sends some debugging info to a stream More... | |
RWMol is a molecule class that is intended to be edited.
See documentation for ROMol for general remarks
|
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). |
| confId | if this is >=0, the resulting ROMol will contain only the specified conformer from other. |
Definition at line 44 of file RWMol.h.
References addAtom(), insertMol(), and operator=().
| unsigned int RDKit::RWMol::addAtom | ( | bool | updateLabel = true | ) |
adds an empty Atom to our collection
| updateLabel | (optional) if this is true, the new Atom will be our activeAtom |
Referenced by RWMol(), and RDKit::SLNParse::startMol().
|
inline |
|
inline |
adds an Atom to our collection
| atom | pointer to the Atom to add |
| updateLabel | (optional) if this is true, the new Atom will be our activeAtom |
Note: since this is using a smart pointer, we don't need to worry about issues of ownership.
Definition at line 96 of file RWMol.h.
References replaceAtom().
| unsigned int RDKit::RWMol::addBond | ( | unsigned int | beginAtomIdx, |
| unsigned int | endAtomIdx, | ||
| Bond::BondType | order = Bond::UNSPECIFIED |
||
| ) |
adds a Bond between the indicated Atoms
Referenced by getLastAtom(), and RDKit::SLNParse::startMol().
| unsigned int RDKit::RWMol::addBond | ( | ATOM_SPTR | beginAtom, |
| ATOM_SPTR | endAtom, | ||
| Bond::BondType | order = Bond::UNSPECIFIED |
||
| ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
| unsigned int RDKit::RWMol::addBond | ( | Atom * | beginAtom, |
| Atom * | endAtom, | ||
| Bond::BondType | order = Bond::UNSPECIFIED |
||
| ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
inline |
|
inline |
adds a Bond to our collection
| bsp | smart pointer to the Bond to add |
Note: since this is using a smart pointer, we don't need to worry about issues of ownership.
Definition at line 166 of file RWMol.h.
References createPartialBond(), finishPartialBond(), removeBond(), and RDKit::Bond::UNSPECIFIED.
|
inline |
removes all atoms, bonds, properties, bookmarks, etc.
Definition at line 212 of file RWMol.h.
References detail::computedPropName.
| Bond* RDKit::RWMol::createPartialBond | ( | unsigned int | beginAtomIdx, |
| Bond::BondType | order = Bond::UNSPECIFIED |
||
| ) |
starts a Bond and sets its beginAtomIdx
The caller should set a bookmark to the returned Bond in order to be able to later complete it:
Bond *pBond = mol->createPartialBond(1); mol->setBondBookmark(pBond,666); ... do some other stuff ... mol->finishPartialBond(2,666,Bond::SINGLE); mol->clearBondBookmark(666,pBond);
or, if we want to set the BondType initially:
Bond *pBond = mol->createPartialBond(1,Bond::DOUBLE); mol->setBondBookmark(pBond,666); ... do some other stuff ... mol->finishPartialBond(2,666); mol->clearBondBookmark(666,pBond);
the call to finishPartialBond() will take priority if you set the BondType in both calls.
Referenced by addBond().
| unsigned int RDKit::RWMol::finishPartialBond | ( | unsigned int | endAtomIdx, |
| int | bondBookmark, | ||
| Bond::BondType | order = Bond::UNSPECIFIED |
||
| ) |
finishes a partially constructed bond
See the documentation for createPartialBond() for more details
Referenced by addBond().
| Atom* RDKit::RWMol::getActiveAtom | ( | ) |
returns a pointer to the "active" Atom
If we have an activeAtom, it will be returned, otherwise the results of getLastAtom() will be returned.
Referenced by getLastAtom().
|
inline |
returns a pointer to the highest-numbered Atom
Definition at line 110 of file RWMol.h.
References addBond(), getActiveAtom(), RDKit::ROMol::getAtomWithIdx(), RDKit::ROMol::getNumAtoms(), removeAtom(), setActiveAtom(), and RDKit::Bond::UNSPECIFIED.
| void RDKit::RWMol::insertMol | ( | const ROMol & | other | ) |
insert the atoms and bonds from other into this molecule
Referenced by RWMol().
| void RDKit::RWMol::removeAtom | ( | unsigned int | idx | ) |
removes an Atom from the molecule
Referenced by getLastAtom().
| void RDKit::RWMol::removeAtom | ( | Atom * | atom | ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
| void RDKit::RWMol::removeBond | ( | unsigned int | beginAtomIdx, |
| unsigned int | endAtomIdx | ||
| ) |
removes a bond from the molecule
Referenced by addBond().
| void RDKit::RWMol::replaceAtom | ( | unsigned int | idx, |
| Atom * | atom, | ||
| bool | updateLabel = false |
||
| ) |
| void RDKit::RWMol::setActiveAtom | ( | Atom * | atom | ) |
sets our activeAtom
Referenced by getLastAtom().
| void RDKit::RWMol::setActiveAtom | ( | unsigned int | idx | ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.