RDKit
Open-source cheminformatics and machine learning.
Loading...
Searching...
No Matches
ROMol.h File Reference

Defines the primary molecule class ROMol as well as associated typedefs. More...

#include <RDGeneral/export.h>
#include <cstddef>
#include <iterator>
#include <utility>
#include <map>
#include <RDGeneral/BoostStartInclude.h>
#include <boost/graph/adjacency_list.hpp>
#include <boost/smart_ptr.hpp>
#include <boost/dynamic_bitset.hpp>
#include <RDGeneral/BoostEndInclude.h>
#include <RDGeneral/types.h>
#include <RDGeneral/RDProps.h>
#include "Atom.h"
#include "Bond.h"
#include "Conformer.h"
#include "SubstanceGroup.h"
#include "StereoGroup.h"
#include "RingInfo.h"

Go to the source code of this file.

Classes

struct  RDKit::CXXAtomIterator< Graph, Vertex, Iterator >
 
struct  RDKit::CXXAtomIterator< Graph, Vertex, Iterator >::CXXAtomIter
 
struct  RDKit::CXXBondIterator< Graph, Edge, Iterator >
 
struct  RDKit::CXXBondIterator< Graph, Edge, Iterator >::CXXBondIter
 
class  RDKit::ROMol
 

Namespaces

namespace  RDKit
 Std stuff.
 

Typedefs

typedef boost::adjacency_list< boost::vecS, boost::vecS, boost::undirectedS, Atom *, Bond * > RDKit::MolGraph
 This is the BGL type used to store the topology:
 
C++11 Iterators

ROMol is a molecule class that is intended to have a fixed topology

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:

  • each ROMol maintains a Dict of properties:
    • Each 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.
    • Because they have no impact upon chemistry, all property operations are const, this allows extra flexibility for clients who need to store extra data on ROMol objects.
  • each ROMol has collections of bookmarks for Atoms and Bonds:
    • the Atom bookmarks and Bond bookmarks are stored separately from each other
    • each bookmark, an integer, can map to more than one Atom or Bond
    • these are currently used in molecule construction, but could also be useful for reaction mapping and the like
  • information about rings (SSSR and the like) is stored in the molecule's RingInfo pointer.
typedef std::vector< ROMolRDKit::MOL_VECT
 
typedef std::vector< ROMol * > RDKit::MOL_PTR_VECT
 
typedef MOL_PTR_VECT::const_iterator RDKit::MOL_PTR_VECT_CI
 
typedef MOL_PTR_VECT::iterator RDKit::MOL_PTR_VECT_I
 

Variables

RDKIT_GRAPHMOL_EXPORT const int RDKit::ci_RIGHTMOST_ATOM
 
RDKIT_GRAPHMOL_EXPORT const int RDKit::ci_LEADING_BOND
 
RDKIT_GRAPHMOL_EXPORT const int RDKit::ci_ATOM_HOLDER
 

Detailed Description

Defines the primary molecule class ROMol as well as associated typedefs.

Definition in file ROMol.h.