Open Babel: OBAtomTyper Class Reference

Public Member Functions | Protected Attributes

# OBAtomTyper Class Reference

Assigns atom types, hybridization, implicit valence and formal charges. More...

`#include <openbabel/typer.h>`

Inheritance diagram for OBAtomTyper:

List of all members.

## Public Member Functions
| OBAtomTyper ()
| ~OBAtomTyper ()
void | ParseLine (const char *)
size_t | GetSize ()
void | AssignHyb (OBMol &)
void | AssignTypes (OBMol &)
void | AssignImplicitValence (OBMol &)
void | CorrectAromaticNitrogens (OBMol &)
void | Init ()
void | SetReadDirectory (char *dir)
void | SetEnvironmentVariable (char *var)
## Protected Attributes
bool | _init
const char * | _dataptr
std::string | _filename
std::string | _dir
std::string | _subdir
std::string | _envvar

## Detailed Description

Assigns atom types, hybridization, implicit valence and formal charges.

The OBAtomTyper class is designed to read in a list of atom typing rules and apply them to molecules. The code that performs atom typing is not usually used directly as atom typing, hybridization assignment, implicit valence assignment and charge are all done automatically when their corresponding values are requested of atoms:

        atom->GetType();
        atom->GetFormalCharge();
        atom->GetHyb();

## Constructor & Destructor Documentation

OBAtomTyper | ( | ) |

~OBAtomTyper | ( | ) |

## Member Function Documentation

void ParseLine | ( | const char * | ) | `[virtual]`

Specified by particular table classes (parses an individual data line)

Reimplemented from OBGlobalDataBase.

size_t GetSize | ( | ) | `[inline, virtual]`

Returns:
  the number of implicit valence rules

Reimplemented from OBGlobalDataBase.

void AssignHyb | ( | OBMol & | mol ) |

Assign atomic hybridization (1 = sp, 2 = sp2, 3 = sp3...)

Referenced by OBAtom::GetHyb().

void AssignTypes | ( | OBMol & | mol ) |

Assign external atomic types (i.e., EXTTYP lines in atomtyp.txt)

Referenced by OBAtom::GetType().

void AssignImplicitValence | ( | OBMol & | mol ) |

Assign implicit valence (i.e., given an atomic type, what is the expected number of bonds to this atom

Referenced by OBAtom::GetImplicitValence(), and OBAtom::ImplicitHydrogenCount().

void CorrectAromaticNitrogens | ( | OBMol & | mol ) |

Correct typing, valence, and hybridization for aromatic nitrogen atoms.

Currently sets OBMol::SetAromaticCorrected and returns.

Deprecated:
  Currently unused for anything significant.

Referenced by OBPhModel::CorrectForPH().

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:

- typer.h
- typer.cpp

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines