#include <BALL/STRUCTURE/smartsMatcher.h>
Classes | |
class | RecStruct_ |
a wrapper class which is used as an interface in the matching code to the pool More... | |
class | RecStructCore_ |
core structure of the recursive matching algorithm for the object pool More... | |
class | RecStructPool_ |
class which does the pool operations of the RecStructCore_ pool More... | |
Public Types | |
Typedefs | |
typedef std::vector< std::set < const Atom * > > | Match |
Public Member Functions | |
Constructors and Destructors | |
SmartsMatcher () | |
default constructor | |
virtual | ~SmartsMatcher () |
destructor | |
Accessors | |
void | match (Match &matches, Molecule &mol, const String &smarts) throw (Exception::ParseError) |
method to match a Smarts pattern given as a string to given molecule | |
void | match (Match &matches, Molecule &mol, const String &smarts, const std::set< const Atom * > &start_atoms) throw (Exception::ParseError) |
method to match a Smarts pattern given as a string to given molecule. The atoms which will be used for starting matching are given in atoms | |
void | match (std::vector< Match > &matches, Molecule &mol, const std::vector< String > &smarts) throw (Exception::ParseError) |
method to match several Smarts patterns given as a vector of strings | |
void | match (std::vector< Match > &matches, Molecule &mol, const std::vector< String > &smarts, const std::set< const Atom * > &start_atoms) throw (Exception::ParseError) |
method to match several Smarts patterns given as a vector of string. The atoms used for start matchings are given in start_atoms | |
void | setSSSR (const std::vector< std::vector< Atom * > > &sssr) |
sets an SSSR which is used instead of doing an ring perception | |
void | unsetSSSR () |
this function is used to cause the matcher to do an ring perception if needed (do not use the set SSSR any more) | |
Protected Types | |
Typedefs | |
typedef SmartsParser::SPNode | SPNode |
typedef SmartsParser::SPEdge | SPEdge |
typedef SmartsParser::SPAtom | SPAtom |
typedef SmartsParser::SPBond | SPBond |
Protected Member Functions | |
bool | evaluateRingEdges_ (const std::set< const Atom * > &matching, const std::map< const SPNode *, const Atom * > &mapping, const String &smarts) |
method for evaluation of ring edges, after the the smarts tree is matched to molcule | |
void | evaluate_ (RecStruct_ &rs, SPNode *start_node, const Atom *start_atom) |
method for the evaluation of a pseudo-tree | |
bool | evaluate_node_ (RecStruct_ &rs, SPNode *start_node, const Atom *start_atom) |
method for evaluating a node of a pseudo-tree | |
bool | evaluate_edge_ (RecStruct_ &rs, SPEdge *start_node, const Atom *start_atom, const Bond *start_bond) |
method for evaluating a edge of a pseudo-tree | |
Protected Attributes | |
std::map< SPNode *, std::vector< std::set < const Atom * > > > | rec_matches_ |
matches from the recurive part | |
bool | has_user_sssr_ |
user SSSR set? | |
std::vector< std::vector< Atom * > > | sssr_ |
user sssr | |
Size | depth_ |
Static Protected Attributes | |
static RecStructPool_ * | pool_ |
the pool of rec struct objects | |
Private Member Functions | |
SmartsMatcher (const SmartsMatcher &matcher) | |
copy constructor | |
Operators | |
SmartsMatcher & | operator= (const SmartsMatcher &matcher) |
assignment operator |
typedef std::vector<std::set<const Atom*> > BALL::SmartsMatcher::Match |
typedef SmartsParser::SPAtom BALL::SmartsMatcher::SPAtom [protected] |
typedef SmartsParser::SPBond BALL::SmartsMatcher::SPBond [protected] |
typedef SmartsParser::SPEdge BALL::SmartsMatcher::SPEdge [protected] |
typedef SmartsParser::SPNode BALL::SmartsMatcher::SPNode [protected] |
BALL::SmartsMatcher::SmartsMatcher | ( | ) |
default constructor
virtual BALL::SmartsMatcher::~SmartsMatcher | ( | ) | [virtual] |
destructor
BALL::SmartsMatcher::SmartsMatcher | ( | const SmartsMatcher & | matcher | ) | [private] |
copy constructor
void BALL::SmartsMatcher::evaluate_ | ( | RecStruct_ & | rs, | |
SPNode * | start_node, | |||
const Atom * | start_atom | |||
) | [protected] |
method for the evaluation of a pseudo-tree
bool BALL::SmartsMatcher::evaluate_edge_ | ( | RecStruct_ & | rs, | |
SPEdge * | start_node, | |||
const Atom * | start_atom, | |||
const Bond * | start_bond | |||
) | [protected] |
method for evaluating a edge of a pseudo-tree
bool BALL::SmartsMatcher::evaluate_node_ | ( | RecStruct_ & | rs, | |
SPNode * | start_node, | |||
const Atom * | start_atom | |||
) | [protected] |
method for evaluating a node of a pseudo-tree
bool BALL::SmartsMatcher::evaluateRingEdges_ | ( | const std::set< const Atom * > & | matching, | |
const std::map< const SPNode *, const Atom * > & | mapping, | |||
const String & | smarts | |||
) | [protected] |
method for evaluation of ring edges, after the the smarts tree is matched to molcule
void BALL::SmartsMatcher::match | ( | std::vector< Match > & | matches, | |
Molecule & | mol, | |||
const std::vector< String > & | smarts, | |||
const std::set< const Atom * > & | start_atoms | |||
) | throw (Exception::ParseError) |
method to match several Smarts patterns given as a vector of string. The atoms used for start matchings are given in start_atoms
void BALL::SmartsMatcher::match | ( | std::vector< Match > & | matches, | |
Molecule & | mol, | |||
const std::vector< String > & | smarts | |||
) | throw (Exception::ParseError) |
method to match several Smarts patterns given as a vector of strings
void BALL::SmartsMatcher::match | ( | Match & | matches, | |
Molecule & | mol, | |||
const String & | smarts, | |||
const std::set< const Atom * > & | start_atoms | |||
) | throw (Exception::ParseError) |
method to match a Smarts pattern given as a string to given molecule. The atoms which will be used for starting matching are given in atoms
void BALL::SmartsMatcher::match | ( | Match & | matches, | |
Molecule & | mol, | |||
const String & | smarts | |||
) | throw (Exception::ParseError) |
method to match a Smarts pattern given as a string to given molecule
SmartsMatcher& BALL::SmartsMatcher::operator= | ( | const SmartsMatcher & | matcher | ) | [private] |
assignment operator
void BALL::SmartsMatcher::setSSSR | ( | const std::vector< std::vector< Atom * > > & | sssr | ) |
sets an SSSR which is used instead of doing an ring perception
void BALL::SmartsMatcher::unsetSSSR | ( | ) |
this function is used to cause the matcher to do an ring perception if needed (do not use the set SSSR any more)
Size BALL::SmartsMatcher::depth_ [protected] |
bool BALL::SmartsMatcher::has_user_sssr_ [protected] |
user SSSR set?
RecStructPool_* BALL::SmartsMatcher::pool_ [static, protected] |
the pool of rec struct objects
std::map<SPNode*, std::vector<std::set<const Atom*> > > BALL::SmartsMatcher::rec_matches_ [protected] |
matches from the recurive part
std::vector<std::vector<Atom*> > BALL::SmartsMatcher::sssr_ [protected] |
user sssr