#include <typer.h>
Inheritance diagram for OBAromaticTyper:
Public Member Functions | |
OBAromaticTyper () | |
~OBAromaticTyper () | |
unsigned int | GetSize () |
| |
void | ParseLine (const char *) |
Specified by particular table classes (parses an individual data line). | |
void | AssignAromaticFlags (OBMol &) |
Assign aromaticity flag to atoms and bonds. | |
void | PropagatePotentialAromatic (OBAtom *) |
void | SelectRootAtoms (OBMol &, bool avoidInnerRingAtoms=true) |
void | ExcludeSmallRing (OBMol &) |
Remove 3-member rings from consideration. | |
void | CheckAromaticity (OBAtom *root, int searchDepth) |
Check aromaticity starting from the root atom, up to a specified depth. | |
bool | TraverseCycle (OBAtom *, OBAtom *, OBBond *, std::pair< int, int > &, int) |
void | Init () |
Read in the data file, falling back as needed. | |
void | SetReadDirectory (char *dir) |
Set the directory before calling Init(). | |
void | SetEnvironmentVariable (char *var) |
Set the environment variable to use before calling Init(). | |
Protected Attributes | |
bool | _init |
whether the data been read already | |
const char * | _dataptr |
default data table if file is unreadable | |
std::string | _filename |
file to search for | |
std::string | _dir |
data directory for file if _envvar fails | |
std::string | _subdir |
subdirectory (if using environment variable) | |
std::string | _envvar |
environment variable to check first |
The OBAromaticTyper class is designed to read in a list of aromatic perception rules and apply them to molecules. The code that performs typing is not usually used directly -- it is usually done automatically when their corresponding values are requested of atoms or bonds.
atom->IsAromatic();
bond->IsAromatic();
bond->IsDouble(); // needs to check aromaticity and define Kekule structures
OBAromaticTyper | ( | ) |
~OBAromaticTyper | ( | ) |
unsigned int GetSize | ( | ) | [inline, virtual] |
void ParseLine | ( | const char * | buffer | ) | [virtual] |
Specified by particular table classes (parses an individual data line).
Reimplemented from OBGlobalDataBase.
void AssignAromaticFlags | ( | OBMol & | ) |
Assign aromaticity flag to atoms and bonds.
void PropagatePotentialAromatic | ( | OBAtom * | ) |
void SelectRootAtoms | ( | OBMol & | mol, | |
bool | avoidInnerRingAtoms = true | |||
) |
Select the root atoms for traversing atoms in rings.
Picking only the begin atom of a closure bond can cause difficulties when the selected atom is an inner atom with three neighbour ring atoms. Why ? Because this atom can get trapped by the other atoms when determining aromaticity, because a simple visited flag is used in the OBAromaticTyper::TraverseCycle() method.
Ported from JOELib, copyright Joerg Wegner, 2003 under the GPL version 2
mol | the molecule | |
avoidInnerRingAtoms | inner closure ring atoms with more than 2 neighbours will be avoided |
void ExcludeSmallRing | ( | OBMol & | ) |
Remove 3-member rings from consideration.
void CheckAromaticity | ( | OBAtom * | root, | |
int | searchDepth | |||
) |
Check aromaticity starting from the root atom, up to a specified depth.
void Init | ( | ) | [inherited] |
Read in the data file, falling back as needed.
void SetReadDirectory | ( | char * | dir | ) | [inline, inherited] |
Set the directory before calling Init().
void SetEnvironmentVariable | ( | char * | var | ) | [inline, inherited] |
Set the environment variable to use before calling Init().
bool _init [protected, inherited] |
whether the data been read already
const char* _dataptr [protected, inherited] |
default data table if file is unreadable
std::string _filename [protected, inherited] |
file to search for
std::string _dir [protected, inherited] |
data directory for file if _envvar fails
std::string _subdir [protected, inherited] |
subdirectory (if using environment variable)
std::string _envvar [protected, inherited] |
environment variable to check first