RDKit
Open-source cheminformatics and machine learning.
RDKit::SubstanceGroup Class Reference

The class for representing SubstanceGroups. More...

#include <SubstanceGroup.h>

Inheritance diagram for RDKit::SubstanceGroup:
RDKit::RDProps

Classes

struct  AttachPoint
 
struct  CState
 

Public Types

enum  BondType { BondType::XBOND, BondType::CBOND }
 Bond type (see V3000 spec) More...
 
typedef std::array< RDGeom::Point3D, 3 > Bracket
 

Public Member Functions

 SubstanceGroup ()=delete
 No default constructor. More...
 
 SubstanceGroup (ROMol *owning_mol, const std::string &type)
 
 SubstanceGroup (const SubstanceGroup &other)=default
 
 SubstanceGroup (SubstanceGroup &&other)=default
 
SubstanceGroupoperator= (const SubstanceGroup &other)=default
 
SubstanceGroupoperator= (SubstanceGroup &&other)=default
 
 ~SubstanceGroup ()
 Destructor. More...
 
bool hasOwningMol () const
 returns whether or not this belongs to a molecule More...
 
ROMolgetOwningMol () const
 Get the molecule that owns this instance. More...
 
unsigned int getIndexInMol () const
 
void addAtomWithIdx (unsigned int idx)
 
void addParentAtomWithIdx (unsigned int idx)
 
void addBondWithIdx (unsigned int idx)
 
void addAtomWithBookmark (int mark)
 
void addParentAtomWithBookmark (int mark)
 
void addBondWithBookmark (int mark)
 
void addBracket (const Bracket &bracket)
 
void addCState (unsigned int bondIdx, const RDGeom::Point3D &vector)
 
void addAttachPoint (unsigned int aIdx, int lvIdx, const std::string &idStr)
 
BondType getBondType (unsigned int bondIdx) const
 
const std::vector< unsigned int > & getAtoms () const
 
const std::vector< unsigned int > & getParentAtoms () const
 
const std::vector< unsigned int > & getBonds () const
 
const std::vector< Bracket > & getBrackets () const
 
const std::vector< CState > & getCStates () const
 
const std::vector< AttachPoint > & getAttachPoints () const
 
void setOwningMol (ROMol *mol)
 
bool operator== (const SubstanceGroup &other) const
 
- Public Member Functions inherited from RDKit::RDProps
 RDProps ()
 
 RDProps (const RDProps &rhs)
 
RDPropsoperator= (const RDProps &rhs)
 
void clear ()
 
const DictgetDict () const
 gets the underlying Dictionary More...
 
DictgetDict ()
 
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 std::string &key, T val, bool computed=false) const
 sets a property value More...
 
template<typename T >
void getProp (const std::string &key, T &res) const
 allows retrieval of a particular property value More...
 
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. More...
 
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. More...
 
void clearProp (const std::string &key) const
 clears the value of a property More...
 
void clearComputedProps () const
 clears all of our computed properties More...
 
void updateProps (const RDProps &source, bool preserveExisting=false)
 update the properties from another More...
 

Additional Inherited Members

- Protected Attributes inherited from RDKit::RDProps
Dict d_props
 

Detailed Description

The class for representing SubstanceGroups.

Notes:

Definition at line 52 of file SubstanceGroup.h.

Member Typedef Documentation

◆ Bracket

Definition at line 60 of file SubstanceGroup.h.

Member Enumeration Documentation

◆ BondType

Bond type (see V3000 spec)

Enumerator
XBOND 
CBOND 

Definition at line 55 of file SubstanceGroup.h.

Constructor & Destructor Documentation

◆ SubstanceGroup() [1/4]

RDKit::SubstanceGroup::SubstanceGroup ( )
delete

No default constructor.

◆ SubstanceGroup() [2/4]

RDKit::SubstanceGroup::SubstanceGroup ( ROMol owning_mol,
const std::string &  type 
)

Main Constructor. Ownership is only set on this side of the relationship: mol->addSubstanceGroup(sgroup) still needs to be called to get ownership on the other side.

◆ SubstanceGroup() [3/4]

