RDKit
Open-source cheminformatics and machine learning.
RDKit::MMFF Namespace Reference

Namespaces

 Tools
 

Classes

class  MMFFAtomProperties
 
class  MMFFMolProperties
 

Typedefs

typedef boost::shared_ptr< MMFFAtomPropertiesMMFFAtomPropertiesPtr
 

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::MMFFAnglegetMMFFAngleBendEmpiricalRuleParams (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::ForceFieldconstructForceField (ROMol &mol, double nonBondedThresh=100.0, int confId=-1, bool ignoreInterfragInteractions=true)
 Builds and returns a MMFF force field for a molecule. More...
 
ForceFields::ForceFieldconstructForceField (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

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

Enumeration Type Documentation

anonymous enum
Enumerator
CONSTANT 
DISTANCE 

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

anonymous enum
Enumerator
MMFF_VERBOSITY_NONE 
MMFF_VERBOSITY_LOW 
MMFF_VERBOSITY_HIGH 

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

Function Documentation

bool RDKit::MMFF::areAtomsInSameAromaticRing ( const ROMol mol,
const unsigned int  idx1,
const unsigned int  idx2 
)
bool RDKit::MMFF::areAtomsInSameRingOfSize ( const ROMol mol,
const unsigned int  ringSize,
const unsigned int  numAtoms,
  ... 
)
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
molthe molecule to use
nonBondedThreshthe 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.
confIdthe optional conformer id, if this isn't provided, the molecule's default confId will be used.
ignoreInterfragInteractionsif 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().

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
molthe molecule to use
mmffMolPropertiespointer to a MMFFMolProperties object
nonBondedThreshthe 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.
confIdthe optional conformer id, if this isn't provided, the molecule's default confId will be used.
ignoreInterfragInteractionsif true, nonbonded terms will not be added between fragments
Returns
the new force field. The client is responsible for free'ing this.
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 
)
unsigned int RDKit::MMFF::getMMFFStretchBendType ( const unsigned int  angleType,
const unsigned int  bondType1,
const unsigned int  bondType2 
)
unsigned int RDKit::MMFF::getPeriodicTableRow ( const int  atomicNum)
unsigned int RDKit::MMFF::isAngleInRingOfSize3or4 ( const ROMol mol,
const unsigned int  idx1,
const unsigned int  idx2,
const unsigned int  idx3 
)
bool RDKit::MMFF::isAtomInAromaticRingOfSize ( const Atom atom,
const unsigned int  ringSize 
)
bool RDKit::MMFF::isAtomNOxide ( const Atom atom)
unsigned int RDKit::MMFF::isTorsionInRingOfSize4or5 ( const ROMol mol,
const unsigned int  idx1,
const unsigned int  idx2,
const unsigned int  idx3,
const unsigned int  idx4 
)
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 
)
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 
)
unsigned int RDKit::MMFF::sanitizeMMFFMol ( RWMol mol)
void RDKit::MMFF::setMMFFAromaticity ( RWMol mol)