RDKit::MMFF Namespace Reference

## Namespaces

| Tools

## Classes

class | MMFFAtomProperties
class | MMFFMolProperties

## Typedefs

typedef boost::shared_ptr< MMFFAtomProperties > | MMFFAtomPropertiesPtr

## Enumerations

enum | { CONSTANT = 1, DISTANCE = 2 }
enum | { MMFF_VERBOSITY_NONE = 0, MMFF_VERBOSITY_LOW = 1, MMFF_VERBOSITY_HIGH = 2 }

## Functions

unsigned int | isAngleInRingOfSize3or4 (const ROMol &mol, const unsigned int idx1, const unsigned int idx2, const unsigned int idx3)
unsigned int | isTorsionInRingOfSize4or5 (const ROMol &mol, const unsigned int idx1, const unsigned int idx2, const unsigned int idx3, const unsigned int idx4)
bool | isAtomInAromaticRingOfSize (const Atom *atom, const unsigned int ringSize)
bool | isAtomNOxide (const Atom *atom)
bool | areAtomsInSameAromaticRing (const ROMol &mol, const unsigned int idx1, const unsigned int idx2)
bool | areAtomsInSameRingOfSize (const ROMol &mol, const unsigned int ringSize, const unsigned int numAtoms,...)
unsigned int | sanitizeMMFFMol (RWMol &mol)
void | setMMFFAromaticity (RWMol &mol)
unsigned int | getMMFFStretchBendType (const unsigned int angleType, const unsigned int bondType1, const unsigned int bondType2)
unsigned int | getPeriodicTableRow (const int atomicNum)
const ForceFields::MMFF::MMFFAngle * | getMMFFAngleBendEmpiricalRuleParams (const ROMol &mol, const ForceFields::MMFF::MMFFAngle *oldMMFFAngleParams, const ForceFields::MMFF::MMFFProp *mmffPropParamsCentralAtom, const ForceFields::MMFF::MMFFBond *mmffBondParams1, const ForceFields::MMFF::MMFFBond *mmffBondParams2, unsigned int idx1, unsigned int idx2, unsigned int idx3)
ForceFields::ForceField * | constructForceField (ROMol &mol, double nonBondedThresh=100.0, int confId=-1, bool ignoreInterfragInteractions=true)
| Builds and returns a MMFF force field for a molecule. More...
ForceFields::ForceField * | constructForceField (ROMol &mol, MMFFMolProperties *mmffMolProperties, double nonBondedThresh=100.0, int confId=-1, bool ignoreInterfragInteractions=true)
| Builds and returns a MMFF force field for a molecule. More...
std::pair< int, double > | MMFFOptimizeMolecule (ROMol &mol, int maxIters=1000, std::string mmffVariant="MMFF94", double nonBondedThresh=10.0, int confId=-1, bool ignoreInterfragInteractions=true)
| Convenience function for optimizing a molecule using MMFF. More...
void | MMFFOptimizeMoleculeConfs (ROMol &mol, std::vector< std::pair< int, double > > &res, int numThreads=1, int maxIters=1000, std::string mmffVariant="MMFF94", double nonBondedThresh=10.0, bool ignoreInterfragInteractions=true)
| Convenience function for optimizing all of a molecule's conformations using. More...

## Typedef Documentation

## MMFFAtomPropertiesPtr

typedef boost::shared_ptr<MMFFAtomProperties> RDKit::MMFF::MMFFAtomPropertiesPtr

Definition at line 39 of file MMFF/AtomTyper.h.

## Enumeration Type Documentation

## anonymous enum

anonymous enum

Enumerator
CONSTANT |
DISTANCE |

Definition at line 40 of file MMFF/AtomTyper.h.

## anonymous enum

anonymous enum

Enumerator
MMFF_VERBOSITY_NONE |
MMFF_VERBOSITY_LOW |
MMFF_VERBOSITY_HIGH |

Definition at line 41 of file MMFF/AtomTyper.h.

## Function Documentation

## areAtomsInSameAromaticRing()

bool RDKit::MMFF::areAtomsInSameAromaticRing | ( | const ROMol & | mol,
|  | const unsigned int | idx1,
|  | const unsigned int | idx2
| ) |  |

Referenced by RDKit::MMFF::MMFFMolProperties::isValid().

## areAtomsInSameRingOfSize()

bool RDKit::MMFF::areAtomsInSameRingOfSize | ( | const ROMol & | mol,
|  | const unsigned int | ringSize,
|  | const unsigned int | numAtoms,
|  |  | ...
| ) |  |

Referenced by RDKit::MMFF::MMFFMolProperties::isValid().

## constructForceField() [1/2]

ForceFields::ForceField* RDKit::MMFF::constructForceField | ( | ROMol & | mol,
|  | double | nonBondedThresh = `100.0`,
|  | int | confId = `-1`,
|  | bool | ignoreInterfragInteractions = `true`
| ) |  |

Builds and returns a MMFF force field for a molecule.

Parameters

  mol | the molecule to use
  nonBondedThresh | the threshold to be used in adding non-bonded terms to the force field. Any non-bonded contact whose current distance is greater than `nonBondedThresh` * the minimum value for that contact will not be included.
  confId | the optional conformer id, if this isn't provided, the molecule's default confId will be used.
  ignoreInterfragInteractions | if true, nonbonded terms will not be added between fragments

Returns
  the new force field. The client is responsible for free'ing this.

Referenced by MMFFOptimizeMolecule(), and MMFFOptimizeMoleculeConfs().

## constructForceField() [2/2]

