BALL::Kekuliser Class Reference
[Miscellaneous]

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

#include <kekulizer.h>

List of all members.


Public Member Functions

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 *, Index > max_valence_
std::set< Atom * > current_aromatic_system_
std::vector< AtomInfo > atom_infos_
Molecule * molecule_
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();

Generated on Thu Aug 6 18:30:47 2009 for BALL by doxygen 1.5.8