#include <ringPerceptionProcessor.h>
Inheritance diagram for RingPerceptionProcessor:

[NOHEADER] | |
| Size | FiguerasAlgorithm_ (vector< vector< Atom * > > &sssr, AtomContainer &ac) |
| Size | getRing_ (Atom *n, HashSet< Atom * > &ring_set) |
| void | checkEdges_ (HashSet< Atom * > &ring_set, AtomContainer &ac) |
| Size | findAllBCC_ (std::vector< MolecularGraph * > &bcc, MolecularGraph &graph) |
| void | DFSBCC_ (std::vector< MolecularGraph * > &bccs, Size dfbi, HashMap< NodeItem< Index, Index > *, Size > DFBIndex, NodeItem< Index, Index > *v) |
| Size | BalducciPearlmanAlgorithm_ (std::vector< std::vector< Atom * > > &sssr, MolecularGraph &graph) |
|
HashSet< NodeItem< Index, Index > * > | visited_ |
|
HashSet< EdgeItem< Index, Index > * > | visited_bonds_ |
|
HashMap< NodeItem< Index, Index > *, Size > | P_ |
|
HashMap< NodeItem< Index, Index > *, NodeItem< Index, Index > * > | parents_ |
|
std::stack< EdgeItem< Index, Index > * > | BCC_ |
| void | BalducciPearlmanRingSelector_ (BitVector bit_vector) |
|
HashMap< TNode_ *, NodeItem< Index, Index > * > | tnode_to_atom_ |
| mapping for internal TNode structure and the nodes of the molecular graph | |
|
HashMap< NodeItem< Index, Index > *, TNode_ * > | atom_to_tnode_ |
|
HashMap< EdgeItem< Index, Index > *, Size > | bond_to_index_ |
| mapping for the path representation as bitvectors | |
|
HashMap< Size, EdgeItem< Index, Index > * > | index_to_bond_ |
| std::vector< BitVector > | rings_ |
| the SSSR detected by the algorithm | |
| std::vector< BitVector > | matrix_ |
| the matrix for the independency tests | |
| std::vector< BitVector > | forwarded_rings_ |
| the rings of the ith phase, which are to be forwarded to the ring selector | |
| std::vector< BitVector > | tested_beers_ |
| rings (beer) which have already been tested | |
|
std::vector< std::vector< Atom * > > | all_small_rings_ |
| contains all 3 to 6 membered rings after the procedure of the Balducci-Pearlman algorithm | |
| std::vector< BitVector > | all_small_beers_ |
| contains all 3 to 6 membered rings as beers | |
Public Member Functions | |
| const vector< vector< Atom * > > & | getAllSmallRings () const |
| Getter which returns all the 3 - 6 membered rings, calculateSSSR with the Balducci-Pearlman Algorithm (defalt) is needed prior this call. | |
| Size | findAllBCC (std::vector< MolecularGraph * > &bcc, MolecularGraph &graph) |
| Method that finds all biconnected components, the algorithm is freely adapted from a standard bcc (binary connected components) algorithm. | |
| void | setDefaultOptions () |
| sets the default options of this processor | |
Constrcutors and Destructors | |
| RingPerceptionProcessor () | |
| Default constructor. | |
| RingPerceptionProcessor (const RingPerceptionProcessor &rp) | |
| Copy constructor. | |
| virtual | ~RingPerceptionProcessor () |
| Destructor. | |
Assignment | |
| RingPerceptionProcessor & | operator= (const RingPerceptionProcessor &rp) |
| Assignment operator. | |
Accessors | |
| Size | calculateSSSR (vector< vector< Atom * > > &sssr, AtomContainer &ac) |
| Method to get a smallest set of smallest rings (SSSR) from a molecule. | |
Processor-related methods | |
| Processor::Result | operator() (AtomContainer &ac) |
| operator () | |
Public Attributes | |
| Options | options |
calculateSSSR() can also compute the number of rings found.
The processor is an implementation of Figueras algorithm, described in: J. Figueras, J. Chem. Inf. Comput. Sci., 1996, 36(5), 986-991
and the Balducci Pearlman algorithm described in: Renzo Balducci, Robert S. Pearlman, J. Chem. Inf. Comput. Sci., 34:822-831, 1994
|
||||||||||||
|
Method to get a smallest set of smallest rings (SSSR) from a molecule.
|
|
||||||||||||
|
Method that finds all biconnected components, the algorithm is freely adapted from a standard bcc (binary connected components) algorithm. Returns the number of bccs found. |
|
|
Getter which returns all the 3 - 6 membered rings, calculateSSSR with the Balducci-Pearlman Algorithm (defalt) is needed prior this call.
|