std::string OECreateIUPACName(const OEChem::OEMolBase &mol,
const unsigned char *style=OENamStyleOpenEye)
This function attempts to generate a ``reasonable'' IUPAC name for the
given molecule, mol, and return the result in a C++ STL string.
These ``reasonable'' names attempts to be one of the recommended IUPAC
names for a compound, however occassionally this function may fall back
to using IUPAC ``systematic'' naming for parts of a molecule. Any parts
of a molecule that cannot be named, result in the substring BLAH
appearing in the returned string.
The optional style argument can be used to control and customize the
style of the names generated by this function. The nine currently
predefined name styles are
OENamStyleOpenEye (the default),
OENamStyleIUPAC,
OENamStyleIUPAC79,
OENamStyleIUPAC93,
OENamStyleTraditional,
OENamStyleAutoNom,
OENamStyleCAS,
OENamStyleCASIndex
and OENamStyleSystematic.
After the name has been generated it may be translated into one of
several languages, for example using the OEToGerman or
OEToJapanese functions, then optionally capitalized using
OECapitalizeName, and finally converted into a final character
encoding, for example using OEToUTF8 or OEToHTML.