BALL
1.4.79
|
Methods for the analysis of the structure of ringsystems. More...
#include <BALL/STRUCTURE/ringAnalyser.h>
Classes | |
class | Ring |
Public Types | |
enum | RingType { NONE, TEMPLATE, FUSED, BRIDGED, SPIRO, CORE } |
Public Types inherited from BALL::UnaryFunctor< AtomContainer, Processor::Result > | |
typedef Processor::Result | result_type |
typedef AtomContainer | argument_type |
typedef AtomContainer & | argument_reference |
typedef const AtomContainer & | const_argument_reference |
typedef AtomContainer * | argument_pointer |
typedef const AtomContainer * | const_argument_pointer |
Public Member Functions | |
void | clear () |
bool | isInRing (const Atom *atom, std::vector< Atom * > const &ring) const |
helper-function; determines, whether an atom is part of a certain ring More... | |
bool | isInRingSystem (const Atom *atom, Index i) const |
helper-function; determines, whether an atom is part of a certain ring More... | |
void | sequenceRing (std::vector< Atom * > &ring) |
Size | getNumberOfRingSystems () |
std::vector< Ring > | getRingSystem (Position i) |
std::vector< Position > | getPeelingOrder (Position i) |
Constructors and destructors. | |
RingAnalyser () | |
Default-Constructor. More... | |
virtual | ~RingAnalyser () |
Destructor. More... | |
Processor-related methods | |
virtual bool | start () |
Processor method which is called before the operator()-call. More... | |
virtual Processor::Result | operator() (AtomContainer &ac) |
virtual bool | finish () |
Processor method which is called after the operator()-call. More... | |
Public Member Functions inherited from BALL::UnaryProcessor< AtomContainer > | |
UnaryProcessor () | |
UnaryProcessor (const UnaryProcessor &) | |
virtual | ~UnaryProcessor () |
Protected Member Functions | |
void | clusterRings_ () |
performs an agglomerative clustering of single rings to ringsystems More... | |
void | findSharedBonds_ () |
void | peelRings_ () |
performs an analysis of the structure of a ringsystem More... | |
bool | isCentralRing_ (std::list< Position >::iterator ring, std::list< Position > &unassigned_rings) |
bool | peelNextRing_ (std::list< Position > &unassigned_rings, bool peel_fused=false) |
bool | assignRTD_ (std::list< Position > &trial_system) |
interface for a Ring Template Database (RTD), no functionality yet More... | |
Protected Attributes | |
std::vector< Ring > | rings_ |
the smallest set of smallest rings of our molecule More... | |
std::vector< std::vector < Position > > | ring_systems_ |
the ring systems, stored as indices into the smallest set of smallest rings More... | |
HashMap< Bond const *, std::deque< Position > > | rings_per_bond_ |
the ring memberships per bond More... | |
std::vector< std::vector < Position > > | peeling_order_ |
the order in which rings are peeled from their respective ring systems More... | |
Methods for the analysis of the structure of ringsystems.
Definition at line 36 of file ringAnalyser.h.
Enumerator | |
---|---|
NONE | |
TEMPLATE | |
FUSED | |
BRIDGED | |
SPIRO | |
CORE |
Definition at line 41 of file ringAnalyser.h.
BALL::RingAnalyser::RingAnalyser | ( | ) |
Default-Constructor.
|
virtual |
Destructor.
interface for a Ring Template Database (RTD), no functionality yet
void BALL::RingAnalyser::clear | ( | ) |
Clears the datastructures. NOTE: The options remain! Use setDefaultOptions() to clear the options.
|
protected |
performs an agglomerative clustering of single rings to ringsystems
|
protected |
Find the bonds shared between rings in the sssr Precondition: the rings must be sorted such that a_i, a_i+1 share a bond (and a_size-1, a_0)
|
virtual |
Processor method which is called after the operator()-call.
Reimplemented from BALL::UnaryProcessor< AtomContainer >.
Size BALL::RingAnalyser::getNumberOfRingSystems | ( | ) |
Return the number of ring systems.
Returns the peeling order for the i-th ring system.
|
protected |
helper-function; determines, whether an atom is part of a certain ring
atom | the atom |
ring | the ring |
helper-function; determines, whether an atom is part of a certain ring
atom | the atom |
i | the index of the ring system to test |
|
virtual |
Operator () for the processor
ac | the AtomContainer to which the processor is applied. |
Reimplemented from BALL::UnaryProcessor< AtomContainer >.
|
protected |
|
protected |
performs an analysis of the structure of a ringsystem
void BALL::RingAnalyser::sequenceRing | ( | std::vector< Atom * > & | ring | ) |
Puts the Atoms in the input ring into the correct order
After calling this function, for i, i+1 it holds that atom i is bonded to atom i+1, and that the last is bonded to the first entry
ring | the input ring to sequence |
|
virtual |
Processor method which is called before the operator()-call.
Reimplemented from BALL::UnaryProcessor< AtomContainer >.
|
protected |
the order in which rings are peeled from their respective ring systems
Definition at line 192 of file ringAnalyser.h.
|
protected |
the ring systems, stored as indices into the smallest set of smallest rings
Definition at line 186 of file ringAnalyser.h.
|
protected |
the smallest set of smallest rings of our molecule
Definition at line 183 of file ringAnalyser.h.
the ring memberships per bond
Definition at line 189 of file ringAnalyser.h.