#include <ringPerceptionProcessor.h>
Classes |
|
struct | Default |
default options for the ring
perception
More... |
|
struct | Option |
Option names.
More... |
|
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 |
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_ |
static HashMap<
TNode_ *, NodeItem< Index, Index > * > |
tnode_to_atom_ |
mapping for internal TNode structure
and the nodes of the molecular graph |
|
static HashMap< NodeItem < Index, Index > *, TNode_ * > |
atom_to_tnode_ |
static HashMap<
EdgeItem < Index, Index > *, Size > |
bond_to_index_ |
mapping for the path representation
as bitvectors |
|
static HashMap< Size,
EdgeItem < Index, Index > * > |
index_to_bond_ |
static std::vector< BitVector > | rings_ |
the SSSR detected by the
algorithm |
|
static std::vector< BitVector > | matrix_ |
the matrix for the independency
tests |
|
static std::vector< BitVector > | forwarded_rings_ |
the rings of the ith phase, which
are to be forwarded to the ring selector |
|
static std::vector< BitVector > | tested_beers_ |
rings (beer) which have already been
tested |
|
static std::vector < std::vector< Atom * > > |
all_small_rings_ |
contains all 3 to 6 membered rings
after the procedure of the Balducci-Pearlman
algorithm |
|
static std::vector< BitVector > | all_small_beers_ |
contains all 3 to 6 membered rings
as beers |
|
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) |
static void | BalducciPearlmanRingSelector_ (BitVector bit_vector) |
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
Size BALL::RingPerceptionProcessor::calculateSSSR | ( | vector< vector< Atom * > > & | sssr, | |
AtomContainer & | ac | |||
) |
Method to get a smallest set of smallest rings (SSSR) from a molecule.
SSSR,vector | of rings, where the rings are stored in vector<Atom*> | |
AtomContiner,from | which AtomContainer the rings are to be percepted |
Size BALL::RingPerceptionProcessor::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.
Returns the number of bccs found.