20 #include <boost/foreach.hpp> 102 explicit Atom(
unsigned int num);
105 explicit Atom(
const std::string &what);
141 setIdx(rdcast<unsigned int>(index));
165 unsigned int getTotalNumHs(
bool includeNeighbors =
false)
const;
244 return static_cast<HybridizationType
>(
d_hybrid);
263 virtual void setQuery(QUERYATOM_QUERY *what);
266 virtual QUERYATOM_QUERY *
getQuery()
const;
269 QUERYATOM_QUERY *what,
271 bool maintainOrder =
true);
305 virtual bool Match(
Atom const *what)
const;
307 virtual inline bool Match(
const ATOM_SPTR &what)
const {
308 return Match(what.get());
369 !strict || (mapno >= 0 && mapno < 1000),
370 "atom map number out of range [0..1000], use strict=false to override");
Queries::Query< int, Atom const *, true > QUERYATOM_QUERY
virtual QUERYATOM_QUERY * getQuery() const
NOT CALLABLE.
unrecognized hybridization
std::list< int > INT_LIST
void setNumRadicalElectrons(unsigned int num)
void setChiralTag(ChiralType what)
sets our chiralTag
unsigned int getTotalValence() const
returns the total valence (implicit and explicit) for an atom
int getAtomRLabel(const Atom *atm)
void invertChirality()
inverts our chiralTag
The abstract base class for atom-level monomer info.
bool needsUpdatePropertyCache() const
RWMol is a molecule class that is intended to be edited.
hybridization that hasn't been specified
int getImplicitValence() const
returns the implicit valence for this Atom
virtual void setQuery(QUERYATOM_QUERY *what)
NOT CALLABLE.
HybridizationType getHybridization() const
returns our hybridization
const std::string molAtomMapNumber
unsigned int getTotalNumHs(bool includeNeighbors=false) const
returns the total number of Hs (implicit and explicit) that this Atom is bound to ...
bool getIsAromatic() const
returns our isAromatic flag
std::string getAtomAlias(const Atom *atom)
unsigned int getNumRadicalElectrons() const
returns the number of radical electrons for this Atom
boost::uint8_t d_chiralTag
void setAtomValue(Atom *atom, const std::string &value)
Set the atom's MDL atom value.
virtual bool Match(Atom const *what) const
returns whether or not we match the argument
void setAtomRLabel(Atom *atm, int rlabel)
Set the atom's MDL integer RLabel.
some unrecognized type of chirality
boost::int8_t d_explicitValence
ROMol is a molecule class that is intended to have a fixed topology.
double getMass() const
returns our mass
int getExplicitValence() const
returns the explicit valence (including Hs) of this atom
void setIdx(const U index)
overload
void updatePropertyCache(bool strict=true)
calculates any of our lazy properties
unsigned int getIsotope() const
returns our isotope number
tetrahedral: clockwise rotation (SMILES @@)
void clearProp(const std::string &key) const
clears the value of a property
void setNumExplicitHs(unsigned int what)
sets our number of explict Hs
virtual void expandQuery(QUERYATOM_QUERY *what, Queries::CompositeQueryType how=Queries::COMPOSITE_AND, bool maintainOrder=true)
NOT CALLABLE.
AtomMonomerInfo * getMonomerInfo()
void setAtomicNum(int newNum)
sets our atomic number
void setIsotope(unsigned int what)
sets our isotope number
void setHybridization(HybridizationType what)
sets our hybridization
int getFormalCharge() const
returns the formal charge of this atom
void setSupplementalSmilesLabel(Atom *atom, const std::string &label)
Sets the supplemental label that will follow the atom when writing.
unsigned int getIdx() const
returns our index within the ROMol
ChiralType
store type of chirality
void setMonomerInfo(AtomMonomerInfo *info)
takes ownership of the pointer
HybridizationType
store hybridization
int getAtomicNum() const
returns our atomic number
bool hasProp(const std::string &key) const
unsigned int getNumImplicitHs() const
returns the number of implicit Hs this Atom is bound to
int calcExplicitValence(bool strict=true)
calculates and returns our explicit valence
virtual bool hasQuery() const
void setOwningMol(ROMol *other)
sets our owning molecule
bool getNoImplicit() const
returns the noImplicit flag
const AtomMonomerInfo * getMonomerInfo() const
tetrahedral: counter-clockwise rotation (SMILES
unsigned int getNumExplicitHs() const
returns our number of explict Hs
handles pickling (serializing) molecules
boost::uint16_t d_isotope
int calcImplicitValence(bool strict=true)
calculates and returns our implicit valence
boost::shared_ptr< Atom > ATOM_SPTR
boost::uint8_t d_atomicNum
void setProp(const std::string &key, T val, bool computed=false) const
sets a property value
virtual bool Match(const ATOM_SPTR &what) const
#define PRECONDITION(expr, mess)
int getAtomMapNum() const
std::ostream & operator<<(std::ostream &target, const RDKit::Atom &at)
allows Atom objects to be dumped to streams
int getPerturbationOrder(INT_LIST probe) const
returns the perturbation order for a list of integers
boost::uint16_t atomindex_t
void setNoImplicit(bool what)
sets our noImplicit flag, indicating whether or not we are allowed to have implicit Hs ...
unsigned int getDegree() const
ROMol & getOwningMol() const
returns a reference to the ROMol that owns this Atom
void setIdx(unsigned int index)
sets our index within the ROMol
boost::shared_ptr< const Atom > C_ATOM_SPTR
boost::int8_t d_formalCharge
boost::int8_t d_implicitValence
AtomMonomerInfo * dp_monomerInfo
Pulls in all the query types.
ChiralType getChiralTag() const
returns our chiralTag
bool getPropIfPresent(const std::string &key, T &res) const
chirality that hasn't been specified
unsigned int getTotalDegree() const
std::string getSymbol() const
returns our symbol (determined by our atomic number)
boost::uint8_t d_numRadicalElectrons
Base class for all queries.
void setFormalCharge(int what)
set's the formal charge of this atom
void setAtomAlias(Atom *atom, const std::string &alias)
Set the atom's MDL atom alias.
std::string getAtomValue(const Atom *atom)
boost::uint8_t d_numExplicitHs
void setAtomMapNum(int mapno, bool strict=true)
Set the atom map Number of the atom.
void setOwningMol(ROMol &other)
sets our owning molecule
The class for representing atoms.
void setIsAromatic(bool what)
sets our isAromatic flag, indicating whether or not we are aromatic
std::string getSupplementalSmilesLabel(const Atom *atom)
virtual Atom * copy() const
makes a copy of this Atom and returns a pointer to it.