#include <patty.h>
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) |
return atom type index, 0 otherwise |
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
OBMol mol; string rulefile = "rules.txt"; patty p; p.read_rules(p); vector<string> type; p.assign_types(mol,type); for (int i = 1;i <= mol.NumAtoms();i++) cout << "atom number " << i << " was given a type " << type[i] << endl;
patty | ( | ) | [inline] |
patty | ( | char * | s | ) | [inline] |
patty | ( | const std::string & | s | ) | [inline] |
~patty | ( | ) | [inline] |
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 | |||
) |
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