OBAromaticTyper Class Reference

Assigns aromatic typing to atoms and bonds. More...

#include <typer.h>

Inheritance diagram for OBAromaticTyper:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 OBAromaticTyper ()
 ~OBAromaticTyper ()
unsigned int GetSize ()
 
Returns:
the number of SMARTS patterns

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

Detailed Description

Assigns aromatic typing to atoms and bonds.

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


Constructor & Destructor Documentation

OBAromaticTyper (  ) 

~OBAromaticTyper (  ) 


Member Function Documentation

unsigned int GetSize (  )  [inline, virtual]

Returns:
the number of SMARTS patterns

Reimplemented from OBGlobalDataBase.

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

Parameters:
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.

bool TraverseCycle ( OBAtom ,
OBAtom ,
OBBond ,
std::pair< int, int > &  ,
int   
)

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().


Member Data Documentation

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


The documentation for this class was generated from the following files: