Open Babel  3.0
Public Member Functions | Protected Attributes | List of all members
OBTypeTable Class Reference

#include <openbabel/data.h>

Inheritance diagram for OBTypeTable:
OBGlobalDataBase

Public Member Functions

 OBTypeTable (void)
 
 ~OBTypeTable ()
 
void ParseLine (const char *)
 
size_t GetSize ()
 
bool SetFromType (const char *)
 
bool SetToType (const char *)
 
bool Translate (char *to, const char *from)
 
bool Translate (std::string &to, const std::string &from)
 
std::string Translate (const std::string &from)
 
std::string GetFromType ()
 
std::string GetToType ()
 
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

Atom Type Translation Table.

Molecular file formats frequently store information about atoms in an atom type field. Some formats store only the element for each atom, while others include hybridization and local environments, such as the Sybyl mol2 atom type field. The OBTypeTable class acts as a translation table to convert atom types between a number of different molecular file formats. The constructor for OBTypeTable automatically reads the text file types.txt. An instance of OBTypeTable (ttab) is declared external in data.cpp and is referenced as extern OBTypeTable ttab in mol.h. The following code demonstrates how to use the OBTypeTable class to translate the internal representation of atom types in an OBMol Internal to Sybyl Mol2 atom types.

ttab.SetToType("SYB");
OBAtom *atom;
vector<OBAtom*>::iterator i;
string src,dst;
for (atom = mol.BeginAtom(i);atom;atom = mol.EndAtom(i))
{
src = atom->GetType();
ttab.Translate(dst,src);
cout << "atom number " << atom->GetIdx() << "has mol2 type " << dst << endl;
}

Current atom types include (defined in the top line of the data file types.txt):

Constructor & Destructor Documentation

◆ OBTypeTable()

OBTypeTable ( void  )

◆ ~OBTypeTable()

~OBTypeTable ( )
inline

Member Function Documentation

◆ ParseLine()

void ParseLine ( const char *  )
virtual

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

Reimplemented from OBGlobalDataBase.

◆ GetSize()

size_t GetSize ( )
inlinevirtual
Returns
the number of atom types in the translation table

Reimplemented from OBGlobalDataBase.

◆ SetFromType()

bool SetFromType ( const char *  from)

Set the initial atom type to be translated.

◆ SetToType()

bool SetToType ( const char *  to)

Set the destination atom type for translation.

◆ Translate() [1/3]

bool Translate ( char *  to,
const char *  from 
)

Translate atom types.

Translates atom types (to, from), checking for size of destination string and null-terminating as needed

Deprecated:
Because there is no guarantee on the length of an atom type you should consider using std::string instead

◆ Translate() [2/3]

bool Translate ( std::string &  to,
const std::string &  from 
)

Translate atom types

Returns
whether the translation was successful

◆ Translate() [3/3]

std::string Translate ( const std::string &  from)

Translate atom types

Returns
the translated atom type, or an empty string if not possible

◆ GetFromType()

std::string GetFromType ( )
Returns
the initial atom type to be translated

◆ GetToType()

std::string GetToType ( )
Returns
the destination atom type for translation

◆ Init()

void Init ( )
inherited

Read in the data file, falling back as needed.

Referenced by OBRotorList::Init().

◆ SetReadDirectory()

void SetReadDirectory ( char *  dir)
inlineinherited

Set the directory before calling Init()

◆ SetEnvironmentVariable()

void SetEnvironmentVariable ( char *  var)
inlineinherited

Set the environment variable to use before calling Init()

Member Data Documentation

◆ _init

bool _init
protectedinherited

Whether the data been read already.

◆ _dataptr

const char* _dataptr
protectedinherited

Default data table if file is unreadable.

◆ _filename

std::string _filename
protectedinherited

File to search for.

◆ _dir

std::string _dir
protectedinherited

Data directory for file if _envvar fails.

◆ _subdir

std::string _subdir
protectedinherited

Subdirectory (if using environment variable)

◆ _envvar

std::string _envvar
protectedinherited

Environment variable to check first.


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