#include <kekulizer.h>
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_ |
Useage:
Kekulizer k; k.setAromaticRings(...); k.setRings(...); k.setup(Molecule& m); k.clear();