void OEAssignAromaticFlags(OEMolBase &mol,
                           unsigned int model=OEAroModel::OpenEye,
                           bool clearflags=true, unsigned int maxpath=0,
                           bool prune=false)

Determines the aromatic atoms and bonds of a molecule. The aromaticity model to be used is specified by the ‘model’ parameter, which defaults to the OEAroModel.OpenEye model of aromaticity. Other predefined aromaticity models provided by OEChem include OEAroModel.Daylight, OEAroModel.Tripos, OEAroModel.MMFF and OEAroModel.MDL that represent the Daylight, Tripos, MMFF and MDL definitions, respectively. The ‘clearflags’ parameter is used to specify whether this call needs to clear the aromaticity flags first, using OEClearAromaticFlags. Newly created molecules that have not had their aromaticity assigned yet can specify false, for a very small performance advantage.

The ‘maxpath’ parameter allows the user to specify the maximum path length to consider an aromatic cycle, or zero (the default) to specify no upper bound on aromatic cycle length. Some formal models of aromaticity use the value six, limiting aromaticity to six membered rings like benzene or pyridine.

The ‘prune’ parameter is used to specify whether or not to run a post-processing step to consider rings with exo-double bonds as not aromatic. This is also required by some formal models of aromaticity.

The assigned atom and bond aromaticity can be accessed by OEAtomBase.IsAromatic and OEBondBase.IsAromatic methods, respectively.

See also