Loading...
Searching...
No Matches
BALL::Kekuliser Class Reference
Molecular Modeling » Molecular Structure » Miscellaneous

`#include <BALL/STRUCTURE/kekulizer.h>`

## 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 *, 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();
BALL::Molecule
Definition molecule.h:31

Definition at line 37 of file kekulizer.h.

## Constructor & Destructor Documentation

## Kekuliser()

BALL::Kekuliser::Kekuliser | ( |  | ) |

## ~Kekuliser()

virtual BALL::Kekuliser::~Kekuliser | ( |  | ) |

inline virtual

Definition at line 79 of file kekulizer.h.

## Member Function Documentation

## applySolution_()

void BALL::Kekuliser::applySolution_ | ( | Position | pos | ) |

protected

## calculateAromaticSystems_()

void BALL::Kekuliser::calculateAromaticSystems_ | ( |  | ) |

protected

## calculateDistanceScores_()

Position BALL::Kekuliser::calculateDistanceScores_ | ( |  | ) |

protected

## clear()

void BALL::Kekuliser::clear | ( |  | ) |

## collectAromaticAtoms_()

void BALL::Kekuliser::collectAromaticAtoms_ | ( |  | ) |

protected

## collectSystems_()

void BALL::Kekuliser::collectSystems_ | ( | Atom & | atom | ) |

protected

## dump()

void BALL::Kekuliser::dump | ( |  | ) |

## fixAromaticRings_()

bool BALL::Kekuliser::fixAromaticRings_ | ( |  | ) |

protected

## fixAromaticSystem_()

void BALL::Kekuliser::fixAromaticSystem_ | ( | Position | it | ) |

protected

## getMaximumValence_()

void BALL::Kekuliser::getMaximumValence_ | ( |  | ) |

protected

## getPenalty_()

virtual Size BALL::Kekuliser::getPenalty_ | ( | Atom & | atom,
|  | Index | charge )

protected virtual

## getUnassignedBonds()

const std::vector< Bond * > & BALL::Kekuliser::getUnassignedBonds | ( |  | ) | const

inline

Definition at line 91 of file kekulizer.h.

## hasAromaticBonds_()

bool BALL::Kekuliser::hasAromaticBonds_ | ( | Atom & | atom | ) |

protected

## setAromaticRings()

void BALL::Kekuliser::setAromaticRings | ( | const std::vector< std::set< Atom * > > & | rings | ) |

inline

Definition at line 85 of file kekulizer.h.

## setRings()

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

inline

Definition at line 88 of file kekulizer.h.

## setup()

bool BALL::Kekuliser::setup | ( | Molecule & | ac | ) |

## setUseFormalCharges()

void BALL::Kekuliser::setUseFormalCharges | ( | bool | state | ) |

inline

Definition at line 100 of file kekulizer.h.

## useFormalCharges()

bool BALL::Kekuliser::useFormalCharges | ( |  | ) | const

inline

Definition at line 103 of file kekulizer.h.

## Member Data Documentation

## all_aromatic_atoms_

std::set<const Atom*> BALL::Kekuliser::all_aromatic_atoms_

protected

Definition at line 130 of file kekulizer.h.

## aromatic_atoms_

std::set<const Atom*> BALL::Kekuliser::aromatic_atoms_

protected

Definition at line 129 of file kekulizer.h.

## aromatic_rings_

std::vector<std::set<Atom*> > BALL::Kekuliser::aromatic_rings_

protected

Definition at line 124 of file kekulizer.h.

## aromatic_systems_

std::vector<std::set<Atom*> > BALL::Kekuliser::aromatic_systems_

protected

Definition at line 123 of file kekulizer.h.

## atom_infos_

std::vector<AtomInfo> BALL::Kekuliser::atom_infos_

protected

Definition at line 136 of file kekulizer.h.

## current_aromatic_system_

std::set<Atom*> BALL::Kekuliser::current_aromatic_system_

protected

Definition at line 133 of file kekulizer.h.

## current_penalty_

Size BALL::Kekuliser::current_penalty_

protected

Definition at line 139 of file kekulizer.h.

## lowest_penalty_

Size BALL::Kekuliser::lowest_penalty_

protected

Definition at line 138 of file kekulizer.h.

## max_valence_

HashMap<Atom*, Index> BALL::Kekuliser::max_valence_

protected

Definition at line 131 of file kekulizer.h.

## molecule_

Molecule* BALL::Kekuliser::molecule_

protected

Definition at line 137 of file kekulizer.h.

## rings_

std::vector<std::set<Atom*> > BALL::Kekuliser::rings_

protected

Definition at line 125 of file kekulizer.h.

## solutions_

std::vector<std::vector<AtomInfo> > BALL::Kekuliser::solutions_

protected

Definition at line 141 of file kekulizer.h.

## unassigned_bonds_

std::vector<Bond*> BALL::Kekuliser::unassigned_bonds_

protected

Definition at line 126 of file kekulizer.h.

## use_formal_charges_

bool BALL::Kekuliser::use_formal_charges_

protected

Definition at line 121 of file kekulizer.h.