ForceFields::ForceField* RDKit::MMFF::constructForceField | ( | ROMol & | mol,
|  | MMFFMolProperties * | mmffMolProperties,
|  | double | nonBondedThresh = `100.0`,
|  | int | confId = `-1`,
|  | bool | ignoreInterfragInteractions = `true`
| ) |  |

Builds and returns a MMFF force field for a molecule.

Parameters

  mol | the molecule to use
  mmffMolProperties | pointer to a MMFFMolProperties (as obtained by a call to setupMMFFForceField())
  nonBondedThresh | the threshold to be used in adding non-bonded terms to the force field. Any non-bonded contact whose current distance is greater than `nonBondedThresh` * the minimum value for that contact will not be included.
  confId | the optional conformer id, if this isn't provided, the molecule's default confId will be used.
  ignoreInterfragInteractions | if true, nonbonded terms will not be added between fragments

Returns
  the new force field. The client is responsible for free'ing this.

## getMMFFAngleBendEmpiricalRuleParams()

const ForceFields::MMFF::MMFFAngle* RDKit::MMFF::getMMFFAngleBendEmpiricalRuleParams | ( | const ROMol & | mol,
|  | const ForceFields::MMFF::MMFFAngle * | oldMMFFAngleParams,
|  | const ForceFields::MMFF::MMFFProp * | mmffPropParamsCentralAtom,
|  | const ForceFields::MMFF::MMFFBond * | mmffBondParams1,
|  | const ForceFields::MMFF::MMFFBond * | mmffBondParams2,
|  | unsigned int | idx1,
|  | unsigned int | idx2,
|  | unsigned int | idx3
| ) |  |

Referenced by RDKit::MMFF::MMFFMolProperties::isValid().

## getMMFFStretchBendType()

unsigned int RDKit::MMFF::getMMFFStretchBendType | ( | const unsigned int | angleType,
|  | const unsigned int | bondType1,
|  | const unsigned int | bondType2
| ) |  |

Referenced by RDKit::MMFF::MMFFMolProperties::isValid().

## getPeriodicTableRow()

unsigned int RDKit::MMFF::getPeriodicTableRow | ( | const int | atomicNum | ) |

Referenced by RDKit::MMFF::MMFFMolProperties::isValid().

## isAngleInRingOfSize3or4()

unsigned int RDKit::MMFF::isAngleInRingOfSize3or4 | ( | const ROMol & | mol,
|  | const unsigned int | idx1,
|  | const unsigned int | idx2,
|  | const unsigned int | idx3
| ) |  |

Referenced by RDKit::MMFF::MMFFMolProperties::isValid().

## isAtomInAromaticRingOfSize()

bool RDKit::MMFF::isAtomInAromaticRingOfSize | ( | const Atom * | atom,
|  | const unsigned int | ringSize
| ) |  |

Referenced by RDKit::MMFF::MMFFMolProperties::isValid().

## isAtomNOxide()

bool RDKit::MMFF::isAtomNOxide | ( | const Atom * | atom | ) |

Referenced by RDKit::MMFF::MMFFMolProperties::isValid().

## isTorsionInRingOfSize4or5()

unsigned int RDKit::MMFF::isTorsionInRingOfSize4or5 | ( | const ROMol & | mol,
|  | const unsigned int | idx1,
|  | const unsigned int | idx2,
|  | const unsigned int | idx3,
|  | const unsigned int | idx4
| ) |  |

Referenced by RDKit::MMFF::MMFFMolProperties::isValid().

## MMFFOptimizeMolecule()

std::pair<int, double> RDKit::MMFF::MMFFOptimizeMolecule | ( | ROMol & | mol,
|  | int | maxIters = `1000`,
|  | std::string | mmffVariant = `"MMFF94"`,
|  | double | nonBondedThresh = `10.0`,
|  | int | confId = `-1`,
|  | bool | ignoreInterfragInteractions = `true`
| ) |  |

Convenience function for optimizing a molecule using MMFF.

Definition at line 43 of file MMFF.h.

References RDKit::ROMol::beginConformers(), ForceFields::ForceField::calcEnergy(), constructForceField(), RDKit::ROMol::endConformers(), RDKit::ROMol::getNumAtoms(), ForceFields::ForceField::initialize(), RDKit::MMFF::MMFFMolProperties::isValid(), ForceFields::ForceField::minimize(), and ForceFields::ForceField::positions().

## MMFFOptimizeMoleculeConfs()

void RDKit::MMFF::MMFFOptimizeMoleculeConfs | ( | ROMol & | mol,
|  | std::vector< std::pair< int, double > > & | res,
|  | int | numThreads = `1`,
|  | int | maxIters = `1000`,
|  | std::string | mmffVariant = `"MMFF94"`,
|  | double | nonBondedThresh = `10.0`,
|  | bool | ignoreInterfragInteractions = `true`
| ) |  |

Convenience function for optimizing all of a molecule's conformations using.

Definition at line 104 of file MMFF.h.

References RDKit::ROMol::beginConformers(), ForceFields::ForceField::calcEnergy(), constructForceField(), RDKit::ROMol::endConformers(), RDKit::ROMol::getNumAtoms(), RDKit::ROMol::getNumConformers(), RDKit::getNumThreadsToUse(), ForceFields::ForceField::initialize(), RDKit::MMFF::MMFFMolProperties::isValid(), ForceFields::ForceField::minimize(), and ForceFields::ForceField::positions().

## sanitizeMMFFMol()

unsigned int RDKit::MMFF::sanitizeMMFFMol | ( | RWMol & | mol | ) |

Referenced by RDKit::MMFF::MMFFMolProperties::isValid().

## setMMFFAromaticity()

void RDKit::MMFF::setMMFFAromaticity | ( | RWMol & | mol | ) |

Referenced by RDKit::MMFF::MMFFMolProperties::isValid().