BALL::SmartsMatcher Class Reference

#include <BALL/STRUCTURE/smartsMatcher.h>

List of all members.


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
SmartsMatcheroperator= (const SmartsMatcher &matcher)
 

assignment operator



Member Typedef Documentation

typedef std::vector<std::set<const Atom*> > BALL::SmartsMatcher::Match

Constructor & Destructor Documentation

BALL::SmartsMatcher::SmartsMatcher (  ) 

default constructor

virtual BALL::SmartsMatcher::~SmartsMatcher (  )  [virtual]

destructor

BALL::SmartsMatcher::SmartsMatcher ( const SmartsMatcher matcher  )  [private]

copy constructor


Member Function Documentation

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)


Member Data Documentation

user SSSR set?

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