This API is currently available in C++ and Python.
class OEMMFFInterCoulomb : public OEMolPotential::OEMolFunc1
The OEMMFFInterCoulomb class provides the ability to perform intermolecular electrostatics calculations. The electrostatic field of a rigid molecule is represented by a grid which allows rapid evaluation of energies and gradients.
- The following methods are publicly inherited from OEFunc0:
- The following methods are publicly inherited from OEFunc1:
- The following methods are publicly inherited from OEMolFunc:
- The OEMMFFInterCoulomb class defines the following additional public methods:
OEMMFFInterCoulomb(const OEMMFFInterCoulomb &) OEMMFFInterCoulomb(const OESystem::OEFixedMultiGrid<float> &grid) OEMMFFInterCoulomb(const OEChem::OEMolBase &, double minmax, double dielectric=1.0, double exponent=1.0, double resolution=0.5)
Default and copy constructors.
The second constructor constructs an OEMMFFInterCoulomb instance from the existing grid. Grids may be stored in OEBinary format. The dielectric constant, exponent, and resolution values used to construct the grid initially, may not be altered for an OEMMFFInterCoulomb object constructed that way. Third constructor constructs an OEMMFFInterCoulomb instance based on the molecule (first argument) from which the electrostatic field will be generated. Partial charges and hydrogen positions should already be assigned for the molecule prior to construction of an OEMMFFInterCoulomb instance. The second argument is an array of double precision floating point values which describe the boundaries of the electrostatic grid. The first three array values are the minimum x, y, and z Cartesian coordinates, respectively. The final three array values are the maximum x, y and z Cartesian coordinates. Subsequent calculations will only include contributions from atoms with coordinates located inside the bounding box. Atoms which fall outside the bounding box do not contribute to the electrostatic calculation. The minimum and maximum grid values should therefore be chosen carefully to include interactions from all reasonable atom coordinates. The third argument is used to set the dielectric constant used for the electrostatics calculation. The default dielectric constant is set to 1.0. The dielectric constant used for calculating intermolecular interactions is independent of the dielectric constant used in intramolecular calculations with the OEMMFFCoulomb object. The fourth argument is used to set the exponent used for the electrostatics calculation. The default exponent is set to 1.0. The exponent used for calculating the intermolecular interactions is independent of the exponent used in the intramolecular performed with the use of the OEMMFFCoulomb class. The final argument specifies the resolution to be used when constructing the electrostatics grid. Resolution is equivalent to the length of one side of one grid unit (in Angstroms).
OEMMFFInterCoulomb &operator=(const OEMMFFInterCoulomb &)
The assignment operator.
const OESystem::OEFixedMultiGrid<float> &GetGrid() const
Returns a const reference to the grid that represents the Coulomb potential around an active site of a protein. The returned grid may be written in OEBinary format, and used later to construct OEMMFFInterCoulomb instances using the constructor which takes a OEFixedMultiGrid as an argument.
bool Set(const OESystem::OEUnaryPredicate<OEChem::OEAtomBase>&)
This method can be used for interaction-level control of the intermolecular electrostatic term. Interactions between two atoms are only included if the test of the binary predicate with both atoms returns true. The Set method must be called before the Setup for it to be effective.