BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Classes | Private Member Functions | Private Attributes | List of all members
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 >

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 ()
 
- Public Member Functions inherited from BALL::UnaryProcessor< AtomContainer >
 UnaryProcessor ()
 
 UnaryProcessor (const UnaryProcessor &)
 
virtual ~UnaryProcessor ()
 
virtual bool finish ()
 

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 More...
 
void setDefaultOptions ()
 

Additional Inherited Members

- Public Types inherited from BALL::UnaryFunctor< AtomContainer, Processor::Result >
typedef Processor::Result result_type
 
typedef AtomContainer argument_type
 
typedef AtomContainerargument_reference
 
typedef const AtomContainerconst_argument_reference
 
typedef AtomContainerargument_pointer
 
typedef const AtomContainerconst_argument_pointer
 

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

BALL::AromaticityProcessor::AromaticityProcessor ( )

Default constructor

BALL::AromaticityProcessor::AromaticityProcessor ( const AromaticityProcessor aro)

Copy constructor

virtual BALL::AromaticityProcessor::~AromaticityProcessor ( )
virtual

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
Size BALL::AromaticityProcessor::countPiElectrons_ ( HashSet< Atom * > &  ring)
private
void BALL::AromaticityProcessor::extendAromaticSystem_ ( vector< HashSet< Atom * > > &  sssr,
HashSet< Atom * >  ring 
)
private
bool BALL::AromaticityProcessor::hasConjugatedDoubleBonds_ ( HashSet< Atom * >  ring)
private
bool BALL::AromaticityProcessor::isValid_ ( const AtomContainer ac)
protected
Processor::Result BALL::AromaticityProcessor::operator() ( AtomContainer )
virtual

operator ()

Reimplemented from BALL::UnaryProcessor< AtomContainer >.

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

Assignment operator

void BALL::AromaticityProcessor::setDefaultOptions ( )

reset the options to default values

bool BALL::AromaticityProcessor::simpleCanBeAromatic_ ( const HashSet< Atom * > &  ring)
private
bool BALL::AromaticityProcessor::simpleCanBeAromaticWeaker_ ( const HashSet< Atom * > &  ring)
private
virtual bool BALL::AromaticityProcessor::start ( )
virtual

start method

Reimplemented from BALL::UnaryProcessor< AtomContainer >.

Member Data Documentation

Options BALL::AromaticityProcessor::options

options

Definition at line 83 of file aromaticityProcessor.h.

bool BALL::AromaticityProcessor::overwrite_bond_orders_
private

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.