BALL::Kekuliser Class Reference
[Miscellaneous]

#include <BALL/STRUCTURE/kekulizer.h>

List of all members.

Classes

struct  AtomInfo

Public Member Functions

 Kekuliser ()
virtual ~Kekuliser ()
bool setup (Molecule &ac)
void setAromaticRings (const std::vector< std::set< Atom * > > &rings)
void setRings (const std::vector< std::set< Atom * > > &rings)
const std::vector< Bond * > & getUnassignedBonds () const
void clear ()
void dump ()
void setUseFormalCharges (bool state)
bool useFormalCharges () const

Protected Member Functions

bool fixAromaticRings_ ()
void fixAromaticSystem_ (Position it)
virtual Size getPenalty_ (Atom &atom, Index charge)
void getMaximumValence_ ()
void calculateAromaticSystems_ ()
void collectSystems_ (Atom &atom)
void collectAromaticAtoms_ ()
bool hasAromaticBonds_ (Atom &atom)
void applySolution_ (Position pos)
Position calculateDistanceScores_ ()

Protected Attributes

bool use_formal_charges_
std::vector< std::set< Atom * > > aromatic_systems_
std::vector< std::set< Atom * > > aromatic_rings_
std::vector< std::set< Atom * > > rings_
std::vector< Bond * > unassigned_bonds_
std::set< const Atom * > aromatic_atoms_
std::set< const Atom * > all_aromatic_atoms_
HashMap< Atom *, Indexmax_valence_
std::set< Atom * > current_aromatic_system_
std::vector< AtomInfoatom_infos_
Moleculemolecule_
Size lowest_penalty_
Size current_penalty_
std::vector< std::vector
< AtomInfo > > 
solutions_

Detailed Description

Class to transform bonds with type "aromatic" to conjugated single and double bonds.
Useage:

      Kekulizer k;
      k.setAromaticRings(...);
      k.setRings(...);
      k.setup(Molecule& m);
      k.clear();

Definition at line 37 of file kekulizer.h.


Constructor & Destructor Documentation

BALL::Kekuliser::Kekuliser (  ) 
virtual BALL::Kekuliser::~Kekuliser (  )  [inline, virtual]

Definition at line 79 of file kekulizer.h.


Member Function Documentation

void BALL::Kekuliser::applySolution_ ( Position  pos  )  [protected]
void BALL::Kekuliser::calculateAromaticSystems_ (  )  [protected]
Position BALL::Kekuliser::calculateDistanceScores_ (  )  [protected]
void BALL::Kekuliser::clear (  ) 
void BALL::Kekuliser::collectAromaticAtoms_ (  )  [protected]
void BALL::Kekuliser::collectSystems_ ( Atom atom  )  [protected]
void BALL::Kekuliser::dump (  ) 
bool BALL::Kekuliser::fixAromaticRings_ (  )  [protected]
void BALL::Kekuliser::fixAromaticSystem_ ( Position  it  )  [protected]
void BALL::Kekuliser::getMaximumValence_ (  )  [protected]
virtual Size BALL::Kekuliser::getPenalty_ ( Atom atom,
Index  charge 
) [protected, virtual]
const std::vector<Bond*>& BALL::Kekuliser::getUnassignedBonds (  )  const [inline]

Definition at line 91 of file kekulizer.h.

bool BALL::Kekuliser::hasAromaticBonds_ ( Atom atom  )  [protected]
void BALL::Kekuliser::setAromaticRings ( const std::vector< std::set< Atom * > > &  rings  )  [inline]

Definition at line 85 of file kekulizer.h.

void BALL::Kekuliser::setRings ( const std::vector< std::set< Atom * > > &  rings  )  [inline]

Definition at line 88 of file kekulizer.h.

bool BALL::Kekuliser::setup ( Molecule ac  ) 
void BALL::Kekuliser::setUseFormalCharges ( bool  state  )  [inline]

Definition at line 100 of file kekulizer.h.

bool BALL::Kekuliser::useFormalCharges (  )  const [inline]

Definition at line 103 of file kekulizer.h.


Member Data Documentation

std::set<const Atom*> BALL::Kekuliser::all_aromatic_atoms_ [protected]

Definition at line 130 of file kekulizer.h.

std::set<const Atom*> BALL::Kekuliser::aromatic_atoms_ [protected]

Definition at line 129 of file kekulizer.h.

std::vector<std::set<Atom*> > BALL::Kekuliser::aromatic_rings_ [protected]

Definition at line 124 of file kekulizer.h.

std::vector<std::set<Atom*> > BALL::Kekuliser::aromatic_systems_ [protected]

Definition at line 123 of file kekulizer.h.

std::vector<AtomInfo> BALL::Kekuliser::atom_infos_ [protected]

Definition at line 136 of file kekulizer.h.

Definition at line 133 of file kekulizer.h.

Definition at line 139 of file kekulizer.h.

Definition at line 138 of file kekulizer.h.

Definition at line 131 of file kekulizer.h.

Definition at line 137 of file kekulizer.h.

std::vector<std::set<Atom*> > BALL::Kekuliser::rings_ [protected]

Definition at line 125 of file kekulizer.h.

std::vector<std::vector<AtomInfo> > BALL::Kekuliser::solutions_ [protected]

Definition at line 141 of file kekulizer.h.

std::vector<Bond*> BALL::Kekuliser::unassigned_bonds_ [protected]

Definition at line 126 of file kekulizer.h.

Definition at line 121 of file kekulizer.h.

Generated by  doxygen 1.6.3