Loading...
Searching...
No Matches
BALL::RingPerceptionProcessor Class Reference

`#include <BALL/QSAR/ringPerceptionProcessor.h>`

Inheritance diagram for BALL::RingPerceptionProcessor:

## Classes

struct | TNode_
struct | PathMessage_

## Public Member Functions

Constrcutors and Destructors
| RingPerceptionProcessor ()
| RingPerceptionProcessor (const RingPerceptionProcessor &rp)
virtual | ~RingPerceptionProcessor ()
Assignment
RingPerceptionProcessor & | operator= (const RingPerceptionProcessor &rp)
Accessors
Size | calculateSSSR (vector< vector< Atom * > > &sssr, AtomContainer &ac)
const vector< vector< Atom * > > & | getAllSmallRings () const
Public Member Functions inherited from BALL::UnaryProcessor< AtomContainer >
| UnaryProcessor ()
| UnaryProcessor (const UnaryProcessor &)
virtual | ~UnaryProcessor ()
virtual bool | start ()
virtual bool | finish ()

## Processor-related methods

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
Processor::Result | operator() (AtomContainer &ac)
static void | BalducciPearlmanRingSelector_ (BitVector bit_vector)
Size | BalducciPearlmanAlgorithm_ (std::vector< std::vector< Atom * > > &sssr, SimpleMolecularGraph &graph)

## Additional Inherited Members

Public Types inherited from BALL::UnaryFunctor< ArgumentType, ResultType >
typedef ResultType | result_type
typedef ArgumentType | argument_type
typedef ArgumentType & | argument_reference
typedef const ArgumentType & | const_argument_reference
typedef ArgumentType * | argument_pointer
typedef const ArgumentType * | const_argument_pointer

## Detailed Description

Processor, which marks all atoms and bonds in a ring structure with the Composite Property "InRing". calculateSSSR() can also compute the number of rings found.

The processor is an implementation of the Balducci Pearlman algorithm described in: Renzo Balducci, Robert S. Pearlman, J. Chem. Inf. Comput. Sci., 34:822-831, 1994

Definition at line 36 of file ringPerceptionProcessor.h.

## Constructor & Destructor Documentation

## RingPerceptionProcessor() [1/2]

BALL::RingPerceptionProcessor::RingPerceptionProcessor | ( |  | ) |

Default constructor

## RingPerceptionProcessor() [2/2]

BALL::RingPerceptionProcessor::RingPerceptionProcessor | ( | const RingPerceptionProcessor & | rp | ) |

Copy constructor

## ~RingPerceptionProcessor()

virtual BALL::RingPerceptionProcessor::~RingPerceptionProcessor | ( |  | ) |

virtual

Destructor

## Member Function Documentation

## BalducciPearlmanAlgorithm_()

Size BALL::RingPerceptionProcessor::BalducciPearlmanAlgorithm_ | ( | std::vector< std::vector< Atom * > > & | sssr,
|  | SimpleMolecularGraph & | graph )

protected

## BalducciPearlmanRingSelector_()

void BALL::RingPerceptionProcessor::BalducciPearlmanRingSelector_ | ( | BitVector | bit_vector | ) |

static protected

## calculateSSSR()

Size BALL::RingPerceptionProcessor::calculateSSSR | ( | vector< vector< Atom * > > & | sssr,
|  | AtomContainer & | ac )

Method to get a smallest set of smallest rings (SSSR) from a molecule.

Parameters

  SSSR,vector | of rings, where the rings are stored in vector<Atom*>
  AtomContiner,from | which AtomContainer the rings are to be percepted

## getAllSmallRings()

const vector< vector< Atom * > > & BALL::RingPerceptionProcessor::getAllSmallRings | ( |  | ) | const

Getter which returns all the 3 - 6 membered rings, calculateSSSR with the Balducci-Pearlman Algorithm (defalt) is needed prior this call.

## operator()()

Processor::Result BALL::RingPerceptionProcessor::operator() | ( | AtomContainer & |  | ) |

virtual

operator ()

Reimplemented from BALL::UnaryProcessor< AtomContainer >.

## operator=()

RingPerceptionProcessor & BALL::RingPerceptionProcessor::operator= | ( | const RingPerceptionProcessor & | rp | ) |

Assignment operator

## Member Data Documentation

## all_small_beers_

std::vector<BitVector> BALL::RingPerceptionProcessor::all_small_beers_

static protected

contains all 3 to 6 membered rings as beers

Definition at line 161 of file ringPerceptionProcessor.h.

## all_small_rings_

std::vector<std::vector<Atom*> > BALL::RingPerceptionProcessor::all_small_rings_

static protected

contains all 3 to 6 membered rings after the procedure of the Balducci-Pearlman algorithm

Definition at line 158 of file ringPerceptionProcessor.h.

## atom_to_tnode_

HashMap<NodeItem<Index, Index>* , TNode_*> BALL::RingPerceptionProcessor::atom_to_tnode_

static protected

Definition at line 139 of file ringPerceptionProcessor.h.

## bond_to_index_

HashMap<EdgeItem<Index, Index>*, Size> BALL::RingPerceptionProcessor::bond_to_index_

static protected

mapping for the path representation as bitvectors

Definition at line 142 of file ringPerceptionProcessor.h.

## forwarded_rings_

std::vector<BitVector> BALL::RingPerceptionProcessor::forwarded_rings_

static protected

the rings of the ith phase, which are to be forwarded to the ring selector

Definition at line 152 of file ringPerceptionProcessor.h.

## index_to_bond_

HashMap<Size, EdgeItem<Index, Index>*> BALL::RingPerceptionProcessor::index_to_bond_

static protected

Definition at line 143 of file ringPerceptionProcessor.h.

## matrix_

std::vector<BitVector> BALL::RingPerceptionProcessor::matrix_

static protected

the matrix for the independency tests

Definition at line 149 of file ringPerceptionProcessor.h.

## rings_

std::vector<BitVector> BALL::RingPerceptionProcessor::rings_

static protected

the SSSR detected by the algorithm

Definition at line 146 of file ringPerceptionProcessor.h.

## tested_beers_

std::vector<BitVector> BALL::RingPerceptionProcessor::tested_beers_

static protected

rings (beer) which have already been tested

Definition at line 155 of file ringPerceptionProcessor.h.

## tnode_to_atom_

HashMap<TNode_*, NodeItem<Index, Index>* > BALL::RingPerceptionProcessor::tnode_to_atom_

static protected

mapping for internal TNode structure and the nodes of the molecular graph

Definition at line 138 of file ringPerceptionProcessor.h.