patty Class Reference

Programmable Atom Typer. More...

#include <openbabel/patty.h>

List of all members.

Public Member Functions

 patty ()
 patty (char *s)
 patty (const std::string &s)
 ~patty ()
void debug_on ()
void debug_off ()
void read_rules (const std::string &infile)
void assign_rules (std::vector< std::string > &rules)
void assign_types (OBMol &mol, std::vector< std::string > &atm_typ)
void assign_types (OBMol &mol, std::vector< int > &atm_typ)
int type_to_int (const std::string &type, bool failOnUndefined=false)
int Istype (const std::string &type)

Detailed Description

Programmable Atom Typer.

This code is currently not used by the Open Babel library. Instead, OBAtomTyper and OBAromaticTyper are used. Unless there is interest in retaining this independent class, it will be removed in the future.

Patty stands for programmable atom typer. The patty class was kindly donated by W. Patrick Walters. The patty class provides a more flexible means for atom typing than the OBAtomTyper. The behavior of patty is similar to the OBAtomTyper in that rules apply only to the first atom in the SMARTS pattern. The patty class can read any free format ASCII file which contains SMARTS patterns associated with user defined atom type. The following is an example of a valid patty rule

    O=C hbacceptor

The following is a code sample that demonstrates the use of patty class:

    OBMol mol;

    string rulefile = "rules.txt";
    patty p;
    vector<string> type;
    for (int i = 1;i <= mol.NumAtoms();++i)
       cout << "atom number " << i << " was given a type " << type[i] << endl;

The array indices in the vector<string> into which the result values are placed match the corresponding atom numbers. Since atoms are numbered beginning from one, the first element in the vector<string> is empty, and the values are placed in [1...mol.NumAtoms()].

Constructor & Destructor Documentation

patty (  )  [inline]
patty ( char *  s  )  [inline]
patty ( const std::string &  s  )  [inline]
~patty (  )  [inline]

Member Function Documentation

void debug_on (  )  [inline]
void debug_off (  )  [inline]
void read_rules ( const std::string &  infile  ) 
void assign_rules ( std::vector< std::string > &  rules  ) 
void assign_types ( OBMol mol,
std::vector< std::string > &  atm_typ 
void assign_types ( OBMol mol,
std::vector< int > &  atm_typ 
int type_to_int ( const std::string &  type,
bool  failOnUndefined = false 

Referenced by patty::assign_types().

int Istype ( const std::string &  type  ) 

return atom type index, 0 otherwise

return null if the type does not exist, the type position otherwise the first position start at 1

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines