Open Babel: mcdlutil.cpp File Reference

Namespaces | Defines | Typedefs | Functions | Variables

# mcdlutil.cpp File Reference

2D molecule coordinate generation. More...

`#include <openbabel/babelconfig.h>`
`#include <openbabel/mol.h>`
`#include <openbabel/mcdlutil.h>`
`#include <openbabel/data.h>`
`#include <openbabel/obconversion.h>`
`#include <cmath>`

## Namespaces
namespace | OpenBabel
## Defines
#define | CONNMAX 15
#define | NATOMSMAX 255
#define | NBONDSMAX 255
#define | PI 3.141592653589793238462
#define | blDenominator 4.0
#define | nRotBondsMax 20
#define | NEXACTATOMS 21
#define | NALKALYATOMS 5
#define | NALKALYEARTHATOMS 5
#define | NTRIVALENTATOMS 31
#define | NTITANATOMS 3
#define | NVANADIUMATOMS 3
#define | NCHROMIUMATOMS 3
#define | NMANGANESEATOMS 3
#define | NLIKEFEATOMS 2
#define | NPLATINUMATOMS 6
#define | NCOPPERATOMS 3
#define | NZINKATOMS 2
#define | NMETALS 78
#define | NHALOGENS 5
#define | NHETERO 10
#define | NAROMMAX 9
#define | NLIGHT_METALS 20
#define | NHEAVY_METALS 58
#define | DEUTERIUM_ATOM 104
#define | METALL_ATOM 111
#define | HALOGEN_ATOM 112
#define | ANY_ATOM 113
#define | HETERO_ATOM 114
#define | ANY_BOND 8
#define | RUNDEF -1.2345678E9
#define | DEFAULTBONDLENGTH 1.44
#define | NDATABASE_MOLECULES 147
#define | NBONDTYPES 11
## Typedefs
typedef struct OpenBabel::adjustedlist | adjustedlist
typedef adjustedlist | neigbourlist [NATOMSMAX]
## Functions
string | intToStr (int k)
double | xDistPoint (double x1, double y1, double x2, double y2, double x0, double y0)
bool | overlapped (double x1A, double y1A, double x2A, double y2A, double x1B, double y1B, double x2B, double y2B, double delta)
bool | compareAtoms (int a1, int a2, const std::vector< std::vector< int > * > aeqList)
bool | incrementValues (std::vector< int > &currentValues, const std::vector< int > maxValues)
void | deleteIntElement (std::vector< int > *source, int index)
int | hydrogenValency (int na)
int | maxValency (int na)
static int | findAlternateSinglets (const std::vector< int >iA1, const std::vector< int >iA2, const std::vector< int > nH, const std::vector< int > hydrogenValency, std::vector< int > &bondOrder, int nAtoms, int nBonds)
static void | makeAssignment (const std::vector< int > iA1, const std::vector< int > iA2, const std::vector< int > nH, const std::vector< int > hydrogenValency, const std::vector< int > bondAssignment, const std::vector< int > specialFlag, std::vector< int > &bondOrder, int nAtoms, int nBonds, int &nAss)
static bool | analyzeOK (const std::vector< int > iA1, const std::vector< int > iA2, const std::vector< int > nH, const std::vector< int > hydrogenValency, const std::vector< int > maxValency, const std::vector< int > bondOrder, const std::vector< int > atomCheckFlag, int nAtoms, int nBonds, int &nGtMax, int &nNEH, int &nOddEven, bool testExceedHydrogen, bool oddEvenCheck)
static bool | incrementAssignment (std::vector< int > &bondAssignment, int nAss)
static int | determineBondsOrder (const std::vector< int > iA1, const std::vector< int > iA2, const std::vector< int > nH, const std::vector< int > maxValency, std::vector< int > &bondOrder, std::vector< int > &hydrogenValency, int nAtoms, int nBonds, bool oddEvenViolate)
int | alternate (const std::vector< int > aPosition, const std::vector< int > aCharge, const std::vector< int > aRad, const std::vector< int > nHydr, const std::vector< int > iA1, const std::vector< int > iA2, std::vector< int > &bondOrders, int nAtoms, int nBonds)
int | alternate (OBMol *pmol, const std::vector< int > nH, std::vector< int > &bondOrders)
bool | ptInRect (const Rect r, const Point p)
void | generateDiagram (OBMol *pmol, std::ostream &ofs)
void | generateDiagram (OBMol *pmol)
void | generateDiagram (const std::vector< int > iA1, const std::vector< int > iA2, std::vector< double > &rx, std::vector< double > &ry, int nAtoms, int nBonds)
bool | fragmentSearch (OBMol *query, OBMol *structure)
bool | fragmentSearch (const std::vector< int > aPositionQuery, const std::vector< int > iA1Query, const std::vector< int > iA2Query, const std::vector< int > bondTypesQuery, const std::vector< int > aPositionStructure, const std::vector< int > iA1Structure, const std::vector< int > iA2Structure, const std::vector< int > bondTypesStructure, int nAtomsQuery, int nBondsQuery, int nAtomsStructure, int nBondsStructure)
void | equivalenceList (const std::vector< int > aPosition, const std::vector< int > aCharge, const std::vector< int > aRad, const std::vector< int > iA1, const std::vector< int > iA2, const std::vector< int > bondTypes, std::vector< int > &eqList, int nAtoms, int nBonds)
void | equivalenceList (OBMol *pmol, std::vector< int > &eqList)
void | addFragment (OBMol *molecule, OBMol *fragment, int molAN, int fragAN, int molBN, int fragBN, bool isAddition)
void | createStereoLists (OBMol *pmol, std::vector< int > &bondStereoList, std::vector< int > &atomStereoList, std::vector< int > &eqList)
int | compareStringsNumbers (string s1, string s2)
std::string | getAtomSymbol (TSimpleMolecule &sm, int atAtom, int atEx, int priority, string ndData)
std::string | getAtomSymbol (TSimpleMolecule &sm, int atAtom)
int | indexOf (const string instring, const string substring, int fromPos=0)
std::string | removeZeroeth (std::string instring)
int | analizeParity (string data)
int | analizeParityBond (string data)
std::string | changeParity (std::string data)
std::string | changeParityBond (std::string data)
std::string | getAtomMCDL (OBMol *pmol, int ntatoms, const std::vector< int > ix, const std::vector< int > aNumber, const std::vector< int > atomStereoList, const std::vector< int > eqList)
int | sproduct (TSimpleMolecule &sm, int br, int i1, int i2)
bool | bondEquivalent (int bn1, int bn2, const std::vector< int > eqList, TSimpleMolecule &sm)
std::string | getBondMCDL (OBMol *pmol, int nbStore, int ntatoms, const std::vector< int > ix, const std::vector< int > aNumber, int bonds[MAXBONDS][4], const std::vector< int > bondStereoList, const std::vector< int > eqList)
std::string | addZeroeth (std::string instring, std::string stringAdd)
void | setUpDownBonds (int atomNo, int parity, TSimpleMolecule &sm, std::vector< int > &iA1, std::vector< int > &iA2, std::vector< int > &stereoBonds)
void | implementAtomStereo (std::vector< int > &iA1, std::vector< int > &iA2, std::vector< int > &stereoBonds, const std::vector< double >rx, const std::vector< double > ry, int acount, int bcount, std::string astereo)
bool | restoreDoubleBonds (TEditedMolecule &sm, bool putEither)
void | implementBondStereo (const std::vector< int > iA1, const std::vector< int > iA2, std::vector< double > &rx, std::vector< double > &ry, int acount, int bcount, std::string bstereo)
int | groupRedraw (OBMol *pmol, int bondN, int atomN, bool atomNInGroup)
bool | parseFormula (const std::string formulaString, std::vector< int > &enumber, int &valency)
int | canonizeMCDL (const std::string atomBlock, std::vector< std::string > &structureList)
void | prepareTest (OBMol *pmol, std::ostream &ofs)
## Variables
const int | hVal [NELEMMCDL]
const int | maxVal [NELEMMCDL]
const int | chargeVal [NELEMMCDL]
const string | aSymb [NELEMMCDL]
const int | exactAtom [NEXACTATOMS] = {6,14,5,50,82,8,16,34,52,7,15,33,51,9,17,35,53,32,13,26,80}
const int | alkaly [NALKALYATOMS] = {3,11,19,37,55}
const int | alkalyEarth [NALKALYEARTHATOMS] = {4,12,20,38,56}
const int | trivalent [NTRIVALENTATOMS] = {21,31,39,49,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,81,89,90,91,92,93,94,95,96,97,98,99}
const int | titan [NTITANATOMS] = {22,40,72}
const int | vanadium [NVANADIUMATOMS] = {23,41,73}
const int | cromium [NCHROMIUMATOMS] = {24,42,74}
const int | manganeze [NMANGANESEATOMS] = {25,43,75}
const int | likeFe [NLIKEFEATOMS] = {27,28}
const int | platinum [NPLATINUMATOMS] = {44,45,46,76,77,78}
const int | copper [NCOPPERATOMS] = {29,47,79}
const int | zink [NZINKATOMS] = {30,48}
const int | possibleAromatic [NAROMMAX] = {7,8,15,16,33,34,51,52,HETERO_ATOM}
const int | metals [NMETALS]
const int | lightMetals [NLIGHT_METALS]
const int | heavyMetals [NHEAVY_METALS]
const int | halogens [NHALOGENS] = {9,17,35,53,85}
const int | hetero [NHETERO] = {7,8,14,15,16,33,34,51,52,84}
const string | strData [NDATABASE_MOLECULES]
const int | bondValence [NBONDTYPES] = {1,2,3,1,1,0,0,0,1,1,1}
const string | fsastart = "{SA:"
const string | fsbstart = "{SB:"

