RDKit
Open-source cheminformatics and machine learning.
|
Class for storing Bond queries. More...
#include <QueryBond.h>
Public Types | |
typedef Queries::Query< int, Bond const *, true > | QUERYBOND_QUERY |
Public Types inherited from RDKit::Bond | |
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 , STEREOATROPCW , STEREOATROPCCW } |
the nature of the bond's stereochem (for cis/trans) More... | |
typedef Queries::Query< int, Bond const *, true > | QUERYBOND_QUERY |
Public Member Functions | |
QueryBond () | |
QueryBond (BondType bT) | |
initialize with a particular bond order | |
QueryBond (const Bond &other) | |
initialize from a bond | |
QueryBond (const QueryBond &other) | |
QueryBond (QueryBond &&other) noexcept | |
QueryBond & | operator= (QueryBond &&other) noexcept |
~QueryBond () override | |
Bond * | copy () const override |
returns a copy of this query, owned by the caller | |
QueryBond & | operator= (const QueryBond &other) |
void | setBondType (BondType bT) |
sets the BondType of this query: | |
void | setBondDir (BondDir bD) |
sets the BondDir of this query: | |
bool | Match (Bond const *what) const override |
returns true if we match Bond what | |
bool | QueryMatch (QueryBond const *what) const |
returns true if our query details match those of QueryBond what | |
bool | hasQuery () const override |
QUERYBOND_QUERY * | getQuery () const override |
returns our current query | |
void | setQuery (QUERYBOND_QUERY *what) override |
replaces our current query with the value passed in | |
void | expandQuery (QUERYBOND_QUERY *what, Queries::CompositeQueryType how=Queries::COMPOSITE_AND, bool maintainOrder=true) override |
expands our current query | |
double | getValenceContrib (const Atom *at) const override |
returns our contribution to the explicit valence of an Atom | |
Public Member Functions inherited from RDKit::Bond | |
Bond () | |
Bond (BondType bT) | |
construct with a particular BondType | |
Bond (const Bond &other) | |
virtual | ~Bond () |
Bond & | operator= (const Bond &other) |
Bond (Bond &&o) noexcept | |
Bond & | operator= (Bond &&o) noexcept |
BondType | getBondType () const |
returns our bondType | |
void | setBondType (BondType bT) |
sets our bondType | |
double | getBondTypeAsDouble () const |
returns our bondType as a double (e.g. SINGLE->1.0, AROMATIC->1.5, etc.) | |
void | setIsAromatic (bool what) |
sets our isAromatic flag | |
bool | getIsAromatic () const |
returns the status of our isAromatic flag | |
void | setIsConjugated (bool what) |
sets our isConjugated flag | |
bool | getIsConjugated () const |
returns the status of our isConjugated flag | |
bool | hasOwningMol () const |
returns whether or not this instance belongs to a molecule | |
ROMol & | getOwningMol () const |
returns a reference to the ROMol that owns this instance | |
void | setOwningMol (ROMol *other) |
sets our owning molecule | |
void | setOwningMol (ROMol &other) |
sets our owning molecule | |
bool | invertChirality () |
unsigned int | getIdx () const |
returns our index within the ROMol | |
void | setIdx (unsigned int index) |
sets our index within the ROMol | |
unsigned int | getBeginAtomIdx () const |
returns the index of our begin Atom | |
unsigned int | getEndAtomIdx () const |
returns the index of our end Atom | |
unsigned int | getOtherAtomIdx (unsigned int thisIdx) const |
given the index of one Atom, returns the index of the other | |
void | setBeginAtomIdx (unsigned int what) |
sets the index of our begin Atom | |
void | setEndAtomIdx (unsigned int what) |
sets the index of our end Atom | |
void | setBeginAtom (Atom *at) |
sets our begin Atom | |
void | setEndAtom (Atom *at) |
sets our end Atom | |
Atom * | getBeginAtom () const |
returns a pointer to our begin Atom | |
Atom * | getEndAtom () const |
returns a pointer to our end Atom | |
Atom * | getOtherAtom (Atom const *what) const |
returns a pointer to the other Atom | |
void | setBondDir (BondDir what) |
sets our direction | |
BondDir | getBondDir () const |
returns our direction | |
void | setStereo (BondStereo what) |
sets our stereo code | |
BondStereo | getStereo () const |
returns our stereo code | |
void | setStereoAtoms (unsigned int bgnIdx, unsigned int endIdx) |
sets the atoms to be considered as reference points for bond stereo | |
const INT_VECT & | getStereoAtoms () const |
returns the indices of our stereo atoms | |
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. | |
void | updatePropertyCache (bool strict=true) |
calculates any of our lazy properties | |
Public Member Functions inherited from RDKit::RDProps | |
RDProps () | |
RDProps (const RDProps &rhs) | |
RDProps & | operator= (const RDProps &rhs) |
RDProps (RDProps &&o) noexcept=default | |
RDProps & | operator= (RDProps &&rhs) noexcept=default |
void | clear () |
const Dict & | getDict () const |
gets the underlying Dictionary | |
Dict & | getDict () |
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 > | |
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 | |
QUERYBOND_QUERY * | dp_query {nullptr} |
Protected Attributes inherited from RDKit::Bond | |
ROMol * | dp_mol |
INT_VECT * | dp_stereoAtoms |
atomindex_t | d_index |
atomindex_t | d_beginAtomIdx |
atomindex_t | d_endAtomIdx |
bool | df_isAromatic |
bool | df_isConjugated |
std::uint8_t | d_bondType |
std::uint8_t | d_dirTag |
std::uint8_t | d_stereo |
Protected Attributes inherited from RDKit::RDProps | |
Dict | d_props |
Additional Inherited Members | |
Protected Member Functions inherited from RDKit::Bond | |
void | initBond () |
Class for storing Bond queries.
QueryBond objects are derived from Bond objects, so they can be added to molecules and the like, but they have much fancier querying capabilities.
Definition at line 28 of file QueryBond.h.
Definition at line 30 of file QueryBond.h.
|
inline |
Definition at line 32 of file QueryBond.h.
|
explicit |
initialize with a particular bond order
initialize from a bond
Definition at line 36 of file QueryBond.h.
References RDKit::makeBondOrderEqualsQuery().
Definition at line 38 of file QueryBond.h.
References Queries::Query< MatchFuncArgType, DataFuncArgType, needsConversion >::copy(), and dp_query.
|
inlinenoexcept |
Definition at line 45 of file QueryBond.h.
|
override |
|
overridevirtual |
returns a copy of this query, owned by the caller
Reimplemented from RDKit::Bond.
|
overridevirtual |
expands our current query
what | the Queries::Query to be added. The ownership of the query is passed to the current object, where it might be deleted, so that the pointer should not be used again in the calling code. |
how | the operator to be used in the expansion |
maintainOrder | (optional) flags whether the relative order of the queries needs to be maintained, if this is false, the order is reversed |
Notes:
what
should probably be constructed using one of the functions defined in QueryOps.hmaintainOrder
option can be useful because the combination operators short circuit when possible. Reimplemented from RDKit::Bond.
|
inlineoverridevirtual |
returns our current query
Reimplemented from RDKit::Bond.
Definition at line 79 of file QueryBond.h.
returns our contribution to the explicit valence of an Atom
Notes:
Reimplemented from RDKit::Bond.
|
inlineoverridevirtual |
Reimplemented from RDKit::Bond.
Definition at line 76 of file QueryBond.h.
returns true if we match Bond what
Reimplemented from RDKit::Bond.
Definition at line 48 of file QueryBond.h.
returns true if our query details match those of QueryBond what
|
inlineoverridevirtual |
replaces our current query with the value passed in
Reimplemented from RDKit::Bond.
Definition at line 81 of file QueryBond.h.
|
protected |
Definition at line 117 of file QueryBond.h.
Referenced by QueryBond().