RDKit::SubstanceGroup::SubstanceGroup ( const SubstanceGroup other)
default

◆ SubstanceGroup() [4/4]

RDKit::SubstanceGroup::SubstanceGroup ( SubstanceGroup &&  other)
default

◆ ~SubstanceGroup()

RDKit::SubstanceGroup::~SubstanceGroup ( )
inline

Destructor.

Definition at line 99 of file SubstanceGroup.h.

Member Function Documentation

◆ addAtomWithBookmark()

void RDKit::SubstanceGroup::addAtomWithBookmark ( int  mark)

◆ addAtomWithIdx()

void RDKit::SubstanceGroup::addAtomWithIdx ( unsigned int  idx)

◆ addAttachPoint()

void RDKit::SubstanceGroup::addAttachPoint ( unsigned int  aIdx,
int  lvIdx,
const std::string &  idStr 
)

◆ addBondWithBookmark()

void RDKit::SubstanceGroup::addBondWithBookmark ( int  mark)

◆ addBondWithIdx()

void RDKit::SubstanceGroup::addBondWithIdx ( unsigned int  idx)

◆ addBracket()

void RDKit::SubstanceGroup::addBracket ( const Bracket bracket)

◆ addCState()

void RDKit::SubstanceGroup::addCState ( unsigned int  bondIdx,
const RDGeom::Point3D vector 
)

◆ addParentAtomWithBookmark()

void RDKit::SubstanceGroup::addParentAtomWithBookmark ( int  mark)

◆ addParentAtomWithIdx()

void RDKit::SubstanceGroup::addParentAtomWithIdx ( unsigned int  idx)

◆ getAtoms()

const std::vector<unsigned int>& RDKit::SubstanceGroup::getAtoms ( ) const
inline

Definition at line 128 of file SubstanceGroup.h.

◆ getAttachPoints()

const std::vector<AttachPoint>& RDKit::SubstanceGroup::getAttachPoints ( ) const
inline

Definition at line 134 of file SubstanceGroup.h.

◆ getBonds()

const std::vector<unsigned int>& RDKit::SubstanceGroup::getBonds ( ) const
inline

Definition at line 130 of file SubstanceGroup.h.

◆ getBondType()

BondType RDKit::SubstanceGroup::getBondType ( unsigned int  bondIdx) const

◆ getBrackets()

const std::vector<Bracket>& RDKit::SubstanceGroup::getBrackets ( ) const
inline

Definition at line 132 of file SubstanceGroup.h.

◆ getCStates()

const std::vector<CState>& RDKit::SubstanceGroup::getCStates ( ) const
inline

Definition at line 133 of file SubstanceGroup.h.

◆ getIndexInMol()

unsigned int RDKit::SubstanceGroup::getIndexInMol ( ) const

get the index of this sgroup in dp_mol's sgroups vector (do not mistake this by the ID!)

◆ getOwningMol()

ROMol& RDKit::SubstanceGroup::getOwningMol ( ) const
inline

Get the molecule that owns this instance.

Definition at line 105 of file SubstanceGroup.h.

References PRECONDITION.

◆ getParentAtoms()

const std::vector<unsigned int>& RDKit::SubstanceGroup::getParentAtoms ( ) const
inline

Definition at line 129 of file SubstanceGroup.h.

◆ hasOwningMol()

bool RDKit::SubstanceGroup::hasOwningMol ( ) const
inline

returns whether or not this belongs to a molecule

Definition at line 102 of file SubstanceGroup.h.

◆ operator=() [1/2]

SubstanceGroup& RDKit::SubstanceGroup::operator= ( const SubstanceGroup other)
default

◆ operator=() [2/2]

SubstanceGroup& RDKit::SubstanceGroup::operator= ( SubstanceGroup &&  other)
default

◆ operator==()

bool RDKit::SubstanceGroup::operator== ( const SubstanceGroup other) const
inline

Definition at line 141 of file SubstanceGroup.h.

◆ setOwningMol()

void RDKit::SubstanceGroup::setOwningMol ( ROMol mol)

Set owning molecule This only updates atoms and bonds; parent sgroup has to be updated independently, since parent might not exist at the time this is called.


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