BALL 1.5.0
Loading...
Searching...
No Matches
Classes | List of all members
BALL::RingPerceptionProcessor Class Reference

#include <BALL/QSAR/ringPerceptionProcessor.h>

Inheritance diagram for BALL::RingPerceptionProcessor:
BALL::UnaryProcessor< AtomContainer > BALL::UnaryFunctor< ArgumentType, ResultType >

Classes

struct  PathMessage_
 
struct  TNode_
 

Public Member Functions

Constrcutors and Destructors
 RingPerceptionProcessor ()
 
 RingPerceptionProcessor (const RingPerceptionProcessor &rp)
 
virtual ~RingPerceptionProcessor ()
 
Assignment
RingPerceptionProcessoroperator= (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 > *, Sizebond_to_index_
 mapping for the path representation as bitvectors
 
static HashMap< Size, EdgeItem< Index, Index > * > index_to_bond_
 
static std::vector< BitVectorrings_
 the SSSR detected by the algorithm
 
static std::vector< BitVectormatrix_
 the matrix for the independency tests
 
static std::vector< BitVectorforwarded_rings_
 the rings of the ith phase, which are to be forwarded to the ring selector
 
static std::vector< BitVectortested_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< BitVectorall_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_()

static void BALL::RingPerceptionProcessor::BalducciPearlmanRingSelector_ ( BitVector  bit_vector)
staticprotected

◆ 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,vectorof rings, where the rings are stored in vector<Atom*>
AtomContiner,fromwhich 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_
staticprotected

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_
staticprotected

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_
staticprotected

Definition at line 139 of file ringPerceptionProcessor.h.

◆ bond_to_index_

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

mapping for the path representation as bitvectors

Definition at line 142 of file ringPerceptionProcessor.h.

◆ forwarded_rings_

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

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_
staticprotected

Definition at line 143 of file ringPerceptionProcessor.h.

◆ matrix_

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

the matrix for the independency tests

Definition at line 149 of file ringPerceptionProcessor.h.

◆ rings_

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

the SSSR detected by the algorithm

Definition at line 146 of file ringPerceptionProcessor.h.

◆ tested_beers_

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

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_
staticprotected

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

Definition at line 138 of file ringPerceptionProcessor.h.