OEIsWater¶
class OEIsWater : public OESystem::OEUnaryPredicate<OEChem::OEAtomBase>
This class represents OEIsWater functor that determines if an atom (OEAtomBase) is in a water molecule.
See also
Residue Data Functors section
The following methods are publicly inherited from OEUnaryPredicate:
The following methods are publicly inherited from OEUnaryFunction:
Constructors¶
OEIsWater(bool checkHydrogens=false, bool allowIons=false)
Constructs the functor to determine if an atom is part of a water molecule.
If the optional argument checkHydrogens
is set to true
, the function checks whether
hydrogen atoms are part of a water molecule and returns true
. The default behavior
only returns true
for water oxygen atoms, which is useful for counting water molecules in a system.
If optional argument allowIons
is set to true
, the function allows checking for
the water ions \(OH^{-}\) and \(H_{3}O^{+}\).
operator()¶
bool operator()(const OEChem::OEAtomBase &atom) const
Returns true
, if the atom
read from a
pdb
file with the following pdb residue names: HOH, H2O, DOD, D2O, WAT, TIP, SOL, OH2, OD2.is an oxygen and has no heavy atom neighbor
otherwise it returns false
.
CreateCopy¶
OESystem::OEUnaryFunction<OEChem::OEAtomBase, bool> *CreateCopy() const
Deep copy constructor that returns a copy of the object. The memory for the returned OEIsWater object is dynamically allocated and owned by the caller.
The returned copy should be deallocated using C++ delete operator in order to prevent a memory leak.