## Detailed Description

2D molecule coordinate generation.

utilities for mcdl format, might be useful for another

## Define Documentation

#define CONNMAX 15

#define NATOMSMAX 255

#define NBONDSMAX 255

#define PI 3.141592653589793238462

#define blDenominator 4.0

#define nRotBondsMax 20

#define NEXACTATOMS 21

#define NALKALYATOMS 5

#define NALKALYEARTHATOMS 5

#define NTRIVALENTATOMS 31

#define NTITANATOMS 3

#define NVANADIUMATOMS 3

#define NCHROMIUMATOMS 3

#define NMANGANESEATOMS 3

#define NLIKEFEATOMS 2

#define NPLATINUMATOMS 6

#define NCOPPERATOMS 3

#define NZINKATOMS 2

#define NMETALS 78

#define NHALOGENS 5

#define NHETERO 10

#define NAROMMAX 9

#define NLIGHT_METALS 20

#define NHEAVY_METALS 58

#define DEUTERIUM_ATOM 104

#define METALL_ATOM 111

#define HALOGEN_ATOM 112

#define ANY_ATOM 113

#define HETERO_ATOM 114

#define ANY_BOND 8

#define RUNDEF -1.2345678E9

#define DEFAULTBONDLENGTH 1.44

#define NDATABASE_MOLECULES 147

#define NBONDTYPES 11

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines