This class represents OEArea. OEArea is a simple object that calculates surface area using the same grid-based Gaussians that Zap uses. This class is mostly used for calculating the area term in solvation calculations or the buried area term in bind calculations.
OEArea() OEArea(const OEArea &)
Default and copy constructors.
OEArea &operator=(const OEArea &)
float GetArea(const OEChem::OEMolBase &mol) bool GetArea(const OEChem::OEMolBase &mol, float *atomArea)
Calculate the surface area of the passed-in molecule. The first version calculates the surface area of the entire molecule. The second version takes an array sized by OEMolBase::GetMaxAtomIdx to return the contribution of each atom to the total surface area.
Note that whether or not hydrogens are included in these calculations is controlled by OEArea.SetUseHydrogens which is set to false by default.
The following demonstrates how to calculate the area of a molecule:
Example of calculating the surface area of a molecule
area = oezap.OEArea() a = area.GetArea(mol) print("Molecule area =", a)
The following demonstrates how to retrieve the individual atom contributions to the surface area:
Example of calculating the surface area contribution of individual atoms
atomArea = oechem.OEFloatArray(mol.GetMaxAtomIdx()) area = oezap.OEArea() area.GetArea(mol, atomArea) for atom in mol.GetAtoms(): idx = atom.GetIdx() print(idx, atomArea[idx])
unsigned int GetMethod() const
bool GetUseHydrogens() const
Returns a bool where true means explicit hydrogens are turned on and false means they are turned off for the area calculation.
bool SetMethod(const unsigned int method)
bool SetUseHydrogens(bool state)
This method takes a bool where true turns on explicit hydrogens for calculating area and false turn them off.