Alternate algorithm to kekulize a molecule (OBMol::NewPerceiveKekuleBonds()).
More...
#include <openbabel/babelconfig.h>
#include <openbabel/mol.h>
#include <openbabel/ring.h>
#include <openbabel/obiter.h>
#include <openbabel/graphsym.h>
#include <sstream>
Namespaces |
namespace | OpenBabel |
Defines |
#define | DEBUG 0 |
#define | MAX_TIME 15 |
#define | MAX_DEPTH 30 |
#define | UNASSIGNED 0 |
#define | SINGLE 1 |
#define | DOUBLE 2 |
#define | NOT_IN_RINGS -1 |
#define | DOUBLE_ASSIGNED 0 |
#define | DOUBLE_ALLOWED 1 |
#define | DOUBLE_PROHIBITED 2 |
Functions |
int | expand_cycle (OBMol *mol, OBAtom *atom, OBBitVec &avisit, OBBitVec &cvisit, const OBBitVec &potAromBonds, int rootIdx, Timeout &timeout, int prevAtomIdx, int depth) |
bool | expandKekulize (OBMol *mol, int bond_idx, std::vector< int > &atomState, std::vector< int > &bondState, Timeout &timeout) |
bool | expand_kekulize_lssr (OBMol *mol, std::vector< int > &atomState, std::vector< int > &bondState, std::vector< OBRing * > &lssr, std::vector< bool > &lssrAssigned, std::vector< OBBond * > &bondsThisRing) |
int | count_assigned_bonds (std::vector< OBBond * > &bondsThisRing, std::vector< int > &bondState) |
bool | isPotentialAromaticAtom (OBAtom *atom) |
void | potentialAromaticBonds (OBMol *mol, OBBitVec &bonds) |
void | get_bonds_of_ring (OBMol *mol, OBRing *ring, std::vector< OBBond * > &ring_bonds) |
bool | has_leftover_electrons (OBMol *mol, std::vector< int > &atomState) |
bool | has_leftover_electrons (OBMol *mol, std::vector< int > &atomState, std::vector< int > &bondState) |
Detailed Description
Alternate algorithm to kekulize a molecule (OBMol::NewPerceiveKekuleBonds()).
Define Documentation
#define DOUBLE_ASSIGNED 0 |
#define DOUBLE_PROHIBITED 2 |