RDKit
Open-source cheminformatics and machine learning.
Loading...
Searching...
No Matches
RDKit::ROMol Class Reference

#include <ROMol.h>

Inheritance diagram for RDKit::ROMol:
RDKit::RDProps RDKit::RWMol

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
ROMoloperator= (ROMol &&o) noexcept
ROMoloperator= (const ROMol &)=delete
virtual ~ROMol ()
Atomoperator[] (const vertex_descriptor &v)
const Atomoperator[] (const vertex_descriptor &v) const
Bondoperator[] (const edge_descriptor &e)
const Bondoperator[] (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)
AtomgetAtomWithIdx (unsigned int idx)
 returns a pointer to a particular Atom
const AtomgetAtomWithIdx (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>
AtomgetAtomWithIdx (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 AtomgetAtomWithIdx (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
BondgetBondWithIdx (unsigned int idx)
 returns a pointer to a particular Bond
const BondgetBondWithIdx (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>
BondgetBondWithIdx (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 BondgetBondWithIdx (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.
BondgetBondBetweenAtoms (unsigned int idx1, unsigned int idx2)
 returns a pointer to the bond between two atoms, Null on failure
const BondgetBondBetweenAtoms (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>
BondgetBondBetweenAtoms (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 BondgetBondBetweenAtoms (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
AtomgetAtomWithBookmark (int mark)
 returns the first Atom associated with the bookmark provided
AtomgetUniqueAtomWithBookmark (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
BondgetBondWithBookmark (int mark)
 returns the first Bond associated with the bookmark provided
BondgetUniqueBondWithBookmark (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 ConformergetConformer (int id=-1) const
ConformergetConformer (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
RingInfogetRingInfo () 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
void clearPropertyCache ()
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)
RDPropsoperator= (const RDProps &rhs)
 RDProps (RDProps &&o) noexcept=default
RDPropsoperator= (RDProps &&rhs) noexcept=default
void clear ()
const DictgetDict () const
 gets the underlying Dictionary
DictgetDict ()
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>
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 &mol)
RDKIT_GRAPHMOL_EXPORT const std::vector< SubstanceGroup > & getSubstanceGroups (const ROMol &mol)

Detailed Description

Definition at line 199 of file ROMol.h.

Constructor & Destructor Documentation

◆ ROMol() [1/5]

◆ ROMol() [2/5]

RDKit::ROMol::ROMol ( const ROMol & other,
bool quickCopy = false,
int confId = -1 )
inline

copy constructor with a twist

Parameters
otherthe 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.

Definition at line 335 of file ROMol.h.

References numBonds, rdcast, RDKit::RDProps::RDProps(), and ROMol().

◆ ROMol() [3/5]

RDKit::ROMol::ROMol ( const std::string & binStr)

construct a molecule from a pickle string

◆ ROMol() [4/5]

RDKit::ROMol::ROMol ( const std::string & binStr,
unsigned int propertyFlags )

construct a molecule from a pickle string

◆ ROMol() [5/5]

RDKit::ROMol::ROMol ( ROMol && o)
inlinenoexcept

Definition at line 346 of file ROMol.h.

References atoms(), bonds(), numBonds, RDKit::RDProps::RDProps(), and ROMol().

◆ ~ROMol()

virtual RDKit::ROMol::~ROMol ( )
inlinevirtual

Definition at line 414 of file ROMol.h.

Member Function Documentation

◆ addConformer()

unsigned int RDKit::ROMol::addConformer ( Conformer * conf,
bool assignId = false )

Add a new conformation to the molecule.

Parameters
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

◆ atomBonds() [1/2]

CXXBondIterator< MolGraph, Bond *, MolGraph::out_edge_iterator > RDKit::ROMol::atomBonds ( Atom const * at)
inline

Definition at line 301 of file ROMol.h.

References getAtomBonds().

◆ atomBonds() [2/2]

CXXBondIterator< const MolGraph, Bond *const, MolGraph::out_edge_iterator > RDKit::ROMol::atomBonds ( Atom const * at) const
inline

Definition at line 296 of file ROMol.h.

References getAtomBonds().

◆ atomNeighbors() [1/2]

CXXAtomIterator< MolGraph, Atom *, MolGraph::adjacency_iterator > RDKit::ROMol::atomNeighbors ( Atom const * at)
inline

Definition at line 289 of file ROMol.h.

References getAtomNeighbors().

◆ atomNeighbors() [2/2]

CXXAtomIterator< const MolGraph, Atom *const, MolGraph::adjacency_iterator > RDKit::ROMol::atomNeighbors ( Atom const * at) const
inline

Definition at line 284 of file ROMol.h.

References getAtomNeighbors().

◆ atoms() [1/2]

CXXAtomIterator< MolGraph, Atom * > RDKit::ROMol::atoms ( )
inline

C++11 Range iterator.

Usage

for(auto atom : mol.atoms()) {
atom->getIdx();
};

Definition at line 277 of file ROMol.h.

Referenced by RDKit::MolDraw2D_detail::addAtomIndices(), RDKit::FileParserUtils::getAtomPropertyList(), operator=(), and ROMol().

◆ atoms() [2/2]

CXXAtomIterator< const MolGraph, Atom *const > RDKit::ROMol::atoms ( ) const
inline

Definition at line 279 of file ROMol.h.

◆ beginAromaticAtoms() [1/2]

AromaticAtomIterator RDKit::ROMol::beginAromaticAtoms ( )

get an AtomIterator pointing at our first aromatic Atom

◆ beginAromaticAtoms() [2/2]

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.

◆ beginAtoms() [1/2]

AtomIterator RDKit::ROMol::beginAtoms ( )

get an AtomIterator pointing at our first Atom

◆ beginAtoms() [2/2]

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.

◆ beginBonds() [1/2]

BondIterator RDKit::ROMol::beginBonds ( )

get a BondIterator pointing at our first Bond

◆ beginBonds() [2/2]

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.

◆ beginConformers() [1/2]

ConformerIterator RDKit::ROMol::beginConformers ( )
inline

Definition at line 743 of file ROMol.h.

Referenced by RDKit::ForceFieldsHelper::detail::OptimizeMoleculeConfsST().

◆ beginConformers() [2/2]

ConstConformerIterator RDKit::ROMol::beginConformers ( ) const
inline

Definition at line 747 of file ROMol.h.

◆ beginHeteros() [1/2]

HeteroatomIterator RDKit::ROMol::beginHeteros ( )

get an AtomIterator pointing at our first hetero Atom

◆ beginHeteros() [2/2]

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.

◆ beginMatchingAtoms() [1/2]

MatchingAtomIterator RDKit::ROMol::beginMatchingAtoms ( bool(* query )(Atom *))

get an AtomIterator pointing at our first Atom that matches query

◆ beginMatchingAtoms() [2/2]

ConstMatchingAtomIterator RDKit::ROMol::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.

◆ beginQueryAtoms() [1/2]

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.

◆ beginQueryAtoms() [2/2]

QueryAtomIterator RDKit::ROMol::beginQueryAtoms ( QueryAtom const * query)

get an AtomIterator pointing at our first Atom that matches query

◆ bonds() [1/2]

CXXBondIterator< MolGraph, Bond * > RDKit::ROMol::bonds ( )
inline

Usage

for(auto bond : mol.bonds()) {
bond->getIdx();
};

Definition at line 316 of file ROMol.h.

Referenced by RDKit::MolDraw2D_detail::addBondIndices(), operator=(), and ROMol().

◆ bonds() [2/2]

CXXBondIterator< const MolGraph, Bond *const > RDKit::ROMol::bonds ( ) const
inline

Definition at line 318 of file ROMol.h.

◆ clearAllAtomBookmarks()

void RDKit::ROMol::clearAllAtomBookmarks ( )
inline

blows out all atomic bookmarks

Definition at line 508 of file ROMol.h.

◆ clearAllBondBookmarks()

void RDKit::ROMol::clearAllBondBookmarks ( )
inline

blows out all bond bookmarks

Definition at line 531 of file ROMol.h.

◆ clearAtomBookmark() [1/2]

void RDKit::ROMol::clearAtomBookmark ( int mark)

removes a bookmark from our collection

◆ clearAtomBookmark() [2/2]

void RDKit::ROMol::clearAtomBookmark ( int mark,
const Atom * atom )

removes a particular Atom from the list associated with the bookmark

◆ clearBondBookmark() [1/2]

void RDKit::ROMol::clearBondBookmark ( int mark)

removes a bookmark from our collection

◆ clearBondBookmark() [2/2]

void RDKit::ROMol::clearBondBookmark ( int mark,
const Bond * bond )

removes a particular Bond from the list associated with the bookmark

◆ clearComputedProps()

void RDKit::ROMol::clearComputedProps ( bool includeRings = true) const

clears all of our computed properties

◆ clearConformers()

void RDKit::ROMol::clearConformers ( )
inline

Clear all the conformations on the molecule.

Definition at line 554 of file ROMol.h.

◆ clearPropertyCache()

void RDKit::ROMol::clearPropertyCache ( )

◆ debugMol()

void RDKit::ROMol::debugMol ( std::ostream & str) const

◆ endAromaticAtoms() [1/2]

AromaticAtomIterator RDKit::ROMol::endAromaticAtoms ( )

get an AtomIterator pointing at the end of our Atoms

◆ endAromaticAtoms() [2/2]

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.

◆ endAtoms() [1/2]

AtomIterator RDKit::ROMol::endAtoms ( )

get an AtomIterator pointing at the end of our Atoms

◆ endAtoms() [2/2]

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.

◆ endBonds() [1/2]

BondIterator RDKit::ROMol::endBonds ( )

get a BondIterator pointing at the end of our Bonds

◆ endBonds() [2/2]

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.

◆ endConformers() [1/2]

ConformerIterator RDKit::ROMol::endConformers ( )
inline

Definition at line 745 of file ROMol.h.

Referenced by RDKit::ForceFieldsHelper::detail::OptimizeMoleculeConfsST().

◆ endConformers() [2/2]

ConstConformerIterator RDKit::ROMol::endConformers ( ) const
inline

Definition at line 751 of file ROMol.h.

◆ endHeteros() [1/2]

HeteroatomIterator RDKit::ROMol::endHeteros ( )

get an AtomIterator pointing at the end of our Atoms

◆ endHeteros() [2/2]

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.

◆ endMatchingAtoms() [1/2]

MatchingAtomIterator RDKit::ROMol::endMatchingAtoms ( )

get an AtomIterator pointing at the end of our Atoms

◆ endMatchingAtoms() [2/2]

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.

◆ endQueryAtoms() [1/2]

QueryAtomIterator RDKit::ROMol::endQueryAtoms ( )

get an AtomIterator pointing at the end of our Atoms

◆ endQueryAtoms() [2/2]

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.

◆ getAllAtomsWithBookmark()

ATOM_PTR_LIST & RDKit::ROMol::getAllAtomsWithBookmark ( int mark)

returns all Atoms associated with the bookmark provided

◆ getAllBondsWithBookmark()

BOND_PTR_LIST & RDKit::ROMol::getAllBondsWithBookmark ( int mark)

returns all bonds associated with the bookmark provided

◆ getAtomBonds()

OBOND_ITER_PAIR RDKit::ROMol::getAtomBonds ( Atom const * at) const

provides access to all Bond objects connected to an Atom

Parameters
atthe atom whose neighbors we are looking for

Usage

... mol is a const ROMol & ...
... atomPtr is a const Atom * ...
... requires #include <boost/range/iterator_range.hpp>
for (const auto &nbri :
boost::make_iterator_range(m.getAtomBonds(atomPtr))) {
const auto &nbr = (*m)[nbri];
// nbr is a bond pointer
}
The class for representing atoms.
Definition Atom.h:75
Definition RDLog.h:25

or, if you need a non-const Bond *:

... mol is a const ROMol & ...
... atomPtr is a const Atom * ...
... requires #include <boost/range/iterator_range.hpp>
for (const auto &nbri :
boost::make_iterator_range(m.getAtomBonds(atomPtr))) {
auto nbr = (*m)[nbri];
// nbr is a bond pointer
}

Referenced by atomBonds(), atomBonds(), RDKit::queryAtomHasRingBond(), and RDKit::queryAtomRingBondCount().

◆ getAtomBookmarks()

ATOM_BOOKMARK_MAP * RDKit::ROMol::getAtomBookmarks ( )
inline

returns a pointer to all of our atom bookmarks

Definition at line 512 of file ROMol.h.

Referenced by RDKit::SLNParse::addBranchToMol().

◆ getAtomDegree()

unsigned int RDKit::ROMol::getAtomDegree ( const Atom * at) const

returns the degree (number of neighbors) of an Atom in the graph

◆ getAtomNeighbors()

ADJ_ITER_PAIR RDKit::ROMol::getAtomNeighbors ( Atom const * at) const

provides access to all neighbors around an Atom

Parameters
atthe atom whose neighbors we are looking for

Usage

... mol is a const ROMol & ...
... atomPtr is a const Atom * ...
... requires #include <boost/range/iterator_range.hpp>
for (const auto &nbri :
boost::make_iterator_range(m.getAtomNeighbors(atomPtr))) {
const auto &nbr = (*m)[nbri];
// nbr is an atom pointer
}

Referenced by atomNeighbors(), atomNeighbors(), RDKit::queryAtomHasAliphaticHeteroatomNbrs(), RDKit::queryAtomHasHeteroatomNbrs(), RDKit::queryAtomHeavyAtomDegree(), RDKit::queryAtomNonHydrogenDegree(), RDKit::queryAtomNumAliphaticHeteroatomNbrs(), and RDKit::queryAtomNumHeteroatomNbrs().

◆ getAtomWithBookmark()

Atom * RDKit::ROMol::getAtomWithBookmark ( int mark)

returns the first Atom associated with the bookmark provided

Referenced by RDKit::SLNParse::closeRingBond().

◆ getAtomWithIdx() [1/4]

template<class U>
Atom * RDKit::ROMol::getAtomWithIdx ( const U idx)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 433 of file ROMol.h.

References getAtomWithIdx(), and rdcast.

◆ getAtomWithIdx() [2/4]

template<class U>
const Atom * RDKit::ROMol::getAtomWithIdx ( const U idx) const
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 438 of file ROMol.h.

References getAtomWithIdx(), and rdcast.

◆ getAtomWithIdx() [3/4]

Atom * RDKit::ROMol::getAtomWithIdx ( unsigned int idx)

◆ getAtomWithIdx() [4/4]

const Atom * RDKit::ROMol::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.

◆ getBondBetweenAtoms() [1/4]

template<class U, class V>
Bond * RDKit::ROMol::getBondBetweenAtoms ( const U idx1,
const V idx2 )
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 470 of file ROMol.h.

References getBondBetweenAtoms(), and rdcast.

◆ getBondBetweenAtoms() [2/4]

template<class U, class V>
const Bond * RDKit::ROMol::getBondBetweenAtoms ( const U idx1,
const V idx2 ) const
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 476 of file ROMol.h.

References getBondBetweenAtoms(), and rdcast.

◆ getBondBetweenAtoms() [3/4]

Bond * RDKit::ROMol::getBondBetweenAtoms ( unsigned int idx1,
unsigned int idx2 )

returns a pointer to the bond between two atoms, Null on failure

Referenced by getBondBetweenAtoms(), getBondBetweenAtoms(), and RDKit::MolEnumerator::utils::getMolLinkNodes().

◆ getBondBetweenAtoms() [4/4]

const Bond * RDKit::ROMol::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.

◆ getBondBookmarks()

BOND_BOOKMARK_MAP * RDKit::ROMol::getBondBookmarks ( )
inline

returns a pointer to all of our bond bookmarks

Definition at line 535 of file ROMol.h.

Referenced by RDKit::SLNParse::addBranchToMol().

◆ getBondWithBookmark()

Bond * RDKit::ROMol::getBondWithBookmark ( int mark)

returns the first Bond associated with the bookmark provided

◆ getBondWithIdx() [1/4]

template<class U>
Bond * RDKit::ROMol::getBondWithIdx ( const U idx)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 456 of file ROMol.h.

References getBondWithIdx(), and rdcast.

◆ getBondWithIdx() [2/4]

template<class U>
const Bond * RDKit::ROMol::getBondWithIdx ( const U idx) const
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Definition at line 461 of file ROMol.h.

References getBondWithIdx(), and rdcast.

◆ getBondWithIdx() [3/4]

Bond * RDKit::ROMol::getBondWithIdx ( unsigned int idx)

returns a pointer to a particular Bond

Referenced by getBondWithIdx(), and getBondWithIdx().

◆ getBondWithIdx() [4/4]

const Bond * RDKit::ROMol::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.

◆ getConformer() [1/2]

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

◆ getConformer() [2/2]

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

Referenced by RDKit::ForceFieldsHelper::createEmptyForceFieldForMol().

◆ getEdges() [1/2]

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;
}
class for representing a bond
Definition Bond.h:47

◆ getEdges() [2/2]

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.

◆ getNumAtoms() [1/2]

◆ getNumAtoms() [2/2]

unsigned int RDKit::ROMol::getNumAtoms ( bool onlyExplicit) const

◆ getNumBonds()

unsigned int RDKit::ROMol::getNumBonds ( bool onlyHeavy = 1) const

returns our number of Bonds

Referenced by RDKit::FileParserUtils::getV3000CTAB().

◆ getNumConformers()

unsigned int RDKit::ROMol::getNumConformers ( ) const
inline

◆ getNumHeavyAtoms()

unsigned int RDKit::ROMol::getNumHeavyAtoms ( ) const

returns our number of heavy atoms (atomic number > 1)

◆ getRingInfo()

◆ getStereoGroups()

const std::vector< StereoGroup > & RDKit::ROMol::getStereoGroups ( ) const
inline

Gets a reference to the groups of atoms with relative stereochemistry.

Stereo groups are also called enhanced stereochemistry in the SDF/Mol3000 file format.

Definition at line 791 of file ROMol.h.

◆ getTopology()

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]);
std::vector< int > INT_VECT
Definition types.h:300
boost::adjacency_list< boost::vecS, boost::vecS, boost::undirectedS, Atom *, Bond * > MolGraph
This is the BGL type used to store the topology:
Definition ROMol.h:55

Definition at line 680 of file ROMol.h.

Referenced by RDKit::queryAtomHasRingBond(), and RDKit::queryAtomRingBondCount().

◆ getUniqueAtomWithBookmark()

Atom * RDKit::ROMol::getUniqueAtomWithBookmark ( int mark)

returns the Atom associated with the bookmark provided a check is made to ensure it is the only atom with that bookmark

◆ getUniqueBondWithBookmark()

Bond * RDKit::ROMol::getUniqueBondWithBookmark ( int mark)

returns the Bond associated with the bookmark provided a check is made to ensure it is the only bond with that bookmark

◆ getVertices() [1/2]

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;
}

◆ getVertices() [2/2]

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.

◆ hasAtomBookmark()

bool RDKit::ROMol::hasAtomBookmark ( int mark) const
inline

queries whether or not any atoms are associated with a bookmark

Definition at line 510 of file ROMol.h.

Referenced by RDKit::SLNParse::addBranchToMol(), and RDKit::SLNParse::closeRingBond().

◆ hasBondBookmark()

bool RDKit::ROMol::hasBondBookmark ( int mark) const
inline

queries whether or not any bonds are associated with a bookmark

Definition at line 533 of file ROMol.h.

Referenced by RDKit::SLNParse::addBranchToMol().

◆ hasQuery()

bool RDKit::ROMol::hasQuery ( ) const

if the Mol has any Query atoms or bonds

◆ needsUpdatePropertyCache()

bool RDKit::ROMol::needsUpdatePropertyCache ( ) const

◆ operator=() [1/2]

ROMol & RDKit::ROMol::operator= ( const ROMol & )
delete

References ROMol().

◆ operator=() [2/2]

ROMol & RDKit::ROMol::operator= ( ROMol && o)
inlinenoexcept

Definition at line 373 of file ROMol.h.

References atoms(), bonds(), numBonds, RDKit::RDProps::operator=(), and ROMol().

Referenced by RDKit::RWMol::operator=().

◆ operator[]() [1/4]

Bond * RDKit::ROMol::operator[] ( const edge_descriptor & e)
inline

Definition at line 783 of file ROMol.h.

◆ operator[]() [2/4]

const Bond * RDKit::ROMol::operator[] ( const edge_descriptor & e) const
inline

Definition at line 784 of file ROMol.h.

◆ operator[]() [3/4]

Atom * RDKit::ROMol::operator[] ( const vertex_descriptor & v)
inline

Definition at line 778 of file ROMol.h.

◆ operator[]() [4/4]

const Atom * RDKit::ROMol::operator[] ( const vertex_descriptor & v) const
inline

Definition at line 779 of file ROMol.h.

◆ removeConformer()

void RDKit::ROMol::removeConformer ( unsigned int id)

Delete the conformation with the specified ID.

◆ replaceAtomBookmark()

void RDKit::ROMol::replaceAtomBookmark ( Atom * at,
int mark )
inline

associates an Atom pointer with a bookmark

Definition at line 491 of file ROMol.h.

◆ setAtomBookmark()

void RDKit::ROMol::setAtomBookmark ( Atom * at,
int mark )
inline

associates an Atom pointer with a bookmark

Definition at line 487 of file ROMol.h.

Referenced by RDKit::SLNParse::addBranchToMol().

◆ setBondBookmark()

void RDKit::ROMol::setBondBookmark ( Bond * bond,
int mark )
inline

associates a Bond pointer with a bookmark

Definition at line 515 of file ROMol.h.

Referenced by RDKit::SLNParse::addBranchToMol(), and RDKit::SLNParse::closeRingBond().

◆ setStereoGroups()

void RDKit::ROMol::setStereoGroups ( std::vector< StereoGroup > stereo_groups)

Sets groups of atoms with relative stereochemistry.

Parameters
stereo_groupsthe 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.

◆ updatePropertyCache()

void RDKit::ROMol::updatePropertyCache ( bool strict = true)

calculates any of our lazy properties

Notes:

◆ getSubstanceGroups [1/2]

RDKIT_GRAPHMOL_EXPORT const std::vector< SubstanceGroup > & getSubstanceGroups ( const ROMol & mol)
friend

References ROMol().

◆ getSubstanceGroups [2/2]

RDKIT_GRAPHMOL_EXPORT std::vector< SubstanceGroup > & getSubstanceGroups ( ROMol & mol)
friend

References RDKIT_GRAPHMOL_EXPORT, and ROMol().

◆ MolPickler

friend class MolPickler
friend

Definition at line 201 of file ROMol.h.

References MolPickler.

Referenced by MolPickler.

◆ RWMol

friend class RWMol
friend

Definition at line 202 of file ROMol.h.

References ROMol(), and RWMol.

Referenced by RWMol.

Member Data Documentation

◆ numBonds

unsigned int RDKit::ROMol::numBonds {0}
protected

Definition at line 833 of file ROMol.h.

Referenced by RDKit::RWMol::clear(), operator=(), ROMol(), and ROMol().


The documentation for this class was generated from the following file: