BALL  1.4.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines
Classes | Private Member Functions | Private Attributes
BALL::AromaticityProcessor Class Reference

This processor provides methods for detection and assignment of aromaticity. More...

#include <BALL/QSAR/aromaticityProcessor.h>

Inheritance diagram for BALL::AromaticityProcessor:
BALL::UnaryProcessor< AtomContainer > BALL::UnaryFunctor< AtomContainer, Processor::Result >

List of all members.

Classes

struct  Default
 Default values for options. More...
struct  Option
 Option names. More...

Public Member Functions

Constructors and Destructors
 AromaticityProcessor ()
 AromaticityProcessor (const AromaticityProcessor &aro)
virtual ~AromaticityProcessor ()
Assignment
AromaticityProcessoroperator= (const AromaticityProcessor &aro)
Accessors
void aromatize (const vector< vector< Atom * > > &sssr, AtomContainer &ac)
void aromatizeSimple (vector< vector< Atom * > > &sssr)
Processor-related methods
Processor::Result operator() (AtomContainer &ac)
virtual bool start ()

Protected Member Functions

Predicates
bool isValid_ (const AtomContainer &ac)

Private Member Functions

bool simpleCanBeAromatic_ (const HashSet< Atom * > &ring)
bool simpleCanBeAromaticWeaker_ (const HashSet< Atom * > &ring)
void extendAromaticSystem_ (vector< HashSet< Atom * > > &sssr, HashSet< Atom * > ring)
bool hasConjugatedDoubleBonds_ (HashSet< Atom * > ring)
Size countPiElectrons_ (HashSet< Atom * > &ring)

Private Attributes

bool overwrite_bond_orders_

Public Attributes

Options options
 options
void setDefaultOptions ()

Detailed Description

This processor provides methods for detection and assignment of aromaticity.

Aromaticity Processor

Processor method to detect aromaticity of AtomContainers. If it is called as a processor with the operator (), the RingPerceptionProcessor is called before, to calculate a ring set. It can be called explicitely with aromatize with a ringset as parameter.

Definition at line 28 of file aromaticityProcessor.h.


Constructor & Destructor Documentation

Default constructor

Copy constructor

Destrcutor


Member Function Documentation

void BALL::AromaticityProcessor::aromatize ( const vector< vector< Atom * > > &  sssr,
AtomContainer ac 
)

Calculated the aromaticity of the molcule and sets the properties "IsAromatic" for aromatic atoms, and Bond::ORDER__AROMATIC for bonds which are aromatic.

Parameters:
SSSRring set as vector<vector<Atom*> >, (vector of rings in vector<Atom*>) after the processing this variable holds all aromatic systems, which are not necessarily single rings!
void BALL::AromaticityProcessor::aromatizeSimple ( vector< vector< Atom * > > &  sssr)

Method to set aromaticity with the use of simple rules. Each ring from the given SSSR set (which needs just to be a set of rings) is examined for itself. (needed for the implementation of the MMFF94 force field which does not agree with the advanced araomtaticity definition of the default method.).

It does not set any aromaticity flags, neither at the atoms nor bonds to bond order aromatic! sssr is the set to be examined, only aromatic rings will stay
void BALL::AromaticityProcessor::extendAromaticSystem_ ( vector< HashSet< Atom * > > &  sssr,
HashSet< Atom * >  ring 
) [private]
Processor::Result BALL::AromaticityProcessor::operator() ( AtomContainer ) [virtual]

operator ()

Reimplemented from BALL::UnaryProcessor< AtomContainer >.

AromaticityProcessor& BALL::AromaticityProcessor::operator= ( const AromaticityProcessor aro)

Assignment operator

reset the options to default values

virtual bool BALL::AromaticityProcessor::start ( ) [virtual]

start method

Reimplemented from BALL::UnaryProcessor< AtomContainer >.


Member Data Documentation

options

Definition at line 83 of file aromaticityProcessor.h.

Should we set the bond orders to aromatic or merely store the information as a property of the bond? This value depends on the value of the option OVERWRITE_BOND_ORDERS

Definition at line 166 of file aromaticityProcessor.h.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines