Loading...
Searching...
No Matches
mcdlutil.cpp File Reference
`#include <openbabel/babelconfig.h>`
`#include <openbabel/mol.h>`
`#include <openbabel/atom.h>`
`#include <openbabel/bond.h>`
`#include <openbabel/mcdlutil.h>`
`#include <openbabel/data.h>`
`#include <openbabel/obconversion.h>`
`#include <openbabel/stereo/stereo.h>`
`#include <openbabel/stereo/cistrans.h>`
`#include <cmath>`

## Namespaces

namespace | OpenBabel

## Macros

#define | CONNMAX 15
#define | PI 3.141592653589793238462
#define | blDenominator 4.0
#define | nRotBondsMax 10
#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 148
#define | NBONDTYPES 11

## Typedefs

typedef struct OpenBabel::adjustedlist | adjustedlist
typedef adjustedlist | neighbourlist

## 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)
int | sproduct (TSimpleMolecule &sm, int br, int i1, int i2)
bool | compareAtoms (int a1, int a2, const std::vector< std::vector< int > * > aeqList)
bool | incrementValues (std::vector< int > &currentValues, const std::vector< int > maxValues)
bool | CompareRotor (const pair< int, int > &a, const pair< int, int > &b)
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)
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)
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

## Macro Definition Documentation

## CONNMAX

#define CONNMAX 15

## PI

#define PI 3.141592653589793238462

## blDenominator

#define blDenominator 4.0

## nRotBondsMax

#define nRotBondsMax 10

## NEXACTATOMS

#define NEXACTATOMS 21

## NALKALYATOMS

#define NALKALYATOMS 5

## NALKALYEARTHATOMS

#define NALKALYEARTHATOMS 5

## NTRIVALENTATOMS

#define NTRIVALENTATOMS 31

## NTITANATOMS

#define NTITANATOMS 3

## NVANADIUMATOMS

#define NVANADIUMATOMS 3

## NCHROMIUMATOMS

#define NCHROMIUMATOMS 3

## NMANGANESEATOMS

#define NMANGANESEATOMS 3

## NLIKEFEATOMS

#define NLIKEFEATOMS 2

## NPLATINUMATOMS

#define NPLATINUMATOMS 6

## NCOPPERATOMS

#define NCOPPERATOMS 3

## NZINKATOMS

#define NZINKATOMS 2

## NMETALS

#define NMETALS 78

Referenced by OBAtom::IsMetal().

## NHALOGENS

#define NHALOGENS 5

## NHETERO

#define NHETERO 10

## NAROMMAX

#define NAROMMAX 9

## NLIGHT_METALS

#define NLIGHT_METALS 20

## NHEAVY_METALS

#define NHEAVY_METALS 58

## DEUTERIUM_ATOM

#define DEUTERIUM_ATOM 104

## METALL_ATOM

#define METALL_ATOM 111

## HALOGEN_ATOM

#define HALOGEN_ATOM 112

## ANY_ATOM

#define ANY_ATOM 113

## HETERO_ATOM

#define HETERO_ATOM 114

## ANY_BOND

#define ANY_BOND 8

## RUNDEF

#define RUNDEF -1.2345678E9

## DEFAULTBONDLENGTH

#define DEFAULTBONDLENGTH 1.44

## NDATABASE_MOLECULES

#define NDATABASE_MOLECULES 148

## NBONDTYPES

#define NBONDTYPES 11