unsigned int OEMMFFAtomType(const OEAtomBase *atom, bool &fail)

Returns the MMFF94 integer atom type for the passed atom. Parameter fail is assigned to true when MMFF94 atom type is not found.

OEMMFFTypeResult OEMMFFAtomType(const OEAtomBase *atom)

Returns whether an MMFF94 integer atom type can be assigned to an atom and the type itself stored in an OEMMFFTypeResult object.


Use this overloaded function in the supported wrapped languages: Python, Java and C#.

OEGraphMol mol = new OEGraphMol();
oechem.OESmilesToMol(mol, "c1ccccc1C[Se]");

for (OEAtomBase atom : mol.GetAtoms()) {
    OEMMFFTypeResult mmffres = new OEMMFFTypeResult(oechem.OEMMFFAtomType(atom));
    System.out.println(atom.GetIdx() + " " + mmffres.GetFailed() + " " + 

The correct atom typing requires the following conditions:

  • The molecule has to have explicit hydrogens.
  • The molecule has to have (MMFF) aromaticity model.


We highly recommmend to assign MMFF partial charges to a molecule by calling the OEAssignPartialCharges function with the OECharges.MMFF94 parameter.