![]() |
RDKit
Open-source cheminformatics and machine learning.
|
class for representing a bond More...
#include <Bond.h>
Public Types | |
enum | BondType { UNSPECIFIED = 0, SINGLE, DOUBLE, TRIPLE, QUADRUPLE, QUINTUPLE, HEXTUPLE, ONEANDAHALF, TWOANDAHALF, THREEANDAHALF, FOURANDAHALF, FIVEANDAHALF, AROMATIC, IONIC, HYDROGEN, THREECENTER, DATIVEONE, DATIVE, DATIVEL, DATIVER, OTHER, ZERO } |
the type of Bond More... | |
enum | BondDir { NONE = 0, BEGINWEDGE, BEGINDASH, ENDDOWNRIGHT, ENDUPRIGHT, EITHERDOUBLE, UNKNOWN } |
the bond's direction (for chirality) More... | |
enum | BondStereo { STEREONONE = 0, STEREOANY, STEREOZ, STEREOE, STEREOCIS, STEREOTRANS } |
the nature of the bond's stereochem (for cis/trans) More... | |
typedef Queries::Query< int, Bond const *, true > | QUERYBOND_QUERY |
Public Member Functions | |
Bond () | |
Bond (BondType bT) | |
construct with a particular BondType More... | |
Bond (const Bond &other) | |
virtual | ~Bond () |
Bond & | operator= (const Bond &other) |
virtual Bond * | copy () const |
returns a copy More... | |
BondType | getBondType () const |
returns our bondType More... | |
void | setBondType (BondType bT) |
sets our bondType More... | |
double | getBondTypeAsDouble () const |
returns our bondType as a double (e.g. SINGLE->1.0, AROMATIC->1.5, etc.) More... | |
double | getValenceContrib (const Atom *at) const |
returns our contribution to the explicit valence of an Atom More... | |
void | setIsAromatic (bool what) |
sets our isAromatic flag More... | |
bool | getIsAromatic () const |
returns the status of our isAromatic flag More... | |
void | setIsConjugated (bool what) |
sets our isConjugated flag More... | |
bool | getIsConjugated () const |
returns the status of our isConjugated flag More... | |
bool | hasOwningMol () const |
returns whether or not this instance belongs to a molecule More... | |
ROMol & | getOwningMol () const |
returns a reference to the ROMol that owns this instance More... | |
void | setOwningMol (ROMol *other) |
sets our owning molecule More... | |
void | setOwningMol (ROMol &other) |
sets our owning molecule More... | |
unsigned int | getIdx () const |
returns our index within the ROMol More... | |
void | setIdx (unsigned int index) |
sets our index within the ROMol More... | |
unsigned int | getBeginAtomIdx () const |
returns the index of our begin Atom More... | |
unsigned int | getEndAtomIdx () const |
returns the index of our end Atom More... | |
unsigned int | getOtherAtomIdx (unsigned int thisIdx) const |
given the index of one Atom, returns the index of the other More... | |
void | setBeginAtomIdx (unsigned int what) |
sets the index of our begin Atom More... | |
void | setEndAtomIdx (unsigned int what) |
sets the index of our end Atom More... | |
void | setBeginAtom (Atom *at) |
sets our begin Atom More... | |
void | setEndAtom (Atom *at) |
sets our end Atom More... | |
Atom * | getBeginAtom () const |
returns a pointer to our begin Atom More... | |
Atom * | getEndAtom () const |
returns a pointer to our end Atom More... | |
Atom * | getOtherAtom (Atom const *what) const |
returns a pointer to the other Atom More... | |
virtual bool | hasQuery () const |
virtual void | setQuery (QUERYBOND_QUERY *what) |
NOT CALLABLE. More... | |
virtual QUERYBOND_QUERY * | getQuery () const |
NOT CALLABLE. More... | |
virtual void | expandQuery (QUERYBOND_QUERY *what, Queries::CompositeQueryType how=Queries::COMPOSITE_AND, bool maintainOrder=true) |
NOT CALLABLE. More... | |
virtual bool | Match (Bond const *what) const |
returns whether or not we match the argument More... | |
void | setBondDir (BondDir what) |
sets our direction More... | |
BondDir | getBondDir () const |
returns our direction More... | |
void | setStereo (BondStereo what) |
sets our stereo code More... | |
BondStereo | getStereo () const |
returns our stereo code More... | |
void | setStereoAtoms (unsigned int bgnIdx, unsigned int endIdx) |
sets the atoms to be considered as reference points for bond stereo More... | |
const INT_VECT & | getStereoAtoms () const |
returns the indices of our stereo atoms More... | |
INT_VECT & | getStereoAtoms () |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
void | updatePropertyCache (bool strict=true) |
calculates any of our lazy properties More... | |
![]() | |
RDProps () | |
RDProps (const RDProps &rhs) | |
RDProps & | operator= (const RDProps &rhs) |
void | clear () |
const Dict & | getDict () const |
gets the underlying Dictionary More... | |
Dict & | getDict () |
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 > | |
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... | |
Protected Member Functions | |
void | initBond () |
Protected Attributes | |
bool | df_isAromatic |
sets our owning molecule More... | |
bool | df_isConjugated |
std::uint8_t | d_bondType |
std::uint8_t | d_dirTag |
std::uint8_t | d_stereo |
atomindex_t | d_index |
atomindex_t | d_beginAtomIdx |
atomindex_t | d_endAtomIdx |
ROMol * | dp_mol |
INT_VECT * | dp_stereoAtoms |
![]() | |
Dict | d_props |
Friends | |
class | RWMol |
class | ROMol |
class for representing a bond
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 Bond objects. typedef Queries::Query<int, Bond const *, true> RDKit::Bond::QUERYBOND_QUERY |
enum RDKit::Bond::BondDir |
the type of Bond
RDKit::Bond::Bond | ( | ) |
|
explicit |
construct with a particular BondType
RDKit::Bond::Bond | ( | const Bond & | other | ) |
|
virtual |
|
virtual |
returns a copy
Note: the caller is responsible for delete
ing the returned pointer.
Reimplemented in RDKit::QueryBond.
|
virtual |
NOT CALLABLE.
Reimplemented in RDKit::QueryBond.
Atom* RDKit::Bond::getBeginAtom | ( | ) | const |
|
inline |
|
inline |
|
inline |
returns our bondType
Definition at line 121 of file Bond.h.
Referenced by RDKit::queryBondIsSingleOrAromatic(), and RDKit::queryBondOrder().
double RDKit::Bond::getBondTypeAsDouble | ( | ) | const |
returns our bondType
as a double (e.g. SINGLE->1.0, AROMATIC->1.5, etc.)
Atom* RDKit::Bond::getEndAtom | ( | ) | const |
|
inline |
returns the index of our end Atom
Notes:
Definition at line 185 of file Bond.h.
Referenced by RDKit::SLNParse::addBranchToMol().
|
inline |
returns our index within the ROMol
Notes:
Definition at line 164 of file Bond.h.
Referenced by RDKit::FMCS::TargetMatch::init(), RDKit::queryBondIsInRingOfSize(), RDKit::queryBondMinRingSize(), RDKit::queryIsBondInNRings(), and RDKit::queryIsBondInRing().
|
inline |
|
inline |
unsigned int RDKit::Bond::getOtherAtomIdx | ( | unsigned int | thisIdx | ) | const |
given the index of one Atom, returns the index of the other
Notes:
|
inline |
returns a reference to the ROMol that owns this instance
Definition at line 149 of file Bond.h.
References PRECONDITION.
Referenced by RDKit::queryBondIsInRingOfSize(), RDKit::queryBondMinRingSize(), RDKit::queryIsBondInNRings(), and RDKit::queryIsBondInRing().
|
virtual |
|
inline |
returns our stereo code
Definition at line 292 of file Bond.h.
Referenced by RDKit::queryBondHasStereo().
|
inline |
|
inline |
double RDKit::Bond::getValenceContrib | ( | const Atom * | at | ) | const |
|
inline |
|
inlinevirtual |
Reimplemented in RDKit::QueryBond.
Definition at line 245 of file Bond.h.
Referenced by RDKit::describeQuery().
|
protected |
|
virtual |
returns whether or not we match the argument
Notes:
bondType
Bond::UNSPECIFIED or both Bonds have the same bondType
. Reimplemented in RDKit::QueryBond.
void RDKit::Bond::setBeginAtomIdx | ( | unsigned int | what | ) |
|
inline |
|
inline |
void RDKit::Bond::setEndAtomIdx | ( | unsigned int | what | ) |
sets the index of our end Atom
Notes:
Referenced by RDKit::SLNParse::addBranchToMol().
|
inline |
sets our index within the ROMol
Notes:
< this->getOwningMol()->getNumBonds()
|
inline |
|
inline |
|
inline |
sets our owning molecule
Definition at line 156 of file Bond.h.
References setOwningMol().
Referenced by setOwningMol().
void RDKit::Bond::setOwningMol | ( | ROMol * | other | ) |
sets our owning molecule
Referenced by RDKit::SLNParse::addBranchToMol().
|
virtual |
NOT CALLABLE.
Reimplemented in RDKit::QueryBond.
|
inline |
sets our stereo code
STEREONONE, STEREOANY, STEREOE and STEREOZ can be set without neighboring atoms specified in getStereoAtoms since they are defined by the topology of the molecular graph. In order to set STEREOCIS or STEREOTRANS the neighboring atoms must be set first (using setStereoBonds()) to know what atoms are being considered.
Notes:
Definition at line 285 of file Bond.h.
References PRECONDITION.
void RDKit::Bond::setStereoAtoms | ( | unsigned int | bgnIdx, |
unsigned int | endIdx | ||
) |
sets the atoms to be considered as reference points for bond stereo
These do not necessarily need to be the highest 'ranking' atoms like CIP stereo requires. They can be any arbitrary atoms neighboring the begin and end atoms of this bond respectively. STEREOCIS or STEREOTRANS is then set relative to only these atoms.
If CIP rankings are desired, use MolOps::findPotentialStereoBonds, but this is a more costly function as it takes the whole molecule topology into account.
|
inline |
|
protected |
|
protected |
|
protected |
|
protected |