Professional Documents
Culture Documents
Table of Contents
API Documentation............................................................................................................................................1
2.2.0.........................................................................................................................................................1
Introduction.............................................................................................................................................1
RDKitConv.h.......................................................................................................................................................3
alias.h....................................................................................................................................................................6
Class List............................................................................................................................................................10
atom.h.................................................................................................................................................................16
atomclass.h.........................................................................................................................................................26
i
Open Babel: API Documentation
Table of Contents
atomclass.h File Reference...............................................................................................................................28
Namespaces............................................................................................................................................28
Classes...................................................................................................................................................28
Detailed Description..............................................................................................................................28
base.h..................................................................................................................................................................31
bitvec.h...............................................................................................................................................................41
bond.h.................................................................................................................................................................49
ii
Open Babel: API Documentation
Table of Contents
bond.h File Reference
Define Documentation...........................................................................................................................54
bondtyper.h........................................................................................................................................................58
builder.h.............................................................................................................................................................63
canon.h...............................................................................................................................................................69
iii
Open Babel: API Documentation
Table of Contents
chains.cpp File Reference
Variable Documentation........................................................................................................................80
chains.h..............................................................................................................................................................82
chiral.h...............................................................................................................................................................92
iv
Open Babel: API Documentation
Table of Contents
FastSearch Member List................................................................................................................................107
v
Open Babel: API Documentation
Table of Contents
OBAngle Class Reference
Protected Attributes.............................................................................................................................131
Friends.................................................................................................................................................131
Detailed Description............................................................................................................................131
Constructor & Destructor Documentation...........................................................................................132
Member Function Documentation.......................................................................................................132
Friends And Related Function Documentation....................................................................................133
Member Data Documentation..............................................................................................................134
vi
Open Babel: API Documentation
Table of Contents
OBAtomAtomIter Class Reference...............................................................................................................193
Public Member Functions....................................................................................................................193
Detailed Description............................................................................................................................193
Constructor & Destructor Documentation...........................................................................................194
Member Function Documentation.......................................................................................................194
vii
Open Babel: API Documentation
Table of Contents
OBBitVec Class Reference.............................................................................................................................224
Public Types........................................................................................................................................224
Public Member Functions....................................................................................................................224
Friends.................................................................................................................................................225
Detailed Description............................................................................................................................225
Member Typedef Documentation........................................................................................................225
Constructor & Destructor Documentation...........................................................................................226
Member Function Documentation.......................................................................................................226
Friends And Related Function Documentation....................................................................................234
viii
Open Babel: API Documentation
Table of Contents
OBChemTsfm Member List..........................................................................................................................278
ix
Open Babel: API Documentation
Table of Contents
OBConversion Class Reference
Protected Member Functions...............................................................................................................310
Static Protected Member Functions.....................................................................................................310
Protected Attributes.............................................................................................................................310
Static Protected Attributes...................................................................................................................311
Detailed Description............................................................................................................................311
Member Typedef Documentation........................................................................................................313
Member Enumeration Documentation.................................................................................................313
Constructor & Destructor Documentation...........................................................................................313
Member Function Documentation.......................................................................................................313
Member Data Documentation..............................................................................................................324
x
Open Babel: API Documentation
Table of Contents
OBError Class Reference
Friends.................................................................................................................................................360
Detailed Description............................................................................................................................360
Constructor & Destructor Documentation...........................................................................................360
Member Function Documentation.......................................................................................................361
Friends And Related Function Documentation....................................................................................362
Member Data Documentation..............................................................................................................362
xi
Open Babel: API Documentation
Table of Contents
OBFFCalculation4 Member List...................................................................................................................384
xii
Open Babel: API Documentation
Table of Contents
OBFingerprint Class Reference
Member Typedef Documentation........................................................................................................414
Member Enumeration Documentation.................................................................................................414
Constructor & Destructor Documentation...........................................................................................414
Member Function Documentation.......................................................................................................415
Member Data Documentation..............................................................................................................419
xiii
Open Babel: API Documentation
Table of Contents
OBFormat Class Reference
Member Function Documentation.......................................................................................................506
Member Data Documentation..............................................................................................................511
xiv
Open Babel: API Documentation
Table of Contents
OBGridData Class Reference
Protected Attributes.............................................................................................................................545
Detailed Description............................................................................................................................545
Member Enumeration Documentation.................................................................................................546
Constructor & Destructor Documentation...........................................................................................546
Member Function Documentation.......................................................................................................546
Member Data Documentation..............................................................................................................552
xv
Open Babel: API Documentation
Table of Contents
OBLocale Class Reference
Member Function Documentation.......................................................................................................578
Member Data Documentation..............................................................................................................578
xvi
Open Babel: API Documentation
Table of Contents
OBMolAtomBFSIter Class Reference..........................................................................................................652
Public Member Functions....................................................................................................................652
Detailed Description............................................................................................................................652
Constructor & Destructor Documentation...........................................................................................653
Member Function Documentation.......................................................................................................653
xvii
Open Babel: API Documentation
Table of Contents
OBMolTorsionIter Member List...................................................................................................................677
xviii
Open Babel: API Documentation
Table of Contents
OBPairData Class Reference.........................................................................................................................712
Public Member Functions....................................................................................................................712
Protected Attributes.............................................................................................................................712
Detailed Description............................................................................................................................712
Constructor & Destructor Documentation...........................................................................................713
Member Function Documentation.......................................................................................................713
Member Data Documentation..............................................................................................................714
xix
Open Babel: API Documentation
Table of Contents
OBPointGroup Class Reference
Detailed Description............................................................................................................................737
Constructor & Destructor Documentation...........................................................................................737
Member Function Documentation.......................................................................................................737
Member Data Documentation..............................................................................................................738
xx
Open Babel: API Documentation
Table of Contents
OBReaction Member List..............................................................................................................................768
xxi
Open Babel: API Documentation
Table of Contents
OBRing Member List.....................................................................................................................................811
xxii
Open Babel: API Documentation
Table of Contents
OBRotationData Member List......................................................................................................................847
xxiii
Open Babel: API Documentation
Table of Contents
OBRotorRules Class Reference.....................................................................................................................878
Public Member Functions....................................................................................................................878
Protected Attributes.............................................................................................................................878
Detailed Description............................................................................................................................878
Constructor & Destructor Documentation...........................................................................................879
Member Function Documentation.......................................................................................................879
Member Data Documentation..............................................................................................................880
xxiv
Open Babel: API Documentation
Table of Contents
OBSmartsPattern Member List....................................................................................................................906
xxv
Open Babel: API Documentation
Table of Contents
OBTorsionData Member List........................................................................................................................936
xxvi
Open Babel: API Documentation
Table of Contents
OBVibrationData Class Reference................................................................................................................973
Public Member Functions....................................................................................................................973
Protected Attributes.............................................................................................................................973
Detailed Description............................................................................................................................974
Constructor & Destructor Documentation...........................................................................................974
Member Function Documentation.......................................................................................................974
Member Data Documentation..............................................................................................................976
xxvii
Open Babel: API Documentation
Table of Contents
XMLBaseFormat Class Reference
Static Protected Member Functions...................................................................................................1004
Protected Attributes...........................................................................................................................1004
Detailed Description..........................................................................................................................1005
Member Typedef Documentation......................................................................................................1005
Constructor & Destructor Documentation.........................................................................................1005
Member Function Documentation.....................................................................................................1005
Member Data Documentation............................................................................................................1011
xxviii
Open Babel: API Documentation
Table of Contents
matrix3x3 Class Reference...........................................................................................................................1055
Public Member Functions..................................................................................................................1055
Static Public Member Functions........................................................................................................1056
Friends...............................................................................................................................................1056
Detailed Description..........................................................................................................................1056
Constructor & Destructor Documentation.........................................................................................1056
Member Function Documentation.....................................................................................................1057
Friends And Related Function Documentation..................................................................................1063
xxix
Open Babel: API Documentation
Table of Contents
Class Index.....................................................................................................................................................1094
data.h..............................................................................................................................................................1098
Deprecated List.............................................................................................................................................1104
descriptor.h....................................................................................................................................................1111
dlhandler.h.....................................................................................................................................................1116
xxx
Open Babel: API Documentation
Table of Contents
File List..........................................................................................................................................................1124
fingerprint.h..................................................................................................................................................1129
forcefield.h.....................................................................................................................................................1137
format.h..........................................................................................................................................................1158
xxxi
Open Babel: API Documentation
Table of Contents
format.h File Reference
- a -...............................................................................................................................................1186
- b -..............................................................................................................................................1189
- c -...............................................................................................................................................1191
- d -..............................................................................................................................................1193
- e -...............................................................................................................................................1195
- f -...............................................................................................................................................1198
- g -..............................................................................................................................................1200
- h -..............................................................................................................................................1207
- i -...............................................................................................................................................1210
- p -..............................................................................................................................................1213
- q -..............................................................................................................................................1215
- r -...............................................................................................................................................1217
- s -...............................................................................................................................................1219
- t -...............................................................................................................................................1225
- u -..............................................................................................................................................1227
- v -..............................................................................................................................................1229
- w -.............................................................................................................................................1231
- x -..............................................................................................................................................1233
- y -..............................................................................................................................................1234
- a -...............................................................................................................................................1238
- j -...............................................................................................................................................1240
- k -..............................................................................................................................................1241
- l -...............................................................................................................................................1243
- m -.............................................................................................................................................1244
- n -..............................................................................................................................................1246
- o -..............................................................................................................................................1248
- z -...............................................................................................................................................1252
- ~ -..............................................................................................................................................1253
- b -..............................................................................................................................................1256
- c -...............................................................................................................................................1258
- d -..............................................................................................................................................1260
- e -...............................................................................................................................................1262
- f -...............................................................................................................................................1264
- g -..............................................................................................................................................1266
- h -..............................................................................................................................................1274
- i -...............................................................................................................................................1276
- p -..............................................................................................................................................1279
- q -..............................................................................................................................................1281
- r -...............................................................................................................................................1282
- s -...............................................................................................................................................1284
- t -...............................................................................................................................................1290
- u -..............................................................................................................................................1292
- v -..............................................................................................................................................1294
- w -.............................................................................................................................................1296
- x -..............................................................................................................................................1297
- y -..............................................................................................................................................1299
- _ -..............................................................................................................................................1302
xxxii
Open Babel: API Documentation
Table of Contents
format.h File Reference
- l -...............................................................................................................................................1307
- m -.............................................................................................................................................1308
- n -..............................................................................................................................................1309
- o -..............................................................................................................................................1311
- a -...............................................................................................................................................1312
- b -..............................................................................................................................................1313
- c -...............................................................................................................................................1315
- d -..............................................................................................................................................1316
- e -...............................................................................................................................................1317
- f -...............................................................................................................................................1319
- g -..............................................................................................................................................1320
- h -..............................................................................................................................................1322
- i -...............................................................................................................................................1323
- p -..............................................................................................................................................1324
- q -..............................................................................................................................................1326
- r -...............................................................................................................................................1327
- s -...............................................................................................................................................1329
- t -...............................................................................................................................................1330
- v -..............................................................................................................................................1331
- w -.............................................................................................................................................1333
generic.h.........................................................................................................................................................1335
xxxiii
Open Babel: API Documentation
Table of Contents
generic.h File Reference
- p -..............................................................................................................................................1372
- r -...............................................................................................................................................1373
- s -...............................................................................................................................................1374
- t -...............................................................................................................................................1375
- v -..............................................................................................................................................1377
- w -.............................................................................................................................................1378
- a -...............................................................................................................................................1379
- k -..............................................................................................................................................1381
- l -...............................................................................................................................................1383
- m -.............................................................................................................................................1384
- n -..............................................................................................................................................1385
- o -..............................................................................................................................................1386
- z -...............................................................................................................................................1389
- b -..............................................................................................................................................1390
- c -...............................................................................................................................................1393
- d -..............................................................................................................................................1394
- e -...............................................................................................................................................1395
- f -...............................................................................................................................................1396
- h -..............................................................................................................................................1398
- i -...............................................................................................................................................1399
- p -..............................................................................................................................................1401
- r -...............................................................................................................................................1402
- s -...............................................................................................................................................1403
- t -...............................................................................................................................................1404
- v -..............................................................................................................................................1406
- w -.............................................................................................................................................1407
Graph Legend................................................................................................................................................1410
grid.h..............................................................................................................................................................1413
xxxiv
Open Babel: API Documentation
Table of Contents
griddata.h.......................................................................................................................................................1422
groupcontrib.h...............................................................................................................................................1427
Class Hierarchy.............................................................................................................................................1431
API Documentation......................................................................................................................................1435
2.2.0...................................................................................................................................................1435
Introduction.......................................................................................................................................1435
internalcoord.h..............................................................................................................................................1437
kinetics.h........................................................................................................................................................1444
lineend.h.........................................................................................................................................................1449
xxxv
Open Babel: API Documentation
Table of Contents
lineend.h File Reference
Detailed Description..........................................................................................................................1453
locale.h............................................................................................................................................................1456
Main Classes..................................................................................................................................................1460
matrix3x3.h....................................................................................................................................................1463
matrix.h..........................................................................................................................................................1472
xxxvi
Open Babel: API Documentation
Table of Contents
mol.cpp File Reference
Variables............................................................................................................................................1477
Detailed Description..........................................................................................................................1477
Define Documentation.......................................................................................................................1477
mol.h...............................................................................................................................................................1478
molchrg.h.......................................................................................................................................................1493
xxxvii
Open Babel: API Documentation
Table of Contents
OpenBabel::OBGenericDataType Namespace Reference........................................................................1563
Enumerations.....................................................................................................................................1563
Detailed Description..........................................................................................................................1563
Enumeration Type Documentation....................................................................................................1563
xxxviii
Open Babel: API Documentation
Table of Contents
OpenBabel::OBResidueProperty Namespace Reference
- e -...............................................................................................................................................1613
- f -...............................................................................................................................................1613
- g -..............................................................................................................................................1613
- h -..............................................................................................................................................1613
- i -...............................................................................................................................................1614
- l -...............................................................................................................................................1614
- m -.............................................................................................................................................1614
- n -..............................................................................................................................................1614
- o -..............................................................................................................................................1614
- p -..............................................................................................................................................1614
- r -...............................................................................................................................................1615
- s -...............................................................................................................................................1615
- t -...............................................................................................................................................1615
- u -..............................................................................................................................................1615
- v -..............................................................................................................................................1616
- w -.............................................................................................................................................1616
- y -..............................................................................................................................................1616
- a -...............................................................................................................................................1617
- k -..............................................................................................................................................1618
- l -...............................................................................................................................................1620
- m -.............................................................................................................................................1621
- n -..............................................................................................................................................1622
- o -..............................................................................................................................................1623
- b -..............................................................................................................................................1625
- c -...............................................................................................................................................1626
- d -..............................................................................................................................................1628
- e -...............................................................................................................................................1629
- f -...............................................................................................................................................1631
- g -..............................................................................................................................................1632
- i -...............................................................................................................................................1634
- p -..............................................................................................................................................1635
- q -..............................................................................................................................................1637
- r -...............................................................................................................................................1638
- s -...............................................................................................................................................1639
- t -...............................................................................................................................................1641
- u -..............................................................................................................................................1642
- v -..............................................................................................................................................1643
- w -.............................................................................................................................................1645
- _ -..............................................................................................................................................1647
- a -...............................................................................................................................................1647
- b -..............................................................................................................................................1647
- c -...............................................................................................................................................1647
- d -..............................................................................................................................................1647
- e -...............................................................................................................................................1647
- i -...............................................................................................................................................1647
- l -...............................................................................................................................................1648
- m -.............................................................................................................................................1648
xxxix
Open Babel: API Documentation
Table of Contents
OpenBabel::OBResidueProperty Namespace Reference
- n -..............................................................................................................................................1648
- o -..............................................................................................................................................1648
- p -..............................................................................................................................................1648
- r -...............................................................................................................................................1648
- s -...............................................................................................................................................1648
- t -...............................................................................................................................................1649
- v -..............................................................................................................................................1649
Namespace List..............................................................................................................................................1650
obconversion.h...............................................................................................................................................1653
oberror.h........................................................................................................................................................1661
obiter.h...........................................................................................................................................................1668
xl
Open Babel: API Documentation
Table of Contents
obiter.h File Reference
Defines...............................................................................................................................................1675
Detailed Description..........................................................................................................................1675
Define Documentation.......................................................................................................................1675
obmolecformat.h...........................................................................................................................................1679
obutil.h...........................................................................................................................................................1687
op.h.................................................................................................................................................................1695
xli
Open Babel: API Documentation
Table of Contents
optransform.h................................................................................................................................................1700
Further Information.....................................................................................................................................1703
Related Pages.................................................................................................................................................1704
parsmart.h.....................................................................................................................................................1715
patty.h............................................................................................................................................................1726
xlii
Open Babel: API Documentation
Table of Contents
phmodel.h......................................................................................................................................................1732
plugin.h..........................................................................................................................................................1737
pointgroup.h..................................................................................................................................................1746
rand.h.............................................................................................................................................................1753
xliii
Open Babel: API Documentation
Table of Contents
rand.h File Reference....................................................................................................................................1755
Namespaces........................................................................................................................................1755
Classes...............................................................................................................................................1755
Functions............................................................................................................................................1755
Detailed Description..........................................................................................................................1756
reaction.h.......................................................................................................................................................1757
residue.h.........................................................................................................................................................1763
ring.h..............................................................................................................................................................1780
xliv
Open Babel: API Documentation
Table of Contents
rotamer.cpp File Reference..........................................................................................................................1785
Namespaces........................................................................................................................................1785
Defines...............................................................................................................................................1785
Functions............................................................................................................................................1785
Variables............................................................................................................................................1785
Detailed Description..........................................................................................................................1785
Define Documentation.......................................................................................................................1785
rotamer.h.......................................................................................................................................................1787
rotor.h............................................................................................................................................................1794
snprintf.h........................................................................................................................................................1804
xlv
Open Babel: API Documentation
Table of Contents
spacegroup.h..................................................................................................................................................1810
Getting Started..............................................................................................................................................1815
xlvi
Open Babel: API Documentation
Table of Contents
FptIndexHeader Member List.....................................................................................................................1832
Todo List........................................................................................................................................................1848
xlvii
Open Babel: API Documentation
Table of Contents
tokenst.h.........................................................................................................................................................1852
transform3d.h................................................................................................................................................1857
typer.h............................................................................................................................................................1863
xlviii
Open Babel: API Documentation
Table of Contents
_BondExpr Union Reference
Member Data Documentation............................................................................................................1874
vector3.h.........................................................................................................................................................1879
xml.h...............................................................................................................................................................1887
xlix
API Documentation
2.2.0
Introduction
Open Babel is a full chemical software toolbox. In addition to converting file formats, it offers a complete
programming library for developing chemistry software. The library is written primarily in C++ and also
offers interfaces to other languages (e.g., Perl, Python, Ruby, and Java) using essentially the same API.
This documentation outlines the Open Babel programming interface, providing information on all public
classes, methods, and data. In particular, strives to provide as much (or as little) detail as needed. More
information can also be found on the main website and through the openbabel-discuss mailing list.
• General Introduction
(history, design, and rationale, ...)
• Getting Started
(where to begin, example code, using Open Babel in real life, ...)
• Main Classes
(the most important, widely-used public classes)
• All Classes
(all classes with brief descriptions)
• What's New in Version 2.2
(changes since 2.1 releases)
• What's New in Version 2.1
(changes since 2.0 releases)
• Further Information
(other resources, tutorials, mailing lists, ...)
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
API Documentation 1
Open Babel: API Documentation
• Files
Introduction 2
RDKitConv.h
Go to the documentation of this file.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
RDKitConv.h 3
RDKitConv.h File Reference
Allow conversion from OBMol to RDKit RWMol. More...
#include <openbabel/mol.h>
#include <openbabel/obiter.h>
#include <graphmol/RWMol.h>
#include <graphmol/Atom.h>
Functions
RDKit::RWMol OBMolToRWMol (OpenBabel::OBMol *pOBMol)
Detailed Description
Allow conversion from OBMol to RDKit RWMol.
Function Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
#include <openbabel/babelconfig.h>
#include <openbabel/alias.h>
Namespaces
namespace OpenBabel
Detailed Description
OBGenericData class to for atom alias data (e.g., in 2D drawing programs for "COOH").
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
00001 /**********************************************************************
00002 alias.h - OBGenericData class to hold alias information on atoms
00003 Copyright (C) Copyright (C) 2007 by Chris Morley
00004
00005 This program is free software; you can redistribute it and/or modify
00006 it under the terms of the GNU General Public License as published by
00007 the Free Software Foundation version 2 of the License.
00008
00009 This program is distributed in the hope that it will be useful,
00010 but WITHOUT ANY WARRANTY; without even the implied warranty of
00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00012 GNU General Public License for more details.
00013 ***********************************************************************/
00014
00015 #ifndef OB_ALIAS_H
00016 #define OB_ALIAS_H
00017
00018
00019 #include <vector>
00020 #include <openbabel/mol.h>
00021
00022 namespace OpenBabel
00023 {
00024 // This macro is used in DLL builds. If it has not
00025 // been set in babelconfig.h, define it as nothing.
00026 #ifndef OBAPI
00027 #define OBAPI
00028 #endif
00029
00030 const unsigned int AliasDataType = 0x7883;
00031
00048 class OBAPI AliasData : public OBGenericData
00049 {
00050 protected:
00051 std::string _alias;
00052 std::vector<unsigned int> _expandedatoms;
00053 public:
00054
00055 AliasData(): OBGenericData("Alias", AliasDataType){ }
00056
00057 virtual OBGenericData* Clone(OBBase* /*parent*/) const{return new AliasData(*this);}
00058
00060 void SetAlias(const std::string& alias) {_alias = alias;}
00061 void SetAlias(const char* alias) {_alias = alias;}
00062
00064 std::string GetAlias()const { return _alias; }
00065
00067 void SetExpandedAtoms(std::vector<unsigned int>& atoms){ _expandedatoms = atoms; }
00068
00070 std::vector<unsigned int> GetExpandedAtoms()const { return _expandedatoms; }
00071
00072 bool IsExpanded()const { return !_expandedatoms.empty(); }
00073
00074
00075 bool Expand(OBMol& mol, const unsigned int atomindex);
alias.h 6
Open Babel: API Documentation
00076
00077 };
00078 } //namespace
00079
00080 #endif // OB_ALIAS_H
00081
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
alias.h 7
alias.h File Reference
OBGenericData class to for atom alias data (e.g., in 2D drawing programs for "COOH"). More...
#include <vector>
#include <openbabel/mol.h>
This graph shows which files directly or indirectly include this file:
Namespaces
namespace OpenBabel
Classes
class AliasData
Indicate atoms as aliases for larger functional groups. More...
Variables
const unsigned int AliasDataType = 0x7883
Detailed Description
OBGenericData class to for atom alias data (e.g., in 2D drawing programs for "COOH").
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
Detailed Description 9
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
Class List 10
Open Babel: API Documentation
Class List 11
Open Babel: API Documentation
OBNasaThermoData Thermodynamic data in old style NASA polynomial form for OBMol
OBOp Operations to modify molecules before output
OBPairData Used to store arbitrary text attribute/value relationships
OBPairTemplate Used to store arbitrary attribute/value relationsips of any type
OBPhModel Corrections for pH used by OBMol::CorrectForPH()
OBPlugin Base class for all types of dynamic classes discovered at runtime
OBPointGroup Brute-force point group symmetry perception
OBProxGrid A grid for determining the proximity of a given point to atoms in an OBMol
OBRandom Random number generator
OBRateData Holds rate constant data for OBReaction
OBReaction Used to store chemical reactions (i.e., reactants -> products)
OBResidue Residue information
OBResidueAtomIter Iterate over all atoms in an OBResidue
OBResidueData Table of common biomolecule residues (for PDB or other files)
OBResidueIter Iterate over all residues in an OBMol
OBRing Stores information on rings in a molecule from SSSR perception
OBRingData Used to store the SSSR set (filled in by OBMol::GetSSSR())
OBRingSearch Internal class to facilitate OBMol::FindSSSR()
OBRingTyper Assigns ring types
Supports a set of rotamer coordinate sets for some number of potentially rotatable
OBRotamerList
bonds
OBRotationData Used to hold the rotational constants and symmetry numbers
OBRotor A single rotatable OBBond as part of rotamer searching
OBRotorKeys A class to generate all possible rotorKeys
OBRotorList Given an OBMol, set up a list of possibly rotatable torsions,
OBRotorRule A rule for torsional conformer searching, defined by a SMARTS pattern
Database of default hybridization torsional rules and SMARTS-defined
OBRotorRules
OBRotorRule objects
Internal class for OBRing search algorithms to create a search tree of OBAtom
OBRTree
objects
OBScoreGrid A base class for scoring docking interactions between multiple molecules
Defines a map between serial numbers (e.g., in a PDB file) and OBAtom objects
OBSerialNums
inside a molecule
Used to store arbitrary attribute/set relationships. Should be used to store a set of
OBSetData
OBGenericData based on an attribute
OBSmartsPattern SMARTS (SMiles ARbitrary Target Specification) substructure searching
OBSqrtTbl Square Root lookup table - given a distance squared returns distance
Internal class: performs fast, exhaustive matching used to find just a single match in
OBSSMatch
match() using recursion and explicit stack handling
OBStopwatch Stopwatch class used for timing length of execution
OBSymmetryData Used to hold the point-group and/or space-group symmetry
OBTorsion Used to hold the torsion data for a single rotatable bond and all four atoms around it
OBTorsionData Used to hold torsions as generic data for OBMol
Class List 12
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
Class List 13
atom.cpp File Reference
Handle OBAtom class. More...
#include <openbabel/babelconfig.h>
#include <openbabel/atom.h>
#include <openbabel/mol.h>
#include <openbabel/molchrg.h>
#include <openbabel/phmodel.h>
#include <openbabel/math/matrix3x3.h>
Namespaces
namespace OpenBabel
Defines
#define ONE_OVER_SQRT3 0.57735026918962576451
#define SQRT_TWO_THIRDS 0.81649658092772603272
Functions
int strncasecmp (const char *s1, const char *s2, size_t n)
static void ApplyRotMatToBond (OBMol &mol, matrix3x3 &m, OBAtom *a1, OBAtom *a2)
Variables
OBPhModel phmodel
Detailed Description
Handle OBAtom class.
Define Documentation
Function Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
Define Documentation 15
atom.h
Go to the documentation of this file.
00001 /**********************************************************************
00002 atom.h - Handle OBAtom class.
00003
00004 Copyright (C) 1998-2001 by OpenEye Scientific Software, Inc.
00005 Some portions Copyright (C) 2001-2006 by Geoffrey R. Hutchison
00006 Some portions Copyright (C) 2003 by Michael Banck
00007
00008 This file is part of the Open Babel project.
00009 For more information, see <http://openbabel.sourceforge.net/>
00010
00011 This program is free software; you can redistribute it and/or modify
00012 it under the terms of the GNU General Public License as published by
00013 the Free Software Foundation version 2 of the License.
00014
00015 This program is distributed in the hope that it will be useful,
00016 but WITHOUT ANY WARRANTY; without even the implied warranty of
00017 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00018 GNU General Public License for more details.
00019 ***********************************************************************/
00020
00021 #ifndef OB_ATOM_H
00022 #define OB_ATOM_H
00023
00024 #include <openbabel/babelconfig.h>
00025
00026 #ifndef EXTERN
00027 # define EXTERN extern
00028 #endif
00029
00030 #include <vector>
00031 #include <string>
00032
00033 #include <openbabel/base.h>
00034 #include <openbabel/residue.h>
00035 #include <openbabel/math/vector3.h>
00036
00037 namespace OpenBabel
00038 {
00039
00040 class OBBond;
00041 class OBMol;
00042
00044 typedef OBAtom OBNodeBase;
00046 typedef std::vector<OBBond*>::iterator OBBondIterator;
00048 typedef std::vector<OBAtom*>::iterator OBAtomIterator;
00049
00050 //ATOM Property Macros (flags)
00052 #define OB_4RING_ATOM (1<<1)
00054 #define OB_3RING_ATOM (1<<2)
00056 #define OB_AROMATIC_ATOM (1<<3)
00058 #define OB_RING_ATOM (1<<4)
00060 #define OB_CSTEREO_ATOM (1<<5)
00062 #define OB_ACSTEREO_ATOM (1<<6)
00064 #define OB_DONOR_ATOM (1<<7)
00066 #define OB_ACCEPTOR_ATOM (1<<8)
atom.h 16
Open Babel: API Documentation
00068 #define OB_CHIRAL_ATOM (1<<9)
00070 #define OB_POS_CHIRAL_ATOM (1<<10)
00072 #define OB_NEG_CHIRAL_ATOM (1<<11)
00074 #define OB_ATOM_HAS_NO_H (1<<12)
00076 #define OB_ATOM_NOT_H_DEFICIENT (1<<13)
00077
00078 // Class OBAtom
00079 // class introduction in atom.cpp
00080 class OBAPI OBAtom: public OBBase
00081 {
00082 protected:
00083 char _ele;
00084 char _impval;
00085 char _type[6];
00086 short _fcharge;
00087 unsigned short _isotope;
00088 short _spinmultiplicity;
00089
00090 unsigned int _idx;
00091 OBMol *_parent;
00092 std::vector<OBBond*> _vbond;
00093
00094 unsigned int _cidx;
00095 unsigned short _hyb;
00096 unsigned short _flags;
00097 double _pcharge;
00098 double **_c;
00099 mutable vector3 _v;
00100 OBResidue *_residue;
00101
00103 int GetFlag() const { return(_flags); }
00105 void SetFlag(int flag) { _flags |= flag; }
00107 bool HasFlag(int flag) { return((_flags & flag) ? true : false); }
00108
00109 public:
00111 bool Visit;
00112
00114 OBAtom();
00116 virtual ~OBAtom();
00118 OBAtom &operator = (OBAtom &);
00121 void Duplicate(OBAtom *);
00124 bool Clear();
00125
00127
00128
00129 void SetIdx(int idx) { _idx = idx; _cidx = (idx-1)*3; }
00131 void SetHyb(int hyb) { _hyb = hyb; }
00133 void SetAtomicNum(int atomicnum) { _ele = (char)atomicnum; }
00135 void SetIsotope(unsigned int iso);
00137 void SetImplicitValence(int val) { _impval = (char)val; }
00139 void IncrementImplicitValence() { _impval++; }
00141 void DecrementImplicitValence() { _impval--; }
00143 void SetFormalCharge(int fcharge) { _fcharge = fcharge; }
00145 void SetSpinMultiplicity(short spin){ _spinmultiplicity = spin; }
00147 void SetType(const char *type);
00149 void SetType(const std::string &type);
00151 void SetPartialCharge(double pcharge){ _pcharge = pcharge; }
00153 void SetVector(const vector3 &v);
00155 void SetVector(const double x,const double y,const double z);
00157 void SetCoordPtr(double **c) { _c = c; _cidx = (GetIdx()-1)*3; }
00159 void SetVector();
atom.h 17
Open Babel: API Documentation
00161 void SetResidue(OBResidue *res) { _residue=res; }
00163 void SetParent(OBMol *ptr) { _parent=ptr; }
00165 void SetAromatic() { SetFlag(OB_AROMATIC_ATOM); }
00167 void UnsetAromatic() { _flags &= (~(OB_AROMATIC_ATOM)); }
00169 void SetClockwiseStereo() { SetFlag(OB_CSTEREO_ATOM|OB_CHIRAL_ATOM); }
00171 void SetAntiClockwiseStereo() { SetFlag(OB_ACSTEREO_ATOM|OB_CHIRAL_ATOM); }
00173 void SetPositiveStereo() { SetFlag(OB_POS_CHIRAL_ATOM|OB_CHIRAL_ATOM); }
00175 void SetNegativeStereo() { SetFlag(OB_NEG_CHIRAL_ATOM|OB_CHIRAL_ATOM); }
00177 void UnsetStereo()
00178 {
00179 _flags &= ~(OB_ACSTEREO_ATOM);
00180 _flags &= ~(OB_CSTEREO_ATOM);
00181 _flags &= ~(OB_POS_CHIRAL_ATOM);
00182 _flags &= ~(OB_NEG_CHIRAL_ATOM);
00183 _flags &= ~(OB_CHIRAL_ATOM);
00184 }
00186 void SetInRing() { SetFlag(OB_RING_ATOM); }
00188 void SetChiral() { SetFlag(OB_CHIRAL_ATOM); }
00190 void ClearCoordPtr() { _c = NULL; _cidx=0; }
00192
00194
00195
00196 int GetFormalCharge() const { return(_fcharge); }
00198 unsigned int GetAtomicNum() const { return((unsigned int)_ele); }
00200 unsigned short int GetIsotope() const { return(_isotope); }
00203 int GetSpinMultiplicity() const { return(_spinmultiplicity); }
00206 double GetAtomicMass() const;
00209 double GetExactMass() const;
00211 unsigned int GetIdx() const { return((int)_idx); }
00214 unsigned int GetCoordinateIdx() const { return((int)_cidx); }
00216 unsigned int GetCIdx() const { return((int)_cidx); }
00218 unsigned int GetValence() const
00219 {
00220 return((_vbond.empty()) ? 0 : _vbond.size());
00221 }
00223 unsigned int GetHyb() const;
00225 unsigned int GetImplicitValence() const;
00227 unsigned int GetHvyValence() const;
00229 unsigned int GetHeteroValence() const;
00231 char *GetType();
00232
00234 double GetX() const { return(x()); }
00236 double GetY() const { return(y()); }
00238 double GetZ() const { return(z()); }
00239
00240 // These methods check to see if there is a coordinate pointer
00241 // or an internal vector (e.g., SetCoordPtr())
00243 double x() const {
00244 if (_c) return((*_c)[_cidx]);
00245 else return _v.x();
00246 }
00248 double y() const {
00249 if (_c) return((*_c)[_cidx+1]);
00250 else return _v.y();
00251 }
00253 double z() const {
00254 if (_c) return((*_c)[_cidx+2]);
00255 else return _v.z();
00256 }
00261 double *GetCoordinate(){
00262 if (_c) return(&(*_c)[_cidx]);
atom.h 18
Open Babel: API Documentation
00263 else return NULL;
00264 }
00266 vector3 &GetVector();
00268 const vector3 &GetVector() const;
00270 double GetPartialCharge();
00272 OBResidue *GetResidue();
00275 OBResidue *GetResidue(bool perception);
00277 OBMol *GetParent() {return((OBMol*)_parent);}
00280 bool GetNewBondVector(vector3 &v,double length);
00283 OBBond *GetBond(OBAtom *);
00288 OBAtom *GetNextAtom();
00290
00292
00293
00294 OBBondIterator BeginBonds()
00295 { return(_vbond.begin()); }
00297 OBBondIterator EndBonds()
00298 { return(_vbond.end()); }
00301 OBBond *BeginBond(OBBondIterator &i);
00304 OBBond *NextBond(OBBondIterator &i);
00307 OBAtom *BeginNbrAtom(OBBondIterator &i);
00310 OBAtom *NextNbrAtom(OBBondIterator &i);
00312
00314 double GetDistance(int index);
00316 double GetDistance(OBAtom*);
00318 double GetAngle(int b, int c);
00320 double GetAngle(OBAtom *b, OBAtom *c);
00321
00323
00324
00326 void NewResidue()
00327 {
00328 if (!_residue)
00329 _residue = new OBResidue;
00330 }
00332 void AddResidue(OBResidue *res) { SetResidue(res); }
00334 void DeleteResidue(){
00335 if (_residue) {
00336 delete _residue;
00337 _residue = NULL; // Make sure to clear that a residue existed
00338 }
00339 }
00341 void AddBond(OBBond *bond) { _vbond.push_back(bond); }
00344 void InsertBond(OBBondIterator &i, OBBond *bond)
00345 {
00346 _vbond.insert(i, bond);
00347 }
00349 bool DeleteBond(OBBond* bond);
00351 void ClearBond() {_vbond.clear();}
00353
00355
00356
00359 bool HtoMethyl();
00362 bool SetHybAndGeom(int);
00364 void ForceNoH() {SetFlag(OB_ATOM_HAS_NO_H);}
00366 bool HasNoHForced() {return HasFlag(OB_ATOM_HAS_NO_H);}
00367
00370 void ForceImplH() {SetFlag(OB_ATOM_NOT_H_DEFICIENT);}
00373 bool HasImplHForced() {return HasFlag(OB_ATOM_NOT_H_DEFICIENT);}
00375
00377
atom.h 19
Open Babel: API Documentation
00378
00379 unsigned int CountFreeOxygens() const;
00381 unsigned int ImplicitHydrogenCount() const;
00383 unsigned int ExplicitHydrogenCount(bool ExcludeIsotopes=false) const;
00385 unsigned int MemberOfRingCount() const;
00387 unsigned int MemberOfRingSize() const;
00389 unsigned int CountRingBonds() const;
00391 double SmallestBondAngle();
00393 double AverageBondAngle();
00395 unsigned int BOSum() const;
00398 unsigned int KBOSum() const;
00400 bool HasResidue() { return(_residue != NULL); }
00402 bool IsHydrogen() { return(GetAtomicNum() == 1); }
00404 bool IsCarbon() { return(GetAtomicNum() == 6); }
00406 bool IsNitrogen() { return(GetAtomicNum() == 7); }
00408 bool IsOxygen() { return(GetAtomicNum() == 8); }
00410 bool IsSulfur() { return(GetAtomicNum() == 16);}
00412 bool IsPhosphorus() { return(GetAtomicNum() == 15);}
00414 bool IsAromatic() const;
00416 bool IsInRing() const;
00418 bool IsInRingSize(int) const;
00421 bool IsHeteroatom();
00423 bool IsNotCorH();
00425 bool IsConnected(OBAtom*);
00428 bool IsOneThree(OBAtom*);
00431 bool IsOneFour(OBAtom*);
00433 bool IsCarboxylOxygen();
00435 bool IsPhosphateOxygen();
00437 bool IsSulfateOxygen();
00439 bool IsNitroOxygen();
00441 bool IsAmideNitrogen();
00444 bool IsPolarHydrogen();
00447 bool IsNonPolarHydrogen();
00450 bool IsAromaticNOxide();
00452 bool IsChiral();
00454 bool IsAxial();
00456 bool IsClockwise() { return(HasFlag(OB_CSTEREO_ATOM)); }
00458 bool IsAntiClockwise() { return(HasFlag(OB_ACSTEREO_ATOM)); }
00460 bool IsPositiveStereo() { return(HasFlag(OB_POS_CHIRAL_ATOM)); }
00462 bool IsNegativeStereo() { return(HasFlag(OB_NEG_CHIRAL_ATOM)); }
00464 bool HasChiralitySpecified()
00465 { return(HasFlag(OB_CSTEREO_ATOM|OB_ACSTEREO_ATOM)); }
00467 bool HasChiralVolume()
00468 { return(HasFlag(OB_POS_CHIRAL_ATOM|OB_NEG_CHIRAL_ATOM)); }
00470 bool IsHbondAcceptor();
00472 bool IsHbondDonor();
00474 bool IsHbondDonorH();
00479 bool HasAlphaBetaUnsat(bool includePandS=true);
00481 bool HasBondOfOrder(unsigned int bo);
00483 int CountBondsOfOrder(unsigned int bo);
00485 bool HasNonSingleBond();
00487 bool HasSingleBond() { return(HasBondOfOrder(1)); }
00489 bool HasDoubleBond() { return(HasBondOfOrder(2)); }
00491 bool HasAromaticBond() { return(HasBondOfOrder(5)); }
00493 bool MatchesSMARTS(const char *);
00495
00496 }; // class OBAtom
00497
00498 }// namespace OpenBabel
00499
00500 #endif // OB_ATOM_H
atom.h 20
Open Babel: API Documentation
00501
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
atom.h 21
atom.h File Reference
Handle atoms. More...
#include <openbabel/babelconfig.h>
#include <vector>
#include <string>
#include <openbabel/base.h>
#include <openbabel/residue.h>
#include <openbabel/math/vector3.h>
This graph shows which files directly or indirectly include this file:
Namespaces
namespace OpenBabel
Classes
class OBAtom
Atom class. More...
Defines
#define OB_4RING_ATOM (1<<1)
#define OB_3RING_ATOM (1<<2)
#define OB_AROMATIC_ATOM (1<<3)
#define OB_RING_ATOM (1<<4)
#define OB_CSTEREO_ATOM (1<<5)
#define OB_ACSTEREO_ATOM (1<<6)
#define OB_DONOR_ATOM (1<<7)
#define OB_ACCEPTOR_ATOM (1<<8)
Typedefs
typedef OBAtom OBNodeBase
typedef std::vector< OBBond * >
::iterator OBBondIterator
typedef std::vector< OBAtom * >
::iterator OBAtomIterator
Detailed Description
Handle atoms.
Define Documentation
Defines 23
Open Babel: API Documentation
Define Documentation 24
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
Define Documentation 25
atomclass.h
Go to the documentation of this file.
00001 /**********************************************************************
00002 Copyright (C) 2007 by Chris Morley
00003
00004 This program is free software; you can redistribute it and/or modify
00005 it under the terms of the GNU General Public License as published by
00006 the Free Software Foundation version 2 of the License.
00007
00008 This program is distributed in the hope that it will be useful,
00009 but WITHOUT ANY WARRANTY; without even the implied warranty of
00010 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00011 GNU General Public License for more details.
00012 ***********************************************************************/
00013
00014 #ifndef OB_ATOMCLASS_H
00015 #define OB_ATOMCLASS_H
00016
00017 #include <vector>
00018 #ifdef HAVE_SSTREAM
00019 #include <sstream>
00020 #endif
00021 #include <openbabel/base.h>
00022
00023 namespace OpenBabel
00024 {
00025 // This macro is used in DLL builds. If it has not
00026 // been set in babelconfig.h, define it as nothing.
00027 #ifndef OBAPI
00028 #define OBAPI
00029 #endif
00030
00040 class OBAPI OBAtomClassData : public OBGenericData
00041 {
00042 protected:
00043 std::map<int,int> _map; //index is atom index; value is class
00044 public:
00045 OBAtomClassData(): OBGenericData("Atom Class", 0x7882){ }
00046 virtual OBGenericData* Clone(OBBase* /*parent*/) const{return new OBAtomClassData(*this)
00047
00049 void Clear(){ _map.clear(); }
00050
00052 void Add(int indx, int cl) { _map[indx] = cl;}
00053
00055 bool HasClass(int indx)const { return _map.find(indx)!=_map.end(); }
00057 int GetClass(int indx)const
00058 {
00059 std::map<int,int>::const_iterator pos = _map.find(indx);
00060 if(pos!=_map.end())
00061 return pos->second;
00062 return -9999;
00063 }
00064
00067 std::string GetClassString(int indx)
00068 {
00069 std::stringstream ss;
00070 std::map<int,int>::const_iterator pos = _map.find(indx);
atomclass.h 26
Open Babel: API Documentation
00071 if(pos!=_map.end())
00072 ss << ':' << pos->second;
00073 return ss.str();
00074 }
00075 int size(){ return _map.size(); }
00076
00077 };
00078 } //namespace
00079
00080 #endif // OB_ATOMCLASS_H
00081
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
atomclass.h 27
atomclass.h File Reference
Handle atom classes in reaction SMILES/SMIRKS. More...
#include <vector>
#include <openbabel/base.h>
This graph shows which files directly or indirectly include this file:
Namespaces
namespace OpenBabel
Classes
class OBAtomClassData
Handle atom classes in reaction SMILES/SMIRKS. More...
Detailed Description
Handle atom classes in reaction SMILES/SMIRKS.
This file is part of the documentation for Open Babel, version 2.2.0.
Detailed Description 29
base.cpp File Reference
Implementation of base classes. More...
#include <openbabel/babelconfig.h>
#include <openbabel/base.h>
Namespaces
namespace OpenBabel
Detailed Description
Implementation of base classes.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
00001 /**********************************************************************
00002 base.h - Base class for OpenBabel objects
00003
00004 Copyright (C) 1998-2001 by OpenEye Scientific Software, Inc.
00005 Some portions Copyright (C) 2001-2006 by Geoffrey R. Hutchison
00006
00007 This file is part of the Open Babel project.
00008 For more information, see <http://openbabel.sourceforge.net/>
00009
00010 This program is free software; you can redistribute it and/or modify
00011 it under the terms of the GNU General Public License as published by
00012 the Free Software Foundation version 2 of the License.
00013
00014 This program is distributed in the hope that it will be useful,
00015 but WITHOUT ANY WARRANTY; without even the implied warranty of
00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00017 GNU General Public License for more details.
00018 ***********************************************************************/
00019
00020 #ifndef OB_BASE_H
00021 #define OB_BASE_H
00022
00023 #include <openbabel/babelconfig.h>
00024
00025 #include <vector>
00026 #include <map>
00027 #include <string>
00028 #include <iostream>
00029 #include <openbabel/tokenst.h>
00030
00031 namespace OpenBabel
00032 {
00033
00034 //Forward declaration of the base class for OBMol OBReaction, OBAtom, etc.
00035 //Declaration later in this file.
00036 class OBBase;
00037
00049 namespace OBGenericDataType
00050 {
00051 enum
00052 {
00054 UndefinedData = 0,
00055
00057 PairData = 1,
00058
00060 EnergyData = 2,
00061
00063 CommentData = 3,
00064
00066 ConformerData = 4,
00067
00069 ExternalBondData = 5,
00070
00072 RotamerList = 6,
00073
base.h 31
Open Babel: API Documentation
00075 VirtualBondData = 7,
00076
00078 RingData = 8,
00079
00081 TorsionData = 9,
00082
00084 AngleData = 10,
00085
00087 SerialNums = 11,
00088
00090 UnitCell = 12,
00091
00093 SpinData = 13,
00094
00096 ChargeData = 14,
00097
00099 SymmetryData = 15,
00100
00102 ChiralData = 16,
00103
00105 OccupationData = 17,
00106
00108 DensityData = 18,
00109
00111 ElectronicData = 19,
00112
00114 VibrationData = 20,
00115
00117 RotationData = 21,
00118
00120 NuclearData = 22,
00121
00123 SetData = 23,
00124
00126 GridData = 24,
00127
00129 VectorData = 25,
00130
00132 MatrixData = 26,
00133
00134 // space for up to 2^14 more entries...
00135
00137 CustomData0 = 16384,
00138 CustomData1 = 16385,
00139 CustomData2 = 16386,
00140 CustomData3 = 16387,
00141 CustomData4 = 16388,
00142 CustomData5 = 16389,
00143 CustomData6 = 16390,
00144 CustomData7 = 16391,
00145 CustomData8 = 16392,
00146 CustomData9 = 16393,
00147 CustomData10 = 16394,
00148 CustomData11 = 16395,
00149 CustomData12 = 16396,
00150 CustomData13 = 16397,
00151 CustomData14 = 16398,
00152 CustomData15 = 16399
00153 };
00154 } // end namespace
00155 enum DataOrigin {
base.h 32
Open Babel: API Documentation
00156 any,
00157 fileformatInput,
00158 userInput,
00159 perceived,
00160 external
00161 };
00162
00164 // Class introduction in generic.cpp
00165 // This base class declaration has no dependence on mol.h
00166 class OBAPI OBGenericData
00167 {
00168 protected:
00169 std::string _attr;
00170 unsigned int _type;
00171 DataOrigin _source;
00172 public:
00173 OBGenericData(const std::string attr = "undefined",
00174 const unsigned int type = OBGenericDataType::UndefinedData,
00175 const DataOrigin source = any);
00176 //Use default copy constructor and assignment operators
00177 //OBGenericData(const OBGenericData&);
00178
00179 /* Virtual constructors added. see
00180 http://www.parashift.com/c++-faq-lite/abcs.html#faq-22.5
00181 to allow copying given only a base class OBGenericData pointer.
00182 It may be necessary to cast the return pointer to the derived class
00183 type, since we are doing without Covariant Return Types
00184 http://www.parashift.com/c++-faq-lite/virtual-functions.html#faq-20.8
00185
00186 A derived class may return NULL if copying is inappropriate */
00187 virtual OBGenericData* Clone(OBBase* /*parent*/) const
00188 { return NULL; }
00189 virtual ~OBGenericData() {}
00190 //Use default copy constructor and assignment operators
00191 //OBGenericData& operator=(const OBGenericData &src);
00192
00194 void SetAttribute(const std::string &v)
00195 { _attr = v; }
00197 void SetOrigin(const DataOrigin s) { _source = s; }
00199 virtual const std::string &GetAttribute() const
00200 { return(_attr); }
00202 unsigned int GetDataType() const
00203 { return(_type); }
00206 virtual const std::string &GetValue() const
00207 { return _attr; }
00208 virtual DataOrigin GetOrigin() const
00209 { return _source; }
00210 };
00211
00213 typedef std::vector<OBGenericData*>::iterator OBDataIterator;
00214
00216 // introduction in base.cpp
00217 class OBAPI OBBase
00218 {
00219 public:
00220 virtual ~OBBase()
00221 {
00222 if (!_vdata.empty())
00223 {
00224 std::vector<OBGenericData*>::iterator m;
00225 for (m = _vdata.begin();m != _vdata.end();m++)
base.h 33
Open Babel: API Documentation
00226 delete *m;
00227 _vdata.clear();
00228 }
00229 }
00230
00232 virtual bool Clear();
00233
00238 virtual OBBase* DoTransformations(const std::map<std::string,std::string>* /*pOptio
00239 {
00240 return this;
00241 }
00242
00243 //Base type does nothing
00245 static const char* ClassDescription()
00246 {
00247 return "";
00248 }
00249
00251 template< class T >
00252 T* CastAndClear(bool clear=true)
00253 {
00254 T* pOb = dynamic_cast<T*>(this);
00255 if(pOb && clear)// Clear only if this is of target class
00256 Clear();
00257 return pOb;
00258 }
00259
00260
00262
00263
00264 bool HasData(const std::string &);
00266 bool HasData(const char *);
00268 bool HasData(const unsigned int type);
00270 void DeleteData(unsigned int type);
00272 void DeleteData(OBGenericData*);
00274 void DeleteData(std::vector<OBGenericData*>&);
00276 bool DeleteData(const std::string& s);
00278 void SetData(OBGenericData *d)
00279 {
00280 if(d) _vdata.push_back(d);
00281 }
00284 void CloneData(OBGenericData *d);
00286 unsigned int DataSize() const
00287 { return(_vdata.size()); }
00290 OBGenericData *GetData(const unsigned int type);
00292 OBGenericData *GetData(const std::string&);
00294 OBGenericData *GetData(const char *);
00298 std::vector<OBGenericData*> GetAllData(const unsigned int type);
00300 std::vector<OBGenericData*> &GetData() { return(_vdata); }
00302 std::vector<OBGenericData*> GetData(DataOrigin source);
00304 OBDataIterator BeginData()
00305 { return(_vdata.begin()); }
00307 OBDataIterator EndData()
00308 { return(_vdata.end()); }
00310 protected:
00311 std::vector<OBGenericData*> _vdata;
00312
00313 };
00314
00315 } //namespace OpenBabel
00316
base.h 34
Open Babel: API Documentation
00317 #endif // OB_BASE_H
00318
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
base.h 35
base.h File Reference
Base classes to build a graph. More...
#include <openbabel/babelconfig.h>
#include <vector>
#include <map>
#include <string>
#include <iostream>
#include <openbabel/tokenst.h>
This graph shows which files directly or indirectly include this file:
Namespaces
namespace OpenBabel
namespace OpenBabel::OBGenericDataType
Classes
class OBGenericData
Base class for generic data. More...
class OBBase
Base Class. More...
Typedefs
typedef std::vector
< OBGenericData * >::iterator OBDataIterator
Enumerations
enum {
UndefinedData = 0, PairData = 1, EnergyData = 2, CommentData = 3,
ConformerData = 4, ExternalBondData = 5, RotamerList = 6,
VirtualBondData = 7,
RingData = 8, TorsionData = 9, AngleData = 10, SerialNums = 11,
UnitCell = 12, SpinData = 13, ChargeData = 14, SymmetryData = 15,
ChiralData = 16, OccupationData = 17, DensityData = 18, ElectronicData =
19,
VibrationData = 20, RotationData = 21, NuclearData = 22, SetData = 23,
GridData = 24, VectorData = 25, MatrixData = 26, CustomData0 = 16384,
CustomData1 = 16385, CustomData2 = 16386, CustomData3 = 16387,
CustomData4 = 16388,
CustomData5 = 16389, CustomData6 = 16390, CustomData7 = 16391,
CustomData8 = 16392,
CustomData9 = 16393, CustomData10 = 16394, CustomData11 = 16395,
CustomData12 = 16396,
CustomData13 = 16397, CustomData14 = 16398, CustomData15 = 16399
}
enum DataOrigin {
any, fileformatInput, userInput, perceived,
external
}
Detailed Description
Base classes to build a graph.
Classes 37
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
Detailed Description 38
bitvec.cpp File Reference
Fast and efficient bitstring class. More...
#include <openbabel/babelconfig.h>
#include <openbabel/bitvec.h>
#include <openbabel/oberror.h>
#include <cstdlib>
Namespaces
namespace OpenBabel
Defines
#define LowBit(set, bit)
Functions
OBBitVec operator| (const OBBitVec &bv1, const OBBitVec &bv2)
OBBitVec operator & (const OBBitVec &bv1, const OBBitVec &bv2)
OBBitVec operator^ (const OBBitVec &bv1, const OBBitVec &bv2)
OBBitVec operator- (const OBBitVec &bv1, const OBBitVec &bv2)
bool operator== (const OBBitVec &bv1, const OBBitVec &bv2)
bool operator< (const OBBitVec &bv1, const OBBitVec &bv2)
std::istream & operator>> (std::istream &is, OBBitVec &bv)
std::ostream & operator<< (std::ostream &os, const OBBitVec &bv)
OBERROR double Tanimoto (const OBBitVec &bv1, const OBBitVec &bv2)
Variables
static int bitsoff [SETWORD]
const unsigned nibble_bit_count [0x10]
Detailed Description
Fast and efficient bitstring class.
Define Documentation
Referenced by OBBitVec::NextBit().
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
Define Documentation 40
bitvec.h
Go to the documentation of this file.
00001 /**********************************************************************
00002 bitvec.h - Vector of bits.
00003
00004 Copyright (C) 1998-2001 by OpenEye Scientific Software, Inc.
00005 Some portions Copyright (C) 2001-2006 by Geoffrey R. Hutchison
00006
00007 This file is part of the Open Babel project.
00008 For more information, see <http://openbabel.sourceforge.net/>
00009
00010 This program is free software; you can redistribute it and/or modify
00011 it under the terms of the GNU General Public License as published by
00012 the Free Software Foundation version 2 of the License.
00013
00014 This program is distributed in the hope that it will be useful,
00015 but WITHOUT ANY WARRANTY; without even the implied warranty of
00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00017 GNU General Public License for more details.
00018 ***********************************************************************/
00019
00020 #ifndef OB_BITVEC_H
00021 #define OB_BITVEC_H
00022
00023 #include <openbabel/babelconfig.h>
00024
00025 #include <vector>
00026 #include <string>
00027
00028 #ifndef USE_64BIT_INTEGER
00029 // For 32-bit architecture
00030 #define SETWORD 32
00031 // SETWORD = 2 ^ WORDROLL
00032 #define WORDROLL 5
00033 // WORDMASK = SETWORD - 1
00034 #define WORDMASK 31
00035 #else
00036 // For 64-bit architecture
00037 #define SETWORD 64
00038 // SETWORD = 2 ^ WORDROLL
00039 #define WORDROLL 6
00040 // WORDMASK = SETWORD - 1
00041 #define WORDMASK 63
00042 #endif // 64 bit
00043
00044 #define WORDSIZE_OF_BITSIZE( bit_size ) ( ( bit_size >> WORDROLL ) + (( bit_size & WORDMA
00045
00046 #ifndef STARTWORDS
00047 #define STARTWORDS 10
00048 #endif // STARTWORDS
00049
00050 namespace OpenBabel
00051 {
00053
00061 class OBERROR OBBitVec
00062 {
00063 public:
bitvec.h 41
Open Babel: API Documentation
00064 typedef std::vector<unsigned> word_vector;
00065
00066 private:
00068 size_t _size; //was unsigned
00070 word_vector _set;
00071
00072 public:
00074
00077 OBBitVec()
00078 :_set(STARTWORDS, 0)
00079 { _size = _set.size(); }
00081
00086 OBBitVec(unsigned size_in_bits)
00087 :_set(WORDSIZE_OF_BITSIZE(size_in_bits), 0)
00088 { _size = _set.size(); }
00090
00094 OBBitVec(const OBBitVec & bv)
00095 :_size(0)
00096 { (*this) = bv; }
00098 void SetBitOn(unsigned bit_offset);
00100 void SetBitOff(unsigned bit_offset);
00102 void SetRangeOn(unsigned lo_bit_offset, unsigned hi_bit_offset);
00104 void SetRangeOff(unsigned lo_bit_offset, unsigned hi_bit_offset);
00106 void Fold(unsigned new_bit_size);
00108
00112 int FirstBit(unsigned bit_offset = 0) const
00113 {
00114 return (BitIsSet(bit_offset) ? 0 : NextBit(bit_offset));
00115 }
00117 int NextBit(int last_bit_offset) const;
00119 int EndBit() const { return -1; }
00121 unsigned GetSize() const { return(_size); }
00123 unsigned CountBits() const;
00124
00126 bool Empty() const { return(IsEmpty()); }
00128 bool IsEmpty() const;
00130
00134 bool Resize(unsigned size_in_bits)
00135 {
00136 return ResizeWords( WORDSIZE_OF_BITSIZE(size_in_bits) );
00137 }
00139
00143 bool ResizeWords(unsigned size_in_words)
00144 {
00145 if (size_in_words <= _size)
00146 return false;
00147 _set.resize(size_in_words, 0); // increase the vector with zeroed bits
00148 _size = _set.size();
00149 return true;
00150 }
00152
00156 bool BitIsSet(unsigned bit_offset) const
00157 {
00158 bool rtn = false;
00159 unsigned word_offset = bit_offset >> WORDROLL;
00160 if (word_offset < GetSize())
00161 {
00162 bit_offset &= WORDMASK;
00163 rtn = (( _set[word_offset] >> bit_offset ) & 1);
00164 }
00165 return rtn;
bitvec.h 42
Open Babel: API Documentation
00166 }
00168 bool BitIsOn(int bit_offset) const
00169 { return BitIsSet((unsigned)bit_offset); }
00170
00172 void FromVecInt(const std::vector<int> & bit_offsets);
00174 void FromString(const std::string & line, int bits);
00176 void ToVecInt(std::vector<int> & bit_offsets) const;
00178 void Clear();
00180
00184 void Negate()
00185 {
00186 for (word_vector::iterator wx = _set.begin(), wy = _set.end(); wx != wy
00187 * wx = ~(* wx);
00188 }
00190
00194 void GetWords(word_vector & vec)
00195 {
00196 vec.insert(vec.end(), _set.begin(),_set.end());
00197 }
00198
00200 OBBitVec & operator= (const OBBitVec & bv);
00202 OBBitVec & operator&= (const OBBitVec & bv);
00204 OBBitVec & operator|= (const OBBitVec & bv);
00206
00208 OBBitVec & operator|= (int bit_offset)
00209 {
00210 SetBitOn(bit_offset);
00211 return(*this);
00212 }
00214 OBBitVec & operator^= (const OBBitVec & bv);
00216 OBBitVec & operator-= (const OBBitVec & bv);
00218 OBBitVec & operator+= (const OBBitVec & bv);
00220
00224 bool operator[] (int bit_offset) const
00225 { return BitIsSet(bit_offset); }
00226
00228 friend OBERROR OBBitVec operator| (const OBBitVec & bv1, const OBBitVec & bv2);
00230 friend OBERROR OBBitVec operator& (const OBBitVec & bv1,const OBBitVec & bv2);
00232 friend OBERROR OBBitVec operator^ (const OBBitVec & bv1,const OBBitVec & bv2);
00234 friend OBERROR OBBitVec operator- (const OBBitVec & bv1,const OBBitVec & bv2);
00236 friend OBERROR bool operator== (const OBBitVec & bv1,const OBBitVec & bv2);
00238 friend OBERROR bool operator< (const OBBitVec & bv1, const OBBitVec & bv2);
00239
00241 friend OBERROR std::istream& operator>> ( std::istream & is, OBBitVec & bv );
00243 friend OBERROR std::ostream& operator<< ( std::ostream & os, const OBBitVec & bv ) ;
00244 };
00245
00247 OBERROR double Tanimoto(const OBBitVec & bv1, const OBBitVec & bv2);
00248
00249 } // end namespace OpenBabel
00250
00251 #endif // OB_BITVEC_H
00252
bitvec.h 43
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
bitvec.h 44
bitvec.h File Reference
Fast and efficient bitstring class. More...
#include <openbabel/babelconfig.h>
#include <vector>
#include <string>
This graph shows which files directly or indirectly include this file:
Namespaces
namespace OpenBabel
Classes
class OBBitVec
A speed-optimized vector of bits. More...
Defines
#define SETWORD 32
#define WORDROLL 5
#define WORDMASK 31
#define WORDSIZE_OF_BITSIZE(bit_size) ( ( bit_size >> WORDROLL ) + (( bit_size &
WORDMASK ) ? 1 : 0) )
#define STARTWORDS 10
Functions
OBERROR double Tanimoto (const OBBitVec &bv1, const OBBitVec &bv2)
Detailed Description
Fast and efficient bitstring class.
Define Documentation
#define SETWORD 32
#define WORDROLL 5
#define WORDMASK 31
Referenced by OBBitVec::Resize().
#define STARTWORDS 10
This file is part of the documentation for Open Babel, version 2.2.0.
Defines 46
Open Babel: API Documentation
Documentation copyright © 1998-2007, the Open Babel Developers.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
Define Documentation 47
bond.cpp File Reference
Handle OBBond class. More...
#include <openbabel/babelconfig.h>
#include <openbabel/bond.h>
#include <openbabel/mol.h>
Namespaces
namespace OpenBabel
Detailed Description
Handle OBBond class.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
00001 /**********************************************************************
00002 bond.h - Handle OBBond class.
00003
00004 Copyright (C) 1998-2001 by OpenEye Scientific Software, Inc.
00005 Some portions Copyright (C) 2001-2006 by Geoffrey R. Hutchison
00006 Some portions Copyright (C) 2003 by Michael Banck
00007
00008 This file is part of the Open Babel project.
00009 For more information, see <http://openbabel.sourceforge.net/>
00010
00011 This program is free software; you can redistribute it and/or modify
00012 it under the terms of the GNU General Public License as published by
00013 the Free Software Foundation version 2 of the License.
00014
00015 This program is distributed in the hope that it will be useful,
00016 but WITHOUT ANY WARRANTY; without even the implied warranty of
00017 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00018 GNU General Public License for more details.
00019 ***********************************************************************/
00020
00021 #ifndef OB_BOND_H
00022 #define OB_BOND_H
00023
00024 #include <openbabel/babelconfig.h>
00025
00026 #ifndef EXTERN
00027 # define EXTERN extern
00028 #endif
00029
00030 #include <openbabel/base.h>
00031 #include <openbabel/atom.h>
00032
00033 namespace OpenBabel
00034 {
00035
00036 class OBAtom;
00037
00039 typedef OBBond OBEdgeBase;
00040
00041 //BOND Property Macros (flags)
00043 #define OB_AROMATIC_BOND (1<<1)
00045 #define OB_WEDGE_BOND (1<<2)
00047 #define OB_HASH_BOND (1<<3)
00049 #define OB_RING_BOND (1<<4)
00051 #define OB_TORUP_BOND (1<<5)
00053 #define OB_TORDOWN_BOND (1<<6)
00055 #define OB_KSINGLE_BOND (1<<7)
00057 #define OB_KDOUBLE_BOND (1<<8)
00059 #define OB_KTRIPLE_BOND (1<<9)
00061 #define OB_CLOSURE_BOND (1<<10)
00062 // 11-16 currently unused
00063
00064 // class introduction in bond.cpp
00065 class OBAPI OBBond: public OBBase
00066 {
bond.h 49
Open Babel: API Documentation
00067 protected:
00068 unsigned int _idx;
00069 OBMol *_parent;
00070 OBAtom *_bgn;
00071 OBAtom *_end;
00072
00073 char _order;
00074 unsigned short int _flags;
00075
00076 bool HasFlag(int flag) { return((_flags & flag) != 0); }
00077 void SetFlag(int flag) { _flags |= flag; }
00078 void UnsetFlag(int flag) { _flags &= (~(flag)); }
00079
00080 public:
00082
00083 bool Visit;
00084
00086 OBBond();
00088 virtual ~OBBond();
00089
00091
00092
00093
00095 void SetIdx(int idx) { _idx = idx; }
00097
00098 void SetBO(int order);
00100 void SetBondOrder(int order);
00102 void SetBegin(OBAtom *begin){ _bgn = begin; }
00104 void SetEnd(OBAtom *end) { _end = end; }
00106 void SetParent(OBMol *ptr) { _parent= ptr; }
00108 void SetLength(OBAtom *fixed,double length);
00111 void SetLength(double length);
00113 void Set(int index, OBAtom* begin,OBAtom* end,int order,int flags);
00115 void SetKSingle();
00117 void SetKDouble();
00119 void SetKTriple();
00121 void SetAromatic() { SetFlag(OB_AROMATIC_BOND); }
00123 void SetHash() { SetFlag(OB_HASH_BOND); }
00125 void SetWedge() { SetFlag(OB_WEDGE_BOND); }
00127 void SetUp() { SetFlag(OB_TORUP_BOND); UnsetFlag(OB_TORDOWN_BOND); }
00129 void SetDown() { SetFlag(OB_TORDOWN_BOND); UnsetFlag(OB_TORUP_BOND); }
00131 void SetInRing() { SetFlag(OB_RING_BOND); }
00133
00136 void SetClosure() { SetFlag(OB_CLOSURE_BOND); }
00138 void UnsetHash() { UnsetFlag(OB_HASH_BOND); }
00140 void UnsetWedge() { UnsetFlag(OB_WEDGE_BOND); }
00142 void UnsetUp() { UnsetFlag(OB_TORUP_BOND); }
00144 void UnsetDown() { UnsetFlag(OB_TORDOWN_BOND); }
00146 void UnsetAromatic() { UnsetFlag(OB_AROMATIC_BOND);}
00148 void UnsetKekule()
00149 {
00150 _flags &= (~(OB_KSINGLE_BOND|OB_KDOUBLE_BOND|OB_KTRIPLE_BOND));
00151 }
00153
00155
00156
00157 unsigned int GetIdx() const { return(_idx); }
00159
00160 unsigned int GetBO() const { return(_order); }
00162 unsigned int GetBondOrder() const { return(_order); }
00164 unsigned int GetFlags() const { return(_flags); }
bond.h 50
Open Babel: API Documentation
00166 unsigned int GetBeginAtomIdx() const
00167 { return (_bgn ? _bgn->GetIdx() : 0); }
00169 unsigned int GetEndAtomIdx() const
00170 { return (_end ? _end->GetIdx() : 0); }
00172 OBAtom *GetBeginAtom() { return(_bgn); }
00173 const OBAtom *GetBeginAtom() const
00174 { return(_bgn); }
00176 OBAtom *GetEndAtom() { return(_end); }
00177 const OBAtom *GetEndAtom() const
00178 { return(_end); }
00180
00182 OBAtom *GetNbrAtom(OBAtom *ptr)
00183 {
00184 return((ptr != _bgn)? _bgn : _end);
00185 }
00187 OBMol *GetParent() {return(_parent);}
00189
00190 double GetEquibLength() const;
00192 double GetLength() const;
00194
00196 unsigned int GetNbrAtomIdx(OBAtom *ptr)
00197 {
00198 if (ptr!=_bgn)
00199 return (_bgn ? _bgn->GetIdx() : 0);
00200 else
00201 return (_end ? _end->GetIdx() : 0);
00202 }
00204
00206
00207
00208
00209
00210 bool IsAromatic() const;
00212 bool IsInRing() const;
00214
00219 bool IsRotor();
00221 bool IsAmide();
00223 bool IsPrimaryAmide();
00225 bool IsSecondaryAmide();
00227 bool IsEster();
00229 bool IsCarbonyl();
00231 bool IsSingle();
00233 bool IsDouble();
00235 bool IsTriple();
00237 bool IsKSingle();
00239 bool IsKDouble();
00241 bool IsKTriple();
00243 bool IsClosure();
00246 bool IsUp() { return(HasFlag(OB_TORUP_BOND)); }
00249 bool IsDown() { return(HasFlag(OB_TORDOWN_BOND)); }
00252 bool IsWedge() { return(HasFlag(OB_WEDGE_BOND)); }
00255 bool IsHash() { return(HasFlag(OB_HASH_BOND)); }
00257 bool IsDoubleBondGeometry();
00259
00260 }; // class OBBond
00261
00263 typedef std::vector<OBBond*>::iterator OBBondIterator;
00264
00265 }// namespace OpenBabel
00266
00267 #endif // OB_BOND_H
bond.h 51
Open Babel: API Documentation
00268
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
bond.h 52
bond.h File Reference
Handle bonds. More...
#include <openbabel/babelconfig.h>
#include <openbabel/base.h>
#include <openbabel/atom.h>
This graph shows which files directly or indirectly include this file:
Namespaces
namespace OpenBabel
Classes
class OBBond
Bond class. More...
Defines
#define OB_AROMATIC_BOND (1<<1)
#define OB_WEDGE_BOND (1<<2)
#define OB_HASH_BOND (1<<3)
#define OB_RING_BOND (1<<4)
#define OB_TORUP_BOND (1<<5)
#define OB_TORDOWN_BOND (1<<6)
#define OB_KSINGLE_BOND (1<<7)
#define OB_KDOUBLE_BOND (1<<8)
#define OB_KTRIPLE_BOND (1<<9)
#define OB_CLOSURE_BOND (1<<10)
Typedefs
typedef OBBond OBEdgeBase
Detailed Description
Handle bonds.
Define Documentation
Defines 54
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
Define Documentation 55
bondtyper.cpp File Reference
Bond typer to perceive connectivity and bond orders/types. More...
#include <openbabel/babelconfig.h>
#include <openbabel/mol.h>
#include <openbabel/bondtyper.h>
#include "bondtyp.h"
Namespaces
namespace OpenBabel
Variables
OBBondTyper bondtyper
Detailed Description
Bond typer to perceive connectivity and bond orders/types.
Todo:
Needs to add aromatic ring bond order assignment. Eventually need to migrate
OBMol::PerceiveBondOrders(), OBMol::ConnectTheDots(), and possibly some of the Kekulize
routines
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
Detailed Description 57
bondtyper.h
Go to the documentation of this file.
00001 /**********************************************************************
00002 bondtyper.h - Bond typer to perceive connectivity and bond orders/types.
00003
00004 Copyright (C) 2003-2005 by Geoffrey R. Hutchison
00005
00006 This file is part of the Open Babel project.
00007 For more information, see <http://openbabel.sourceforge.net/>
00008
00009 This program is free software; you can redistribute it and/or modify
00010 it under the terms of the GNU General Public License as published by
00011 the Free Software Foundation version 2 of the License.
00012
00013 This program is distributed in the hope that it will be useful,
00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00016 GNU General Public License for more details.
00017 ***********************************************************************/
00018
00019 #ifndef OB_BONDTYPER_H
00020 #define OB_BONDTYPER_H
00021
00022 #include <openbabel/parsmart.h>
00023 #include <openbabel/data.h>
00024
00025 namespace OpenBabel
00026 {
00027
00028 // class introduction in bondtyper.cpp
00029 // Used for "perceiving" bonds, e.g. in XYZ or QM files with no bond info.
00030 class OBAPI OBBondTyper : public OBGlobalDataBase
00031 {
00033 std::vector<std::pair<OBSmartsPattern*, std::vector<int> > > _fgbonds;
00034 public:
00035 OBBondTyper();
00036 ~OBBondTyper();
00037
00039
00040 void ParseLine(const char*);
00042 unsigned int GetSize() { return _fgbonds.size();}
00044
00046
00047
00048 void AssignFunctionalGroupBonds(OBMol &mol);
00050 };
00051
00052 }
00053
00054 #endif // OB_BONDTYPER_H
00055
bondtyper.h 58
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
bondtyper.h 59
bondtyper.h File Reference
Bond typer to perceive connectivity and bond orders/types. More...
#include <openbabel/parsmart.h>
#include <openbabel/data.h>
This graph shows which files directly or indirectly include this file:
Namespaces
namespace OpenBabel
Classes
class OBBondTyper
Assigns bond types for file formats without bond information. More...
Detailed Description
Bond typer to perceive connectivity and bond orders/types.
This file is part of the documentation for Open Babel, version 2.2.0.
Detailed Description 61
builder.cpp File Reference
Handle OBBuilder class. More...
#include <openbabel/babelconfig.h>
#include <openbabel/builder.h>
#include <openbabel/mol.h>
#include <openbabel/atom.h>
#include <openbabel/bond.h>
#include <openbabel/obiter.h>
#include <openbabel/math/matrix3x3.h>
#include <openbabel/rotamer.h>
#include <openbabel/rotor.h>
#include <openbabel/obconversion.h>
#include <openbabel/locale.h>
Namespaces
namespace OpenBabel
Detailed Description
Handle OBBuilder class.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
00001 /**********************************************************************
00002 builder.h - OBBuilder class.
00003
00004 Copyright (C) 2007-2008 by Tim Vandermeersch
00005 <tim.vandermeersch@gmail.com>
00006
00007 This file is part of the Open Babel project.
00008 For more information, see <http://openbabel.sourceforge.net/>
00009
00010 This program is free software; you can redistribute it and/or modify
00011 it under the terms of the GNU General Public License as published by
00012 the Free Software Foundation version 2 of the License.
00013
00014 This program is distributed in the hope that it will be useful,
00015 but WITHOUT ANY WARRANTY; without even the implied warranty of
00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00017 GNU General Public License for more details.
00018 ***********************************************************************/
00019
00020 #ifndef OB_BUILDER_H
00021 #define OB_BUILDER_H
00022
00023 #include <vector>
00024 #include <string>
00025 #include <map>
00026
00027 #include <list>
00028 #include <set>
00029 #include <openbabel/base.h>
00030 #include <openbabel/mol.h>
00031
00032 namespace OpenBabel
00033 {
00036 class OBAPI OBBuilder {
00037 public:
00038
00040 void LoadFragments();
00041
00046 static vector3 GetNewBondVector(OBAtom *atom);
00047 static vector3 GetNewBondVector(OBAtom *atom, double length);
00053 bool Build(OBMol &mol);
00065 static bool Connect(OBMol &mol, int a, int b, vector3 &newpos, int bondOrder = 1);
00076 static bool Connect(OBMol &mol, int a, int b, int bondOrder = 1);
00104 static bool Swap(OBMol &mol, int a, int b, int c, int d);
00111 //bool Insert(OBMol &mol, int a, int b, std::string smiles, int c, int d);
00114 static void CorrectStereoBonds(OBMol &mol);
00117 static void CorrectStereoAtoms(OBMol &mol);
00122 static OBBitVec GetFragment(OBAtom *atom);
00123 static void AddNbrs(OBBitVec &fragment, OBAtom *atom);
00124
00125 private:
00127 static std::vector<std::pair<OBSmartsPattern*, std::vector<vector3> > > _fragments;
00128 }; // class OBBuilder
00129
00130 }// namespace OpenBabel
builder.h 63
Open Babel: API Documentation
00131
00132 #endif // OB_BUILDER_H
00133
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
builder.h 64
builder.h File Reference
Class to build 3D structures. More...
#include <vector>
#include <string>
#include <map>
#include <list>
#include <set>
#include <openbabel/base.h>
#include <openbabel/mol.h>
This graph shows which files directly or indirectly include this file:
Namespaces
namespace OpenBabel
Classes
class OBBuilder
Class to build 3D structures. More...
Detailed Description
Class to build 3D structures.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
Detailed Description 66
canon.cpp File Reference
Canonical numbering of SMILES, molecules and fragments. More...
#include <openbabel/babelconfig.h>
#include <openbabel/mol.h>
#include <openbabel/canon.h>
Namespaces
namespace OpenBabel
Defines
#define DEBUG 0
#define CT_MATCH(b1, b2) b1->IsUp() ? b2->SetDown() : (b1->IsDown() ? b2->SetUp() :
(b2->IsUp() ? b1->SetDown() : (b2->IsDown() ? b1->SetUp() : b1->SetDown())))
#define NO_SYMCLASS 0x7FFFFFFF
Functions
static bool CompareUnsigned (const unsigned int &a, const unsigned int &b)
static bool ComparePairFirst (const pair< OBAtom *, unsigned int > &a, const pair< OBAtom *,
unsigned int > &b)
static bool ComparePairSecond (const pair< OBAtom *, unsigned int > &a, const pair< OBAtom *,
unsigned int > &b)
static bool CompareBondPairSecond (const pair< OBBond *, unsigned int > &a, const pair<
OBBond *, unsigned int > &b)
static unsigned int GetValence (OBAtom *atom, OBBitVec &frag_atoms)
static unsigned int GetHvyValence (OBAtom *atom, OBBitVec &frag_atoms)
static unsigned int GetHvyBondSum (OBAtom *atom, OBBitVec &frag_atoms)
static bool GetGTDVector (OBMol *pmol, OBBitVec &frag_atoms, vector< int > >d)
static void FindRingAtoms (OBMol *pmol, OBBitVec &frag_atoms, OBBitVec &ring_atoms)
static void GetGIVector (OBMol *pmol, OBBitVec &frag_atoms, vector< unsigned int > &vid)
static void CreateNewClassVector (vector< pair< OBAtom *, unsigned int > > &vp1, vector< pair<
OBAtom *, unsigned int > > &vp2, OBBitVec &frag_atoms, int natoms)
static void CountAndRenumberClasses (vector< pair< OBAtom *, unsigned int > > &vp, unsigned
int &count)
static int ExtendInvarients (vector< pair< OBAtom *, unsigned int > > &symmetry_classes,
OBBitVec &frag_atoms, int nfragatoms, int natoms)
static int CalculateSymmetry (OBMol *pmol, OBBitVec &frag_atoms, vector< pair< OBAtom *,
unsigned int > > &symmetry_classes)
static void BreakChiralTies (OBMol *pmol, OBBitVec &frag_atoms, int nfragatoms, vector< pair<
OBAtom *, unsigned int > > &atom_sym_classes)
static void FindConjugatedEZBonds (OBAtom *atom, OBBitVec &flip_bonds, OBBitVec
&visited_atoms)
static void FixCisTransBonds (OBMol *pmol, OBBitVec &frag_atoms, vector< unsigned int >
&symmetry_classes, vector< unsigned int > &canonical_labels)
void CanonicalLabels (OBMol *pmol, OBBitVec &frag_atoms, std::vector< unsigned int >
&symmetry_classes, std::vector< unsigned int > &canonical_labels)
Detailed Description
Canonical numbering of SMILES, molecules and fragments.
Define Documentation
#define DEBUG 0
#define
( b1,
CT_MATCH
b1->IsUp() ? b2->SetDown() : (b1->IsDown() ? b2->SetUp() : (b2->IsUp() ?
b2 )
b1->SetDown() : (b2->IsDown() ? b1->SetUp() : b1->SetDown())))
Referenced by OpenBabel::FixCisTransBonds().
Referenced by OpenBabel::CanonicalLabels().
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
Functions 68
canon.h
Go to the documentation of this file.
00001 /* -*-C++-*-
00002
00003 **********************************************************************
00004 Copyright (C) 2005-2006, eMolecules, Inc. (www.emolecules.com)
00005
00006 This program is free software; you can redistribute it and/or modify
00007 it under the terms of the GNU General Public License as published by
00008 the Free Software Foundation version 2 of the License.
00009
00010 This program is distributed in the hope that it will be useful,
00011 but WITHOUT ANY WARRANTY; without even the implied warranty of
00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00013 GNU General Public License for more details.
00014 ***********************************************************************
00015
00016 +======================================================================
00017 | FILE: canon.h
00018 | AUTHOR: Craig A. James
00019 | DESCRIPTION:
00020 | Declarations for canon.cpp
00021 +======================================================================
00022 */
00023
00024 // Return vector is indexed from zero, corresponds to "atom->GetIdx()-1"
00025 namespace OpenBabel {
00026
00027 void OBAPI CanonicalLabels(OBMol *pmol,
00028 OBBitVec &frag_atoms,
00029 std::vector<unsigned int> &symmetry_classes,
00030 std::vector<unsigned int> &canonical_labels);
00031
00032 } // namespace OpenBabel
00033
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
canon.h 69
Open Babel: API Documentation
• Related Pages
• Namespaces
• Classes
• Files
canon.h 70
canon.h File Reference
Canonical numbering of SMILES, molecules and fragments. More...
This graph shows which files directly or indirectly include this file:
Namespaces
namespace OpenBabel
Functions
void CanonicalLabels (OBMol *pmol, OBBitVec &frag_atoms, std::vector< unsigned int >
&symmetry_classes, std::vector< unsigned int > &canonical_labels)
Detailed Description
Canonical numbering of SMILES, molecules and fragments.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
Detailed Description 72
chains.cpp File Reference
Parse for macromolecule chains and residues. More...
#include <openbabel/babelconfig.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <ctype.h>
#include <map>
#include <openbabel/mol.h>
#include <openbabel/chains.h>
Namespaces
namespace OpenBabel
Defines
#define RESIDMIN 3
#define RESIDMAX 32
#define ATOMMINAMINO 4
#define ATOMMINNUCLEIC 50
#define MAXPEPTIDE 11
#define MAXNUCLEIC 15
#define AMINOMAX 21
#define NUCLEOMAX 6
#define STACKSIZE 20
#define AI_N 0
#define AI_CA 1
#define AI_C 2
#define AI_O 3
#define AI_OXT 37
#define AI_P 38
#define AI_O1P 39
#define AI_O2P 40
#define AI_O5 41
#define AI_C5 42
#define AI_C4 43
#define AI_O4 44
#define AI_C3 45
#define AI_O3 46
#define AI_C2 47
#define AI_O2 48
#define AI_C1 49
#define BitN 0x0001
#define BitNTer 0x0002
#define BitNPro 0x0004
Typedefs
typedef union OpenBabel::_ByteCode ByteCode
Defines 74
Open Babel: API Documentation
Functions
static ByteCode * AllocateByteCode (int type)
static void DeleteByteCode (ByteCode *node)
static void FatalMemoryError (void)
void GenerateByteCodes (ByteCode **node, int resid, int curr, int prev, int
bond)
Variables
static char ChainsResName [RESIDMAX][4]
static Template Peptide [MAXPEPTIDE]
static Template Nucleotide [MAXNUCLEIC]
static char ChainsAtomName [ATOMMAX][4]
static ResidType AminoAcids [AMINOMAX]
static ResidType Nucleotides [NUCLEOMAX]
static MonoAtomType MonoAtom [MaxMonoAtom]
static MonoBondType MonoBond [MaxMonoBond]
static int MonoAtomCount
static int MonoBondCount
static StackType Stack [STACKSIZE]
static int StackPtr
static int AtomIndex
static int BondIndex
static bool StrictFlag = false
Detailed Description
Parse for macromolecule chains and residues.
Define Documentation
#define RESIDMIN 3
The first available index for actual residues 0, 1, 2 reserved for UNK, HOH, LIG
Referenced by OBChainsParser::OBChainsParser().
#define RESIDMAX 32
The maximum number of residue IDs for this code.
#define ATOMMINAMINO 4
Referenced by OpenBabel::GenerateByteCodes().
Functions 75
Open Babel: API Documentation
#define ATOMMINNUCLEIC 50
#define MAXPEPTIDE 11
#define MAXNUCLEIC 15
#define AMINOMAX 21
The number of amino acids recognized by this code Currently: ILE, VAL, ALA, ASN, ASP, ARG, CYS,
GLN, GLU GLY, HIS, HYP, LEU, LYS, MET, PHE, PRO, SER, THR, TRP, TYR
Referenced by OBChainsParser::OBChainsParser().
#define NUCLEOMAX 6
The number of nucleic acids recognized by this code Currently A, C, T, G, U, I
Referenced by OBChainsParser::OBChainsParser().
#define STACKSIZE 20
#define AI_N 0
#define AI_CA 1
#define AI_C 2
#define AI_O 3
#define AI_OXT 37
#define AI_P 38
#define AI_O1P 39
#define AI_O2P 40
Define Documentation 76
Open Babel: API Documentation
#define AI_O5 41
#define AI_C5 42
#define AI_C4 43
#define AI_O4 44
#define AI_C3 45
#define AI_O3 46
#define AI_C2 47
#define AI_O2 48
#define AI_C1 49
Define Documentation 77
Open Babel: API Documentation
Define Documentation 78
Open Babel: API Documentation
Define Documentation 79
Open Babel: API Documentation
#define ATOMMAX 68
The number of PDB atom type names recognized by this code.
Variable Documentation
An index of the residue names perceived during a run 0, 1, and 2 reserved for UNK, HOH, LIG
Variable Documentation 80
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
Variable Documentation 81
chains.h
Go to the documentation of this file.
00001 /**********************************************************************
00002 chains.h - Parse for macromolecule chains and residues
00003
00004 Copyright (C) 1998-2001 by OpenEye Scientific Software, Inc.
00005 Some portions Copyright (C) 2001-2006 by Geoffrey R. Hutchison
00006
00007 This file is part of the Open Babel project.
00008 For more information, see <http://openbabel.sourceforge.net/>
00009
00010 This program is free software; you can redistribute it and/or modify
00011 it under the terms of the GNU General Public License as published by
00012 the Free Software Foundation version 2 of the License.
00013
00014 This program is distributed in the hope that it will be useful,
00015 but WITHOUT ANY WARRANTY; without even the implied warranty of
00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00017 GNU General Public License for more details.
00018 ***********************************************************************/
00019
00020 #ifndef OB_CHAINS_H
00021 #define OB_CHAINS_H
00022
00023 #define MaxMonoAtom 20
00024 #define MaxMonoBond 20
00025
00026 namespace OpenBabel
00027 {
00028
00029 class OBAtom;
00030 class OBMol;
00031
00032 // Structure template for atomic patterns in residues for OBChainsParser
00033 // implementation in chains.cpp
00034 typedef struct Template Template;
00035
00038 //
00043 class OBAPI OBChainsParser
00044 {
00045 public:
00046
00047 OBChainsParser(void);
00048 ~OBChainsParser(void);
00049
00054 bool PerceiveChains(OBMol &mol, bool nukeSingleResidue = false);
00055
00056 private: // internal methods
00057
00059 bool DetermineHetAtoms(OBMol &);
00061 bool DetermineConnectedChains(OBMol &);
00063 bool DeterminePeptideBackbone(OBMol &);
00065 bool DeterminePeptideSidechains(OBMol &);
00067 bool DetermineNucleicBackbone(OBMol &);
00069 bool DetermineNucleicSidechains(OBMol &);
00071 bool DetermineHydrogens(OBMol &);
00072
chains.h 82
Open Babel: API Documentation
00074 void SetupMol(OBMol &);
00075 void SetResidueInformation(OBMol &, bool nukeSingleResidue);
00076 void ClearResidueInformation(OBMol &);
00077 void CleanupMol(void);
00078
00079 void AssignResidue(OBMol &, int, int, int);
00080 int IdentifyResidue(void *, OBMol &, int, int); // ByteCode *
00081
00082 void DefineMonomer(void **, int, const char *); // ByteCode **
00083 int IdentifyElement(char *);
00084
00085 bool MatchConstraint(OBAtom *, int);
00086 bool Match2Constraints(Template *, OBAtom *, OBAtom *);
00087 bool Match3Constraints(Template *, OBAtom *, OBAtom *, OBAtom *);
00088 bool Match4Constraints(Template *, OBAtom *, OBAtom *, OBAtom *, OBAtom *);
00089
00090 void ConstrainBackbone(OBMol &, Template *, int);
00091
00092 int RecurseChain(OBMol &, int, int);
00093 void TraceNucleicChain(OBMol &, int, int);
00094 void TracePeptideChain(OBMol &, int, int);
00095
00096 const char *ParseSmiles(const char *, int);
00097
00098 // debugging
00099 void DumpState();
00100
00101 private: // members
00102
00103 void *PDecisionTree; // ByteCode *
00104 void *NDecisionTree; // ByteCode *
00105
00106 int ResMonoAtom[MaxMonoAtom];
00107 int ResMonoBond[MaxMonoBond];
00108
00109 std::vector<unsigned short> bitmasks;
00110 std::vector<bool> visits;
00111 std::vector<unsigned char> resids;
00112 std::vector<unsigned char> flags;
00113 std::vector<bool> hetflags;
00114 std::vector<int> atomids;
00115 std::vector<short> resnos;
00116 std::vector<short> sernos;
00117 std::vector<char> hcounts;
00118 std::vector<char> chains;
00119 };
00120
00121 }
00122 #endif // OB_CHAINS_H
00123
chains.h 83
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
chains.h 84
chains.h File Reference
Parse for macromolecule chains and residues. More...
This graph shows which files directly or indirectly include this file:
Namespaces
namespace OpenBabel
Classes
class OBChainsParser
Perceives peptide or nucleotide chains and residues in an OBMol. More...
Defines
#define MaxMonoAtom 20
#define MaxMonoBond 20
Typedefs
typedef struct Template Template
Detailed Description
Parse for macromolecule chains and residues.
Define Documentation
#define MaxMonoAtom 20
#define MaxMonoBond 20
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
Define Documentation 86
What's New in Version 2.1
Throughout the API documentation, new classes and methods are indicated with a disclaimer "Since: version
2.1." Documentation, in general should be more thorough and complete.
One major change is that the library uses the same header #include paths as external code. This
documentation attempts to uniformly use the correct style, e.g.: #include <openbabel/mol.h>
Another major change was to increase the indexing of atoms and bonds. Previously only 2^16 atoms or bonds
were possible.
The OBNodeBase, OBEdgeBase, and OBGraphBase classes were deprecated. Typedef declarations provide
backwards compatibility by mapping to OBAtom, OBBond, and OBMol, respectively.
• obiter.h - Additional iterators, including breadth-first and depth-first iterators for atoms in OBMol,
convenience iterators for rings, angles, torsions, and 1-4 non-bonded atom pair interactions.
• OBGenericData - Generic data is now inherited through OBBase for most types, including OBAtom,
OBBond, OBMol, OBResidue, OBReaction, and OBGrid.
• OBForceField - Generic interface to molecular mechanics force fields, including Ghemical
(Tripos-like) methods, and ultimately others such as MM2, MMFF94, etc.
• pluginiter.h - Generic interface to "plugin" classes, including force fields, and fingerprints.
• vector3 - General cleanup.
• matrix3x3 - General cleanup.
• OBMol - Copy and assignment now copy associated OBGenericData objects.
• OBResidueData - Now available for public use, rather than left as private to PDB format.
• OBSetData - Hierarchical sets of generic data.
• LineEndingExtractor - New class to correct DOS and Classic Mac line endings to UNIX-style
newline characters.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
In addition, a wide variety of plugins are available, including MMFF94 and UFF force fields, SMARTS-based
descriptors for filtering data sets, compound descriptors such as the Lipinsky Rule of Five, and chemical
transformations.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
#include <openbabel/babelconfig.h>
#include <list>
#include <openbabel/mol.h>
#include <openbabel/chiral.h>
#include <openbabel/math/matrix3x3.h>
Namespaces
namespace OpenBabel
Functions
void GetChirality (OBMol &mol, std::vector< int > &chirality)
int GetParity4Ref (std::vector< unsigned int > pref)
bool CorrectChirality (OBMol &mol, OBAtom *atm, atomreftype i=input, atomreftype o=output)
double CalcSignedVolume (OBMol &mol, OBAtom *, bool ReZeroZ=true)
double signed_volume (const vector3 &a, const vector3 &b, const vector3 &c, const vector3 &d)
void GraphPotentials (OBMol &mol, std::vector< double > &pot)
void construct_g_matrix (OBMol &mol, std::vector< std::vector< double > > &m)
void construct_c_matrix (OBMol &mol, std::vector< std::vector< double > > &m)
Detailed Description
Detect chiral atoms and molecules.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
Detailed Description 91
chiral.h
Go to the documentation of this file.
00001 /**********************************************************************
00002 chiral.h - Detect chiral atoms and molecules.
00003
00004 Copyright (C) 1998-2001 by OpenEye Scientific Software, Inc.
00005 Some portions Copyright (C) 2001-2005 by Geoffrey R. Hutchison
00006
00007 This file is part of the Open Babel project.
00008 For more information, see <http://openbabel.sourceforge.net/>
00009
00010 This program is free software; you can redistribute it and/or modify
00011 it under the terms of the GNU General Public License as published by
00012 the Free Software Foundation version 2 of the License.
00013
00014 This program is distributed in the hope that it will be useful,
00015 but WITHOUT ANY WARRANTY; without even the implied warranty of
00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00017 GNU General Public License for more details.
00018 ***********************************************************************/
00019
00020 #ifndef OB_CHIRAL_H
00021 #define OB_CHIRAL_H
00022
00023 #include <vector>
00024 #include <openbabel/matrix.h>
00025
00026 namespace OpenBabel
00027 {
00028 OBAPI void GraphPotentials(OBMol &mol, std::vector<double> &pot);
00029 OBAPI void construct_g_matrix(OBMol &mol, std::vector<std::vector<double> > &m);
00030 OBAPI void construct_c_matrix(OBMol &mol, std::vector<std::vector<double > > &m);
00031
00033 OBAPI double CalcSignedVolume(OBMol &mol,OBAtom*,bool ReZeroZ=true);
00034
00035 OBAPI double signed_volume(const vector3 &a, const vector3 &b, const vector3 &c, const ve
00036 OBAPI void GetChirality(OBMol &mol, std::vector<int> &chirality);
00037
00039 OBAPI int GetParity4Ref(std::vector<unsigned int> pref);
00040 OBAPI bool CorrectChirality(OBMol &mol, OBAtom *atm, atomreftype i=input, atomreftype o=o
00041 }
00042
00043 #endif // OB_CHIRAL_H
00044
This file is part of the documentation for Open Babel, version 2.2.0.
chiral.h 92
Open Babel: API Documentation
Documentation copyright © 1998-2007, the Open Babel Developers.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
chiral.h 93
chiral.h File Reference
Detect chiral atoms and molecules. More...
#include <vector>
#include <openbabel/matrix.h>
This graph shows which files directly or indirectly include this file:
Namespaces
namespace OpenBabel
Functions
void GraphPotentials (OBMol &mol, std::vector< double > &pot)
void construct_g_matrix (OBMol &mol, std::vector< std::vector< double > > &m)
void construct_c_matrix (OBMol &mol, std::vector< std::vector< double > > &m)
double CalcSignedVolume (OBMol &mol, OBAtom *, bool ReZeroZ=true)
double signed_volume (const vector3 &a, const vector3 &b, const vector3 &c, const vector3 &d)
void GetChirality (OBMol &mol, std::vector< int > &chirality)
int GetParity4Ref (std::vector< unsigned int > pref)
bool CorrectChirality (OBMol &mol, OBAtom *atm, atomreftype i=input, atomreftype o=output)
Detailed Description
Detect chiral atoms and molecules.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
Detailed Description 95
DLHandler Member List
This is the complete list of members for DLHandler, including all inherited members.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
#include <openbabel/dlhandler.h>
Detailed Description
Interface for dynamic libraries.
This class defines an interface for finding and opening dynamic loadable libraries on different platforms (e.g.,
modular plugins) via different source code files. It has only what is needed for OpenBabel and is not intended
to be general purpose. Internally, it is used for dynamic loading and unloading OBFormat file translation
modules.
Referenced by OBConversion::LoadFormatFiles().
For example, if path = e:\path\to\ and pattern = *.obf it will return vector entries lik e:\path\to\cmlformat.obf
Returns:
the number of valid files.
Returns:
the number of matching files. If no wildcard in name adds name to vector and returns -1.
Referenced by OBConversion::LoadFormatFiles().
Returns:
The file extension pattern for Open Babel plugin modules (e.g. *.obf on Windows)
Returns:
The system directory separator (i.e. "\" on Windows, "/" on UNIX)
Referenced by findFiles().
The documentation for this class was generated from the following files:
• dlhandler.h
• dlhandler_unix.cpp
• dlhandler_win32.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::AliasData
#include <openbabel/alias.h>
[legend]
Protected Attributes
std::string _alias
std::vector< unsigned int > _expandedatoms
std::string _attr
unsigned int _type
DataOrigin _source
Detailed Description
Indicate atoms as aliases for larger functional groups.
Since:
version 2.2
An object of this class can be attached to an OBAtom if it is considered to be a placeholder for an alias, such
as Ph, Ser, etc.
If the alias has not been interpreted chemically, the element type of the placeholder atom should be set to Xx
so that the molecule is not interpreted incorrectly by formats which do not consider this class.
If the alias has been interpreted chemically, the alias may remain as extra information or as a hint for an
alternative representation, for example to a chemical drawing program. The _expandedatoms vector would
then contains the indices of the atoms to which the alias is an alternative.
AliasData ( ) [inline]
const
std::string GetAlias ( )
[inline]
Return value of alias.
[inline,
void SetAttribute ( const std::string & v )
inherited]
Set the attribute (key), which can be used to retrieve this data.
[inline,
void SetOrigin ( const DataOrigin s )
inherited]
Set the origin of this data, which can be used to filter the data.
Returns:
The attribute (key), which can be used to retrieve this data
Referenced by OBMoleculeFormat::MakeCombinedMolecule().
Returns:
the data type for this object as defined in OBGenericDataType
Referenced by AliasData::Expand().
Referenced by AliasData::Expand().
The documentation for this class was generated from the following files:
• alias.h
• alias.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::FastSearch
#include <openbabel/fingerprint.h>
Detailed Description
Class to search fingerprint index files.
The FastSearch class searches an index to a datafile containing a list of molecules (or other objects) prepared
by FastSearchIndexer.
OpenBabel can also search files for molecules containing a substructure specified by a SMARTS string, using
OBSmartsPattern or from the command line:
But when the data file contains more than about 10,000 molecules this becomes rather too slow to be used
interactively. To do it more quickly, an index of the molecules containing their fingerprints (see
OBFingerprint) is prepared using FastSearchIndexer. The indexing process may take a long time but only has
to be done once. The index can be searched very quickly with FastSearch. Because of the nature of
fingerprints a match to a bit does not guarantee the presence of a particular substructure or other molecular
property, so that a definitive answer may require a subsequent search of the (much reduced) list of candidates
by another method (like OBSmartsPattern).
Note that the index files are not portable. They need to be prepared on the computer that will access them.
• For each molecule, call Add() with its pointer and its position in the datafile.
Currently the std::streampos value is implicitly cast to unsigned int so that for 32bit machines the
datafile has to be no longer than about 2Gbyte.
• The index file is written when the FastSearchIndexer object is deleted or goes out of scope.
ifstream datastream(datafilename);
if(!datastream)
return false;
To do a search for molecules which have all the substructure bits the OBMol object, patternMol
The FastSearchFormat class facilitates the use of these routine from the command line or other front end
program. For instance:
Prepare an index:
or
The datafile can also be used as the input file, provided the input format is specified as fs
A "slow" search not using fingerprints would be done on the same data by omitting -ifs. A "slow" search can
use SMARTS strings, but the fast search is restricted to the subset which is valid SMILES.
With the -S option, the target can be specified as a molecule in a file of any format
These searches have two stages: a fingerprint search which produces a number of candidate molecules and a
definitive search which selects from these using SMARTS pattern matching. The maximum number of
candidates is 4000 by default but you can change this with an option e.g. -al 8000 (Note that you need the
space between l and the number.) If the fingerprint search reaches the maximum number it will not look
further and will tell you at what stage it stopped.
for instance
• -at0.7 will recover all molecules with Tanimoto greater than 0.7
• -at15 (no decimal point) will recover the 15 molecules with largest coefficients.
• -aa will add the Tanimoto coefficient to the titles of the output molecules.
All stages, the indexing, the interpretation of the SMILES string in the -s option, the file in the -S option and
the final SMARTS filter convert to OBMol and apply ConvertDativeBonds(). This ensures thatforms such
as[N+]([O-])=O and N(=O)=O are recognized as chemically identical.
Referenced by FastSearch::ReadIndexFile().
Finds chemical objects in datafilename (which must previously have been indexed) that have all the same bits
set in their fingerprints as in the fingerprint of a pattern object. (Usually a substructure search in molecules.)
The type of fingerprint and its degree of folding does not have to be specified here because the values in the
index file are used. The positions of the candidate matching molecules in the original datafile are returned.
)
Similar to Find() but all bits of matching fingerprints have to be the same.
Since:
version 2.1
Returns:
A multimap containing objects whose Tanimoto coefficients with the target is greater than the value
specified.
Returns:
A multimap containing the nCandidates objects with largest Tanimoto coefficients with the target.
Returns:
a pointer to the fingerprint type used to constuct the index
Returns:
a pointer to the index header containing size info etc.
The documentation for this class was generated from the following files:
• fingerprint.h
• fingerprint.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::FastSearchIndexer
#include <openbabel/fingerprint.h>
Detailed Description
Class to prepare fingerprint index files See FastSearch class for details.
~FastSearchIndexer ( )
Adds a fingerprint
The documentation for this class was generated from the following files:
• fingerprint.h
• fingerprint.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::FilteringInputStreambuf
#include <openbabel/lineend.h>
Detailed Description
template<class Extractor>
class OpenBabel::FilteringInputStreambuf< Extractor >
seekg and tellg requests from the stream are passed through to source rdbuf. This allows return to a position in
the input data that was previously noted. This is adequate to allow OpenBabel's fastsearch indexing, but may
not be good enough for some other applications that use random access.
A class LineEndingExtractor converts DOS and MAC line endings to the UNIX line ending.
This filtering process is potentially extendable, with a chain of FilteringInputStreambufs each carrying out its
filtering task. For instance a decompression streambuf could feed a LineEnding filter, which in tern was read
by an input stream.
[inline,
virtual ~FilteringInputStreambuf ( )
virtual]
[inline,
virtual int overflow ( int )
virtual]
virtual
std::streampos ( std::streamoff off,
seekoff
std::ios_base::seekdir way,
which =
std::ios_base::openmode
std::ios_base::in | std::ios_base::out
[inline,
)
virtual]
virtual
std::streampos ( std::streampos sp,
seekpos
which =
std::ios_base::openmode
std::ios_base::in | std::ios_base::out
[inline,
)
virtual]
const
std::streambuf* GetSource ( )
[inline]
Returns current source.
The documentation for this class was generated from the following file:
• lineend.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
a GasteigerState
b GasteigerState
c GasteigerState
chi GasteigerState
denom GasteigerState
GasteigerState() GasteigerState
q GasteigerState
SetValues(double _a, double _b, double _c, double _q) GasteigerState [inline]
~GasteigerState() GasteigerState [inline]
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::GasteigerState
#include <openbabel/molchrg.h>
Public Attributes
double a
double b
double c
double denom
double chi
double q
Detailed Description
Helper class for OBGastChrg which stores the Gasteiger states of a given atom.
GasteigerState ( )
~GasteigerState ( ) [inline]
double a
double b
double c
double denom
Referenced by GasteigerState::GasteigerState().
double chi
Referenced by GasteigerState::GasteigerState().
double q
Referenced by GasteigerState::GasteigerState().
The documentation for this class was generated from the following files:
• molchrg.h
• molchrg.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::LineEndingExtractor
#include <openbabel/lineend.h>
Public Member
Functions
int operator() (std::streambuf &src)
void finalize (std::streambuf &)
Detailed Description
Replaces CRLF (DOS) and CR (Mac OS 9) line endings by LF (POSIX).
std::streambuf
int operator() ( src ) [inline]
&
The documentation for this class was generated from the following file:
• lineend.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
OpenBabel::OBAngle
#include <openbabel/generic.h>
Protected Attributes
OBAtom * _vertex
std::pair< OBAtom *, OBAtom * > _termini
double _radians
Friends
class OBMol
class OBAngleData
Detailed Description
Used to hold the 3 atoms in an angle and the angle itself.
OBAngle ( ) [protected]
Angle default constructor.
~OBAngle ( ) [inline]
triple< OBAtom *,
OBAtom *,
( ) [protected]
OBAtom * >
GetAtoms
Retrieves the 3 atom pointer for the angle (vertex first).
Returns:
triple of OBAtom pointers
const
bool operator== ( OBAngle other )
&
OBAngle equality operator, is same angle, NOT same value.
Returns:
boolean equality
Referenced by OBMol::FindAngles().
Returns:
angle in radians
Parameters:
angle in radians
Referenced by OBMol::FindAngles().
Parameters:
atoms a triple of OBAtom pointers, the first must be the vertex
The documentation for this class was generated from the following files:
• generic.h
• generic.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBAngleData
#include <openbabel/generic.h>
[legend]
Protected Attributes
std::vector< OBAngle > _angles
std::string _attr
unsigned int _type
DataOrigin _source
Friends
class OBMol
Detailed Description
Used to hold all angles in a molecule as generic data for OBMol.
OBAngleData ( ) [protected]
OBAngleData constructor.
Returns:
a vector<OBAngle>
Parameters:
Friends 139
Open Babel: API Documentation
Returns:
int The number of angles
Referenced by OBMolAngleIter::OBMolAngleIter().
bool FillAngleArray ( std::vector< std::vector< unsigned int > > & angles )
Fills an array with the indices of the atoms in the angle (vertex first).
Parameters:
angles pointer to the pointer to an array of angles atom indices
Returns:
True if successful
Referenced by OBMol::FindAngles().
Returns:
integer count of the number of angles
[inline,
void SetAttribute ( const std::string & v )
inherited]
Set the attribute (key), which can be used to retrieve this data.
[inline,
void SetOrigin ( const DataOrigin s )
inherited]
Set the origin of this data, which can be used to filter the data.
Returns:
The attribute (key), which can be used to retrieve this data
Referenced by OBMoleculeFormat::MakeCombinedMolecule().
Returns:
the data type for this object as defined in OBGenericDataType
The documentation for this class was generated from the following files:
• generic.h
• generic.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBAromaticTyper
#include <openbabel/typer.h>
[legend]
Protected Attributes
bool _init
const char * _dataptr
std::string _filename
std::string _dir
std::string _subdir
std::string _envvar
Detailed Description
Assigns aromatic typing to atoms and bonds.
The OBAromaticTyper class is designed to read in a list of aromatic perception rules and apply them to
molecules. The code that performs typing is not usually used directly -- it is usually done automatically when
their corresponding values are requested of atoms or bonds.
atom->IsAromatic();
bond->IsAromatic();
bond->IsDouble(); // needs to check aromaticity and define Kekule structures
OBAromaticTyper ( )
~OBAromaticTyper ( )
Returns:
the number of SMARTS patterns
OBMol
void AssignAromaticFlags ( mol )
&
Assign aromaticity flag to atoms and bonds.
Referenced by OBAromaticTyper::AssignAromaticFlags().
Picking only the begin atom of a closure bond can cause difficulties when the selected atom is an inner atom
with three neighbour ring atoms. Why ? Because this atom can get trapped by the other atoms when
determining aromaticity, because a simple visited flag is used in the OBAromaticTyper::TraverseCycle()
method.
Ported from JOELib, copyright Joerg Wegner, 2003 under the GPL version 2
Parameters:
mol the molecule
avoidInnerRingAtoms inner closure ring atoms with more than 2 neighbours will be avoided
Referenced by OBAromaticTyper::AssignAromaticFlags().
OBMol
void ExcludeSmallRing ( mol )
&
Remove 3-member rings from consideration.
Referenced by OBAromaticTyper::AssignAromaticFlags().
Referenced by OBAromaticTyper::AssignAromaticFlags().
Returns:
True if the cycle is likely aromatic
Parameters:
root The initial, "root" atom in traversing this ring
atom The current atom to visit and check
prev The bond traversed in moving to this atom
er The min and max number of pi electrons for this ring
depth The maximum number of atoms to visit in a ring (e.g., 6)
This method traverses a potentially aromatic ring, adding up the possible pi electrons for each atom. At the
end (e.g., when atom == root) the Huekel 4n+2 rule is checked to see if there is a possible electronic
configuration which corresponds to aromaticity.
Referenced by OBAromaticTyper::CheckAromaticity().
[inline,
void SetReadDirectory ( char * dir )
inherited]
Set the directory before calling Init().
OBAtomTyper::AssignImplicitValence(), OBPhModel::AssignSeedPartialCharge(),
OBRingTyper::AssignTypes(), OBAtomTyper::AssignTypes(), OBAtomTyper::CorrectAromaticNitrogens(),
OBElementTable::CorrectedBondRad(), OBElementTable::CorrectedVdwRad(),
OBPhModel::CorrectForPH(), OBElementTable::GetAllredRochowElectroNeg(),
OBElementTable::GetAtomicNum(), OBElementTable::GetCovalentRad(),
OBElementTable::GetElectronAffinity(), OBElementTable::GetElectroNeg(),
OBIsotopeTable::GetExactMass(), OBTypeTable::GetFromType(), OBElementTable::GetIonization(),
OBElementTable::GetMass(), OBElementTable::GetMaxBonds(), OBElementTable::GetName(),
OBElementTable::GetNumberOfElements(), OBElementTable::GetRGB(),
OBRotorRules::GetRotorIncrements(), OBElementTable::GetSymbol(), OBTypeTable::GetToType(),
OBElementTable::GetVdwRad(), OBGlobalDataBase::Init(), OBAromaticTyper::OBAromaticTyper(),
OBAtomTyper::OBAtomTyper(), OBBondTyper::OBBondTyper(), OBElementTable::OBElementTable(),
OBIsotopeTable::OBIsotopeTable(), OBPhModel::OBPhModel(), OBResidueData::OBResidueData(),
OBRingTyper::OBRingTyper(), OBRotorRules::OBRotorRules(), OBTypeTable::OBTypeTable(),
OBTypeTable::SetFromType(), OBResidueData::SetResName(), OBTypeTable::SetToType(), and
OBTypeTable::Translate().
The documentation for this class was generated from the following files:
• typer.h
• typer.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
_c OBAtom [protected]
_cidx OBAtom [protected]
_ele OBAtom [protected]
_fcharge OBAtom [protected]
_flags OBAtom [protected]
_hyb OBAtom [protected]
_idx OBAtom [protected]
_impval OBAtom [protected]
_isotope OBAtom [protected]
_parent OBAtom [protected]
_pcharge OBAtom [protected]
_residue OBAtom [protected]
_spinmultiplicity OBAtom [protected]
_type OBAtom [protected]
_v OBAtom [mutable, protected]
_vbond OBAtom [protected]
_vdata OBBase [protected]
AddBond(OBBond *bond) OBAtom [inline]
AddResidue(OBResidue *res) OBAtom [inline]
AverageBondAngle() OBAtom
BeginBond(OBBondIterator &i) OBAtom
BeginBonds() OBAtom [inline]
BeginData() OBBase [inline]
BeginNbrAtom(OBBondIterator &i) OBAtom
BOSum() const OBAtom
CastAndClear(bool clear=true) OBBase [inline]
ClassDescription() OBBase [inline, static]
Clear() OBAtom [virtual]
ClearBond() OBAtom [inline]
ClearCoordPtr() OBAtom [inline]
CloneData(OBGenericData *d) OBBase
CountBondsOfOrder(unsigned int bo) OBAtom
CountFreeOxygens() const OBAtom
CountRingBonds() const OBAtom
DataSize() const OBBase [inline]
DecrementImplicitValence() OBAtom [inline]
DeleteBond(OBBond *bond) OBAtom
DeleteData(unsigned int type) OBBase
DeleteData(OBGenericData *) OBBase
DeleteData(std::vector< OBGenericData * > &) OBBase
DeleteData(const std::string &s) OBBase
DeleteResidue() OBAtom [inline]
DoTransformations(const std::map< std::string, std::string > *) OBBase [inline, virtual]
Duplicate(OBAtom *) OBAtom
EndBonds() OBAtom [inline]
EndData() OBBase [inline]
ExplicitHydrogenCount(bool ExcludeIsotopes=false) const OBAtom
ForceImplH() OBAtom [inline]
ForceNoH() OBAtom [inline]
GetAllData(const unsigned int type) OBBase
GetAngle(int b, int c) OBAtom
GetAngle(OBAtom *b, OBAtom *c) OBAtom
GetAtomicMass() const OBAtom
GetAtomicNum() const OBAtom [inline]
GetBond(OBAtom *) OBAtom
GetCIdx() const OBAtom [inline]
GetCoordinate() OBAtom [inline]
GetCoordinateIdx() const OBAtom [inline]
GetData(const unsigned int type) OBBase
GetData(const std::string &) OBBase
GetData(const char *) OBBase
GetData() OBBase [inline]
GetData(DataOrigin source) OBBase
GetDistance(int index) OBAtom
GetDistance(OBAtom *) OBAtom
GetExactMass() const OBAtom
GetFlag() const OBAtom [inline, protected]
GetFormalCharge() const OBAtom [inline]
GetHeteroValence() const OBAtom
GetHvyValence() const OBAtom
GetHyb() const OBAtom
GetIdx() const OBAtom [inline]
GetImplicitValence() const OBAtom
GetIsotope() const OBAtom [inline]
GetNewBondVector(vector3 &v, double length) OBAtom
GetNextAtom() OBAtom
GetParent() OBAtom [inline]
GetPartialCharge() OBAtom
GetResidue() OBAtom
GetResidue(bool perception) OBAtom
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBAtom
#include <openbabel/atom.h>
[legend]
Public Attributes
bool Visit
Protected Attributes
char _ele
char _impval
char _type [6]
short _fcharge
unsigned short _isotope
short _spinmultiplicity
unsigned int _idx
OBMol * _parent
std::vector< OBBond * > _vbond
unsigned int _cidx
unsigned short _hyb
unsigned short _flags
double _pcharge
double ** _c
vector3 _v
OBResidue * _residue
std::vector< OBGenericData * > _vdata
Detailed Description
Atom class.
To understand the OBAtom class it is important to state a key decision on which the design was based. The
OBAtom class not only holds data, but facilitates extraction of data perceived from both the atom and the
molecule. This prevents the OBMol class from becoming overly large and complicated.
A number of data extraction methods perform what is called `Lazy Evaluation,' which is essentially on-the-fly
evaluation. For example, when an atom is queried as to whether it is cyclic or what it's hybridization state is
the information is perceived automatically. The perception of a particular trait is actually performed on the
entire molecule the first time it is requested of an atom or bond, and stored for subsequent requests for the
same trait of additional atoms or bonds.The OBAtom class is similar to OBMol and the whole of Open Babel
in that data access and modification is done through Get and Set methods.
The following code demonstrates how to print out the atom numbers, element numbers, and coordinates of a
molecule:
OBMol mol;
FOR_ATOMS_OF_MOL(atom, mol)
{
cout << atom->GetIdx() << ` `;
cout << atom->GetAtomicNum() << ` `;
cout << atom->GetVector() << endl;
}
A number of the property member functions indicate that atoms have some knowledge of their covalently
attached neighbor atoms. Bonding information is partly redundant within a molecule in that an OBMol has a
complete list of bonds in a molecule, and an OBAtom has a list bonds of which it is a member. The following
code demonstrates how an OBAtom uses its bond information to loop over atoms attached to itself:
OBMol mol;
OBAtom *atom;
atom = mol.GetAtom(1);
FOR_NBORS_OF_ATOM(nbr, atom)
{
cout << "atom #" << atom->GetIdx() << " is attached to atom #"
<< nbr->GetIdx() << endl;
}
OBAtom ( )
Constructor.
~OBAtom ( ) [virtual]
Destructor.
Returns:
All flags
Referenced by OBAtom::Duplicate().
Returns:
True of the atom has the flag
OBAtom
OBAtom & operator= ( src )
&
Assignment.
Since:
version 2.2
Returns:
True if successful.
Referenced by OBAtom::OBAtom().
Referenced by AliasData::Expand().
Referenced by OBAtomTyper::AssignImplicitValence().
Referenced by OpenBabel::ExpandKekule().
Referenced by OpenBabel::ExpandKekule().
Referenced by OBMol::AssignSpinMultiplicity().
double
void SetCoordPtr ( c ) [inline]
**
Set the position of this atom from a pointer-driven array of coordinates.
void SetVector ( )
Set the position of this atom based on the internal pointer array (i.e. from SetCoordPtr() ).
Referenced by OBAromaticTyper::AssignAromaticFlags().
Referenced by OpenBabel::CorrectChirality().
Referenced by OpenBabel::CorrectChirality().
Referenced by OpenBabel::CorrectChirality().
Referenced by OBMol::FindChiralCenters().
Returns:
the formal charge for this atom
const
unsigned int GetAtomicNum ( )
[inline]
Returns:
the atomic number for this atom
const
unsigned short int GetIsotope ( )
[inline]
Returns:
the isotope for this atom, if specified, or 0 for unspecified
Returns:
the atomic spin, e.g., 0 (default) for normal atoms - note that this value is a convention, 2 for radical 1
or 3 for carbene
Returns:
the atomic mass of this atom given by standard IUPAC average molar mass
Returns:
the atomic mass of given by the isotope (default of 0 gives the most abundant isotope)
Referenced by OBMol::GetExactMass().
Returns:
the internal atom index (e.g., inside an OBMol)
const
unsigned int GetCoordinateIdx ( )
[inline]
Returns:
the index into a pointer-driven array as used by GetCoordPtr() or SetCoordPtr()
const
unsigned int GetCIdx ( )
[inline]
Deprecated:
Use GetCoordinateIdx() instead
const
unsigned int GetValence ( )
[inline]
Returns:
The current number of explicit connections
Returns:
The hybridization of this atom (i.e. 1 for sp, 2 for sp2, 3 for sp3)
Returns:
The implicit valence of this atom type (i.e. maximum number of connections expected)
Returns:
The number of non-hydrogens connected to this atom
Returns:
The number of heteroatoms connected to an atom
char * GetType ( )
Returns:
the atomic type (e.g., for molecular mechanics)
Returns:
the x coordinate
Returns:
the y coordinate
Returns:
the z coordinate
Returns:
the x coordinate
Returns:
the y coordinate
Returns:
the z coordinate
Returns:
the coordinates as a double* or NULL if none.
See SetCoordPtr() for more. If no coordinate pointer is used (e.g., only vector3), NULL will be returned.
Returns:
the coordinates as a vector3 object
Returns:
the coordinates as a vector3 object
double GetPartialCharge ( )
Returns:
the partial charge of this atom, calculating a Gasteiger charge if needed
OBResidue * GetResidue ( )
Returns:
the residue which contains this atom, or NULL if none exists
Parameters:
perception implies whether chain perception should occur
Returns:
the residue which contains this atom, or NULL if none exists
Returns:
the molecule which contains this atom, or NULL if none exists
Returns:
success or failure
Returns:
the OBBond object between this atom and that supplied, or NULL if the two atoms are not bonded
OBAtom * GetNextAtom ( )
Returns:
a pointer to the "next" atom (by atom index) in the parent OBMol, or NULL if no such atom exists.
Deprecated:
Use any of the other iterator methods. This method will be removed in the future.
Returns:
An iterator to the beginning of the bonds to this atom
Referenced by OBResidueData::AssignBonds().
Returns:
An iterator to the end of the bonds to this atom
Returns:
The first bond to this atom (or NULL if none exist)
Returns:
The next bond to this atom (or NULL if none exist)
Returns:
The first neighboring atom (or NULL if none exist)
Returns:
The next neighboring atom (or NULL if none exist)
Returns:
the distance to the atom defined by OBMol::GetAtom()
Referenced by OBBondTyper::AssignFunctionalGroupBonds().
Returns:
the distance to the supplied OBAtom
Returns:
the angle defined by this atom -> b (vertex) -> c
Referenced by OBMol::GetAngle().
Returns:
the angle defined by this atom -> b (vertex) -> c
OBBondIterator
void InsertBond ( i,
&
OBBond * bond
) [inline]
Insert bond into the internal list at the position from i Does not modify the bond.
Referenced by OBMol::AddBond().
bool HtoMethyl ( )
If this is a hydrogen atom, transform into a methyl group.
Returns:
success or failure
Returns:
success or failure
Returns:
if atom has been marked as having no hydrogens attached
Referenced by OBMol::AssignSpinMultiplicity().
Since:
version 2.2
Returns:
if atom has been marked as having no hydrogens attached
Since:
version 2.2
Referenced by OBMol::AssignSpinMultiplicity().
Returns:
The number of oxygen atoms connected that only have one heavy valence
Returns:
The number of hydrogens needed to fill the implicit valence of this atom
Returns:
The number of hydrogens explicitly bound to this atom, optionally excluding D,T and isotope
explicitly set to 1
Returns:
The number of rings that contain this atom
Referenced by OpenBabel::EvalAtomExpr().
Returns:
The size of the smallest ring that contains this atom (0 if not in a ring)
Referenced by OBAtom::SetHybAndGeom().
Returns:
The number of explicit ring connections to this atom
Referenced by OpenBabel::EvalAtomExpr().
double SmallestBondAngle ( )
Returns:
The smallest angle of bonds to this atom
Referenced by OBMol::ConnectTheDots().
double AverageBondAngle ( )
Returns:
The average angle of bonds to this atom
Returns:
The sum of the bond orders of the bonds to the atom (i.e. double bond = 2...)
Returns:
The sum of the bond orders of bonds to the atom, considering only KDouble, KTriple bonds
Deprecated:
Use BOSum() instead
Referenced by OpenBabel::EvalAtomExpr().
Returns:
Is there any residue information?
Referenced by OBMol::AddHydrogens().
Returns:
Returns:
Is the atom carbon?
Returns:
Is the atom nitrogen?
Returns:
Is the atom oxygen?
Returns:
Is the atom sulfur?
Returns:
Is the atom phosphorus?
Returns:
Is the atom aromatic?
Returns:
Is the atom in a ring?
Returns:
Is the atom in a ring of a given size?
bool IsHeteroatom ( )
Returns:
Is this atom an element in the 15th or 16th main groups (i.e., N, O, P, S ...) ?
Referenced by OBAtom::GetHeteroValence().
bool IsNotCorH ( )
Returns:
Is this atom any element except carbon or hydrogen?
Returns:
Is this atom directly connected to the supplied OBAtom?
Returns:
Is this atom related to the supplied OBAtom in a 1,3 bonding pattern?
Returns:
Is this atom related to the supplied OBAtom in a 1,4 bonding pattern?
bool IsCarboxylOxygen ( )
Returns:
Is this atom an oxygen in a carboxyl (-CO2 or CO2H) group?
bool IsPhosphateOxygen ( )
Returns:
Is this atom an oxygen in a phosphate (R-PO3) group?
bool IsSulfateOxygen ( )
Returns:
Is this atom an oxygen in a sulfate (-SO3) group?
bool IsNitroOxygen ( )
Returns:
Is this atom an oxygen in a nitro (-NO2) group?
bool IsAmideNitrogen ( )
Returns true if nitrogen is part of an amide.
Returns:
Is this atom a nitrogen in an amide (-C(=O)NR2) group?
Referenced by OBMol::getorden().
bool IsPolarHydrogen ( )
Returns:
Is this atom a hydrogen connected to a polar atom (i.e., N, O, P, S)
bool IsNonPolarHydrogen ( )
Returns:
Is this atom a hydrogen connected to a non-polar atom (i.e., C)
Referenced by OBMol::DeleteNonPolarHydrogens().
bool IsAromaticNOxide ( )
Returns:
Is this atom an aromatic nitrogen with at least one double bond to an oxygen atom
bool IsChiral ( )
Returns:
Is this atom chiral?
bool IsAxial ( )
Returns:
Is this atom an axial atom in a ring
Returns:
Does this atom have SMILES-specified clockwise "@@" stereochemistry?
Returns:
Does this atom have SMILES-specified anticlockwise "@" stereochemistry?
Returns:
Does this atom have a positive chiral volume?
Returns:
Does this atom have a negative chiral volume?
Returns:
Does this atom have SMILES-specified stereochemistry?
Returns:
Does this atom have a specified chiral volume?
bool IsHbondAcceptor ( )
Returns:
Is this atom a hydrogen-bond acceptor (receptor)?
bool IsHbondDonor ( )
Returns:
Referenced by OBAtom::IsHbondDonorH().
bool IsHbondDonorH ( )
Returns:
Is this a hydrogen atom attached to a hydrogen-bond donor?
Returns:
Whether a neighboring atom (alpha) has an unsaturated bond to a third atom (beta).
Parameters:
includePandS Whether to include phosphorus and sulfur neighbors in this determination (or to
exclude them)
'*'
\
a=b
where a and b are the 'apha' and 'beta' atoms, respectively and '*' indicates the current atom.
Referenced by OBAtom::GetNewBondVector().
Returns:
Whether this atom is connected to any bond with order == bo
Referenced by OBMol::PerceiveBondOrders().
Returns:
The count of bonds connected to this atom with order == bo
bool HasNonSingleBond ( )
Returns:
Whether this atom is connected to any bond with order >1
Referenced by OBMol::PerceiveBondOrders().
Returns:
Does this atom have a single bond
Returns:
Does this atom have a double bond
Returns:
Does this atom have an aromatic bond
Referenced by OBMol::NewPerceiveKekuleBonds().
Returns:
Whether this atom matches the first atom in a given SMARTS pattern
[inline,
virtual OBBase* const std::map< std::string,
( ) virtual,
DoTransformations std::string > *
inherited]
Perform a set of transformations specified by the user
Typically these are program options to filter or modify an object For example, see
OBMol::DoTransformations() and OBMol::ClassDescription()
Reimplemented in OBMol.
Returns:
A list of descriptions of command-line options for DoTransformations()
Returns:
whether the generic attribute/value pair exists
const
bool HasData ( char s ) [inherited]
*
Returns:
whether the generic attribute/value pair exists
Returns:
whether the generic attribute/value pair exists, for a given OBGenericDataType
const
bool DeleteData ( std::string s ) [inherited]
&
Deletes the generic data with the specified attribute, returning false if not found.
[inline,
void SetData ( OBGenericData * d )
inherited]
Adds a data object; does nothing if d==NULL.
Since:
version 2.2
Returns:
the number of OBGenericData items attached to this molecule.
Returns:
the first matching data for a given type from OBGenericDataType or NULL if nothing matches
const
OBGenericData * GetData ( std::string s ) [inherited]
&
Returns:
any data matching the given attribute name or NULL if nothing matches
Returns:
any data matching the given attribute name or NULL if nothing matches
[inline,
std::vector<OBGenericData*>& GetData ( )
inherited]
Returns:
all data, suitable for iterating
Returns:
all data with a specific origin, suitable for iterating
Returns:
the all matching data for a given type from OBGenericDataType or an empty vector if nothing
matches
Since:
version 2.2
Returns:
An iterator pointing to the beginning of the data
[inline,
OBDataIterator EndData ( )
inherited]
Returns:
An iterator pointing to the end of the data
Referenced by OBAtom::OBAtom().
double** _c [protected]
coordinate array in double*
bool Visit
Used internally by graph traversal algorithms.
The documentation for this class was generated from the following files:
• atom.h
• atom.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBAtomAtomIter
#include <openbabel/obiter.h>
Detailed Description
Iterate over all neighboring atoms to an OBAtom.
To facilitate iteration through all neighbors of an atom, without resorting to bond indexes (which may change
in the future), a variety of iterator classes and methods are provided.
This has been made significantly easier by a series of macros in the obiter.h header file:
Here is an example:
#include <openbabel/obiter.h>
#include <openbabel/mol.h>
OBMol mol;
FOR_ATOMS_OF_MOL(a, mol)
{
// The variable a behaves like OBAtom* when used with -> and * but
// but needs to be explicitly converted when appearing as a parameter
// in a function call - use &*a
FOR_NBORS_OF_ATOM(b, &*a)
{
...
}
}
OBAtomAtomIter ( ) [inline]
~OBAtomAtomIter ( ) [inline]
const
OBAtomAtomIter & operator= ( OBAtomAtomIter ai )
&
Returns:
Whether the iterator can still advance (i.e., visit more neighbors)
Referenced by OBAtomAtomIter::operator++().
const
OBAtom* operator-> ( )
[inline]
Returns:
a pointer to the current atom
const
OBAtom& operator* ( )
[inline]
Returns:
a reference to the current atom
The documentation for this class was generated from the following files:
• obiter.h
• obiter.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBAtomBondIter
#include <openbabel/obiter.h>
Detailed Description
Iterate over all bonds on an OBAtom.
To facilitate iteration through all bonds on an atom, without resorting to bond indexes (which may change in
the future) a variety of iterator classes and methods are provided.
This has been made significantly easier by a series of macros in the obiter.h header file:
Here is an example:
#include <openbabel/obiter.h>
#include <openbabel/mol.h>
OBAtom atom;
unsigned int tripleBondCount;
FOR_BONDS_OF_ATOM(b, atom)
{
// The variable b behaves like OBBond* when used with -> and * but
// but needs to be explicitly converted when appearing as a parameter
// in a function call - use &*b
if (b->GetBO() == 3)
tripleBondCount++;
}
OBAtomBondIter ( ) [inline]
~OBAtomBondIter ( ) [inline]
const
OBAtomBondIter & operator= ( OBAtomBondIter bi )
&
Returns:
Whether the iterator can still advance (i.e., visit more bonds)
Referenced by OBAtomBondIter::operator++().
const
OBBond* operator-> ( )
[inline]
Returns:
a pointer to the current bond
const
OBBond& operator* ( )
[inline]
Returns:
a reference to the current bond
The documentation for this class was generated from the following files:
• obiter.h
• obiter.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBAtomClassData
#include <openbabel/atomclass.h>
[legend]
Protected Attributes
std::map< int, int > _map
std::string _attr
unsigned int _type
DataOrigin _source
Detailed Description
Handle atom classes in reaction SMILES/SMIRKS.
Since:
version 2.2
Class for attaching to OBMol to hold the info from SMILES like [C:2] Useful for reaction SMILES
(SMIRKS). It influences the atom id attribute in CML. Not all atoms need have an atom class. The atom class
can be any positive or negative integer.
OBAtomClassData ( ) [inline]
const
bool HasClass ( int indx )
[inline]
Returns:
true if there is an entry for atom index
Returns:
value of class index (Test with HasClass first)
[inline,
void SetAttribute ( const std::string & v )
inherited]
Set the attribute (key), which can be used to retrieve this data.
[inline,
void SetOrigin ( const DataOrigin s )
inherited]
Set the origin of this data, which can be used to filter the data.
Returns:
The attribute (key), which can be used to retrieve this data
Referenced by OBMoleculeFormat::MakeCombinedMolecule().
Returns:
the data type for this object as defined in OBGenericDataType
The documentation for this class was generated from the following file:
• atomclass.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
OpenBabel::OBAtomTyper
#include <openbabel/typer.h>
[legend]
Protected Attributes
bool _init
const char * _dataptr
std::string _filename
std::string _dir
std::string _subdir
std::string _envvar
Detailed Description
Assigns atom types, hybridization, implicit valence and formal charges.
The OBAtomTyper class is designed to read in a list of atom typing rules and apply them to molecules. The
code that performs atom typing is not usually used directly as atom typing, hybridization assignment, implicit
valence assignment and charge are all done automatically when their corresponding values are requested of
atoms:
atom->GetType();
atom->GetFormalCharge();
atom->GetHyb();
OBAtomTyper ( )
~OBAtomTyper ( )
Returns:
the number of implicit valence rules
OBMol
void AssignHyb ( mol )
&
Assign atomic hybridization (1 = sp, 2 = sp2, 3 = sp3...).
Referenced by OBAtom::GetHyb().
OBMol
void AssignTypes ( mol )
&
Assign external atomic types (i.e., EXTTYP lines in atomtyp.txt).
Referenced by OBAtom::GetType().
OBMol
void AssignImplicitValence ( mol )
&
Assign implicit valence (i.e., given an atomic type, what is the expected number of bonds to this atom
Deprecated:
Currently unused for anything significant.
[inline,
void SetReadDirectory ( char * dir )
inherited]
Set the directory before calling Init().
OBAtomTyper::AssignImplicitValence(), OBPhModel::AssignSeedPartialCharge(),
OBRingTyper::AssignTypes(), OBAtomTyper::AssignTypes(), OBAtomTyper::CorrectAromaticNitrogens(),
OBElementTable::CorrectedBondRad(), OBElementTable::CorrectedVdwRad(),
OBPhModel::CorrectForPH(), OBElementTable::GetAllredRochowElectroNeg(),
OBElementTable::GetAtomicNum(), OBElementTable::GetCovalentRad(),
OBElementTable::GetElectronAffinity(), OBElementTable::GetElectroNeg(),
OBIsotopeTable::GetExactMass(), OBTypeTable::GetFromType(), OBElementTable::GetIonization(),
OBElementTable::GetMass(), OBElementTable::GetMaxBonds(), OBElementTable::GetName(),
OBElementTable::GetNumberOfElements(), OBElementTable::GetRGB(),
OBRotorRules::GetRotorIncrements(), OBElementTable::GetSymbol(), OBTypeTable::GetToType(),
OBElementTable::GetVdwRad(), OBGlobalDataBase::Init(), OBAromaticTyper::OBAromaticTyper(),
OBAtomTyper::OBAtomTyper(), OBBondTyper::OBBondTyper(), OBElementTable::OBElementTable(),
OBIsotopeTable::OBIsotopeTable(), OBPhModel::OBPhModel(), OBResidueData::OBResidueData(),
OBRingTyper::OBRingTyper(), OBRotorRules::OBRotorRules(), OBTypeTable::OBTypeTable(),
OBTypeTable::SetFromType(), OBResidueData::SetResName(), OBTypeTable::SetToType(), and
OBTypeTable::Translate().
The documentation for this class was generated from the following files:
• typer.h
• typer.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBBase
#include <openbabel/base.h>
[legend]
Protected Attributes
std::vector< OBGenericData * > _vdata
Detailed Description
Base Class.
The various classes (Atom, Bond, Molecule) inherit from base classes-- OBBase is largely a placeholder class.
It also allows adding, deleting, and retrieving OBGenericData objects, which are ways to store arbitrary data
for any atom, bond, molecule, or residue.
For example, a graphics program may want to allow users to add labels to individual atoms:
atom.SetData(label);
}
This class is also important in the OBConversion class. Any derived class of OBBase can be supported in
reading or writing data. While most OBFormat "translators" are designed around reading molecular data, the
OBConversion framework can support any base object. For example OBReaction supports reading and
writing reaction files, OBGrid supports reading and writing 2D or 3D "grids" of numeric data.
Therefore if you want to expand the range of input or output via the OBConversion and OBFormat classes,
you will also need to make sure you define an appropriate derived class from OBBase.
[inline,
virtual ~OBBase ( )
virtual]
This method can be called by OBConversion::Read() before reading data. Derived classes should be sure to
call OBBase::Clear() to remove inherited generic data.
Returns:
Whether the call was successful.
Since:
version 2.1.
[inline,
virtual OBBase* DoTransformations ( const std::map< std::string, std::string > * )
virtual]
Perform a set of transformations specified by the user
Typically these are program options to filter or modify an object For example, see
OBMol::DoTransformations() and OBMol::ClassDescription()
Reimplemented in OBMol.
Returns:
A list of descriptions of command-line options for DoTransformations()
clear =
T* CastAndClear ( bool ) [inline]
true
By default clears the object. Called from ReadMolecule of most format classes.
Returns:
whether the generic attribute/value pair exists
Returns:
whether the generic attribute/value pair exists
Returns:
whether the generic attribute/value pair exists, for a given OBGenericDataType
const
bool DeleteData ( std::string s )
&
Deletes the generic data with the specified attribute, returning false if not found.
Since:
version 2.2
Returns:
the number of OBGenericData items attached to this molecule.
Returns:
the first matching data for a given type from OBGenericDataType or NULL if nothing matches
Returns:
any data matching the given attribute name or NULL if nothing matches
Returns:
any data matching the given attribute name or NULL if nothing matches
Returns:
the all matching data for a given type from OBGenericDataType or an empty vector if nothing
matches
Since:
version 2.2
Returns:
all data, suitable for iterating
Returns:
all data with a specific origin, suitable for iterating
Returns:
An iterator pointing to the beginning of the data
Returns:
An iterator pointing to the end of the data
The documentation for this class was generated from the following files:
• base.h
• base.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBBitVec
#include <openbabel/bitvec.h>
Public Types
typedef std::vector< unsigned > word_vector
Friends
OBERROR OBBitVec operator| (const OBBitVec &bv1, const OBBitVec &bv2)
OBERROR OBBitVec operator & (const OBBitVec &bv1, const OBBitVec &bv2)
OBERROR OBBitVec operator^ (const OBBitVec &bv1, const OBBitVec &bv2)
OBERROR OBBitVec operator- (const OBBitVec &bv1, const OBBitVec &bv2)
OBERROR bool operator== (const OBBitVec &bv1, const OBBitVec &bv2)
OBERROR bool operator< (const OBBitVec &bv1, const OBBitVec &bv2)
OBERROR std::istream & operator>> (std::istream &is, OBBitVec &bv)
OBERROR std::ostream & operator<< (std::ostream &os, const OBBitVec &bv)
Detailed Description
A speed-optimized vector of bits.
This class implements a fast vector of bits using internally a vector of processor native unsigned words. Any
bits which are out of reach of the current size are considered to be zero. Streamlined, corrected and
documented by kshepherd1@users.sourceforge.net
The OBBitVec class is a fast and efficient bitstring class that is handy to use as a truth table. Truth tables are
an easy way to store whether a list of items has a particular property. Instances of OBBitVec can be
dynamically resized, and have a number of overloaded operators that make code simple and readable. The
following examples demonstrate uses of the OBBitVec class:
OBBitVec bv1,bv2,bv3;
bv1.SetBitOn(5);
bv2.SetBitOff(200);
bv1 |= bv2;
bv1 = bv1 & bv2;
if (bv1.IsEmpty()) // IsEmpty() returns true if no bits are set on
{
std::cout << "bv1 = " << bv1 << std::endl;
}
int bit;
for (bit = bv1.NextBit(0);bit != bv1.EndBit();bit = bv1.NextBit(bit))
{
cout << "the next bit turned on is " << bit << endl;
}
Friends 225
Open Babel: API Documentation
OBBitVec ( ) [inline]
Construct a bit vector of the default size.
Construct a bit vector with a size in bits of size_in_bits rounded up to the nearest word and cleared to all
zero bits.
Parameters:
[in] size_in_bits The number of bits for which to reserve space
Parameters:
[in] bv The other bit vector to copy to this
Set the bit_offset 'th bit to 1 Increases the size of this bit vector if necessary
Parameters:
[in] bit_offset a zero based offset into the bit vector
Parameters:
[in] bit_offset a zero based offset into the bit vector
Set the range of bits from lo_bit_offset to hi_bit_offset to 1 Increases the size of this bit vector if
necessary
Parameters:
[in] lo_bit_offset a zero based offset into the bit vector
[in] hi_bit_offset a zero based offset into the bit vector
Parameters:
[in] lo_bit_offset a zero based offset into the bit vector
[in] hi_bit_offset a zero based offset into the bit vector
Reduce the size of the vector to new_bit_size by or-ing the excess bits over the start of the vector
Parameters:
[in] new_bit_size the size of the resultant vector, in bits
const
[inline]
Find the first true bit at or after bit_offset.
Searches the vector for the first true value, starting at the bit_offset 'th bit
Parameters:
[in] bit_offset the first bit to consider
Returns:
the bit offset of the first true bit at or after bit_offset, or -1 if there is none
Searches the vector for the first true value, starting at the last_bit_offset 'th bit
Parameters:
[in] last_bit_offset the bit before the first to
consider
Returns:
the bit offset of the first true bit after last_bit_offset, or -1 if there is none
const
int EndBit ( )
[inline]
Return the bit offset of the last bit (for iterating) i.e. -1.
Returns:
the bit count
Deprecated:
Use IsEmpty() instead.
Returns:
true for "is empty", false if not empty
Parameters:
[in] size_in_bits the number of bits
Returns:
true if enlargement was necessary, false otherwise
Parameters:
[in] size_in_words the number of words
Returns:
true if enlargement was necessary, false otherwise
Parameters:
[in] bit_offset a zero based offset into the bit vector
Returns:
true if it is set, false otherwise
const
bool BitIsOn ( int bit_offset )
[inline]
Deprecated:
Use BitIsSet(unsigned bit_offset) instead.
Parameters:
[in] bit_offsets A list of bit offsets
Sets bits on, listed as a string of character-represented integers This bit vector is first cleared. The format is "[
n0 n1 n2 n3 ... ]". The square brackets are optional. The whitespace can be SPACE, NEWLINE or HTAB For
example "[ 1 5 6 9 ]"
Parameters:
[in] line A string containing positive integers
[in] new_bit_size The size that the vector should become
std::vector<
void ToVecInt ( bit_offsets ) const
int > &
List the offsets of the bits which are set.
Parameters:
[out] bit_offsets A list of bit offsets, in ascending order
Set all the bits in this vector to zero Does not currently change the size of the vector.
Inverts the entire vector. Note that this may give unexpected results, as the vector can be considered to end in
an arbitrary number of zero bits.
Parameters:
[out] vec a vector of words to which to append the data
Parameters:
[in] bv A bit vector
Returns:
A reference to this
Parameters:
[in] bv A bit vector
Returns:
A reference to this
Parameters:
[in] bv A bit vector
Returns:
A reference to this
const
OBBitVec & operator^= ( OBBitVec bv )
&
Exclusive-or-equals operator.
Parameters:
[in] bv A bit vector
Returns:
A reference to this
const
OBBitVec & operator-= ( OBBitVec bv )
&
Minus-equals operator.
Parameters:
[in] bv A bit vector
Returns:
A reference to this
Parameters:
[in] bv A bit vector
Returns:
A reference to this
const
bool operator[] ( int bit_offset )
[inline]
Asks if the bit_offset 'th bit is set.
Parameters:
[in] bit_offset a zero based offset into the bit vector
Returns:
true if it is set, false otherwise
Return a bit vector of the results of Or-ing each bit in bv1 with the corresponding bit in bv2
Parameters:
[in] bv1 A bit vector
[in] bv2 Another bit vector
Returns:
A bit vector
Return a bit vector of the results of And-ing each bit in bv1 with the corresponding bit in bv2
Parameters:
[in] bv1 A bit vector
[in] bv2 Another bit vector
Returns:
A bit vector
Return a bit vector of the results of Exclusive-or-ing each bit in bv1 with the corresponding bit in bv2
Parameters:
[in] bv1 A bit vector
[in] bv2 Another bit vector
Returns:
A bit vector
Return a bit vector of the results of clearing each bit in bv1 which is set in bv2
Parameters:
[in] bv1 A bit vector
[in] bv2 Another bit vector
Returns:
A bit vector
Return true if bv1 and bv2 are equivalent Not that they may be of different size, and still equivalent provided
that the extra bits are all zero.
Parameters:
[in] bv1 A bit vector
[in] bv2 Another bit vector
Returns:
true if equal, false otherwise
Return true if bv1 i less than bv2 Lexicographical order, with bit vectors written LSB first.
Parameters:
[in] bv1 A bit vector
Returns:
true if equal, false otherwise
std::istream
OBERROR std::istream& operator>> ( is,
&
OBBitVec
bv
&
) [friend]
Input from a stream.
Sets bits on, listed as a string of character-represented integers in a stream Only reads one line of input The
format is "[ n0 n1 n2 n3 ... ]". The square brackets are optional. The whitespace can be SPACE or HTAB For
example "[ 1 5 6 9 ]"
Parameters:
[in,out] is The input stream
[out] bv The bit vector to contain the result
Output this bit vector to a stream The format is "[ n0 n1 n2 n3 ... ]". The whitespace is SPACE For example "[
1 5 6 9 ]"
Parameters:
[out] os The output stream
[in] bv The bit vector to be output
The documentation for this class was generated from the following files:
• bitvec.h
• bitvec.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
OpenBabel::OBBond
#include <openbabel/bond.h>
[legend]
Public Attributes
bool Visit
Protected Attributes
unsigned int _idx
OBMol * _parent
OBAtom * _bgn
OBAtom * _end
char _order
unsigned short int _flags
std::vector< OBGenericData * > _vdata
Detailed Description
Bond class.
The OBBond class is straightforward in its data access and modification methods. OBBonds store pointers to
the atoms on each end of the bond. In storing pointers to atoms instead of integer indices, the necessity of
having to reorder bonds when atoms are shuffled, added, or delete is obviated.
While methods indicate "begin" and "end" atoms in the bond, all methods are designed to be independent of
atom ordering, with the exception of stereochemically aware properties such as IsUp(), IsDown(), IsWedge, or
IsHash().
OBBond ( )
Constructor.
~OBBond ( ) [virtual]
Destructor.
Referenced by OBBond::Set().
Warning:
This will not update the index in the parent OBMol. Intended mainly for internal use. Use with care.
Deprecated:
Use SetBondOrder() instead.
Since:
version 2.2
Parameters:
idx The unique bond index for this bond (inside an OBMol)
begin The 'beginning' atom for the bond
end The 'end' atom for the bond
order The bond order (i.e., 1 = single, 2 = double... 5 = aromatic)
flags Any initial property flags
Referenced by OBMol::AddBond().
void SetKSingle ( )
Deprecated:
Use SetBondOrder() instead
void SetKDouble ( )
Deprecated:
Use SetBondOrder() instead
void SetKTriple ( )
Deprecated:
Use SetBondOrder() instead
Mark that this bond has 2D "wedge" notation (i.e., goes in a positive Z direction from the beginning to end
atoms).
Referenced by OpenBabel::FixCisTransBonds().
Referenced by OpenBabel::FixCisTransBonds().
Referenced by OpenBabel::FindRings().
Warning:
This is for internal use only. All closure bonds are marked automatically by lazy evaluation when
requesting OBBond::IsClosure()
Referenced by OBBond::IsClosure().
Referenced by OpenBabel::FixCisTransBonds().
Referenced by OpenBabel::FixCisTransBonds().
Returns:
The unique bond index in a molecule.
Returns:
The bond order for the bond
Deprecated:
Use GetBondOrder() as this method may be removed.
Returns:
The bond order for the bond
const
unsigned int GetFlags ( )
[inline]
Returns:
The set of property flags defined for this bond.
const
unsigned int GetBeginAtomIdx ( )
[inline]
Returns:
The atom index for the end atom in this bond (from OBAtom::GetIdx()
const
unsigned int GetEndAtomIdx ( )
[inline]
Returns:
The atom index for the end atom in this bond (from OBAtom::GetIdx()
Returns:
The "beginning" atom for this bond
Returns:
The "end" atom for this bond
const
const OBAtom* GetEndAtom ( )
[inline]
Returns:
The neighboring atom to ptr (i.e., the end if ptr is the start)
Warning:
If ptr is not part of the bond, the beginning atom will always be returned
Returns:
The enclosing OBMol for this bond, or NULL if none is defined.
Returns:
The expected "equilibrium" length based on the covalent radii and bond order Length is given in
Angstroms
Returns:
The current length of this bond in Angstroms
Returns:
The index to the neighboring atom of ptr (i.e., the end if ptr is the start)
Warning:
If ptr is not part of the bond, the beginning atom index will always be returned
Returns:
Is the bond aromatic? (Note that the two atoms of the bond may be aromatic, but not the bond)
Returns:
Is the bond part of a ring?
bool IsRotor ( )
Returns:
Is the bond a rotatable bond? Currently, this function classifies any bond with at least one heavy atom,
no sp-hybrid atoms (e.g., a triple bond somewhere) not in a ring as a potential rotor. No other bond
typing is attempted. For more detailed rotor detection, check the OBRotorList and OBRotorRules
classes
bool IsAmide ( )
Returns:
Is the bond an amide link (i.e., between a carbonyl C and a N)
bool IsPrimaryAmide ( )
Returns:
Is the bond an amide (i.e., between carbonyl C and a NH group)
bool IsSecondaryAmide ( )
Returns:
Is the bond an amide between a carbonyl C and a N with no hydrogens
bool IsEster ( )
Returns:
Is the bond an ester link (i.e., between a carbonyl C and an O)
bool IsCarbonyl ( )
Returns:
Is the bond a carbonyl C=O?
bool IsSingle ( )
Returns:
Is the bond a single bond?
bool IsDouble ( )
Returns:
Is the bond is a double bond?
bool IsTriple ( )
Returns:
Is the bond is a triple bond?
Referenced by OpenBabel::GetHvyBondSum().
bool IsKSingle ( )
Deprecated:
Use IsSingle() instead
Referenced by OBMol::Kekulize().
bool IsKDouble ( )
Deprecated:
Use IsDouble() instead
bool IsKTriple ( )
Deprecated:
Use IsTriple() instead
bool IsClosure ( )
Returns:
Does this bond "close" a ring when walking the molecular graph?
Returns:
Whether this is the "upper" bond in a double bond cis/trans isomer (i.e., "/" in SMILES)
Returns:
Whether this is the "lower" bond in a double bond cis/trans isomer (i.e., "\" in SMILES)
Returns:
Whether this bond is a "wedge" in 2D representations (i.e., goes in a positive Z direction from the
beginning to end atoms)
Returns:
Whether this bond is a "hash" in 2D representations (i.e., goes in a negative Z direction from the
beginning to end atoms)
bool IsDoubleBondGeometry ( )
Returns:
whether the geometry around this bond "looks" unsaturated
This method checks if the geometry around this bond looks unsaturated by measuring the torsion angles
formed by all connected atoms X-start=end-Y and checking that they are close to 0 or 180 degrees
This method can be called by OBConversion::Read() before reading data. Derived classes should be sure to
call OBBase::Clear() to remove inherited generic data.
Returns:
Whether the call was successful.
Since:
version 2.1.
[inline,
virtual OBBase* const std::map< std::string,
( ) virtual,
DoTransformations std::string > *
inherited]
Perform a set of transformations specified by the user
Typically these are program options to filter or modify an object For example, see
OBMol::DoTransformations() and OBMol::ClassDescription()
Reimplemented in OBMol.
Returns:
A list of descriptions of command-line options for DoTransformations()
Returns:
whether the generic attribute/value pair exists
const
bool HasData ( char s ) [inherited]
*
Returns:
whether the generic attribute/value pair exists
Returns:
whether the generic attribute/value pair exists, for a given OBGenericDataType
const
bool DeleteData ( std::string s ) [inherited]
&
Deletes the generic data with the specified attribute, returning false if not found.
[inline,
void SetData ( OBGenericData * d )
inherited]
Adds a data object; does nothing if d==NULL.
Since:
version 2.2
Returns:
the number of OBGenericData items attached to this molecule.
Returns:
the first matching data for a given type from OBGenericDataType or NULL if nothing matches
const
OBGenericData * GetData ( std::string s ) [inherited]
&
Returns:
any data matching the given attribute name or NULL if nothing matches
Returns:
any data matching the given attribute name or NULL if nothing matches
[inline,
std::vector<OBGenericData*>& GetData ( )
inherited]
Returns:
all data, suitable for iterating
Returns:
all data with a specific origin, suitable for iterating
Returns:
the all matching data for a given type from OBGenericDataType or an empty vector if nothing
matches
Since:
version 2.2
Returns:
An iterator pointing to the beginning of the data
[inline,
OBDataIterator EndData ( )
inherited]
Returns:
An iterator pointing to the end of the data
Referenced by OBBond::OBBond().
bool Visit
Whether this bond has been visited by a graph algorithm.
Deprecated:
Use OBBitVec objects instead to be fully thread-safe.
The documentation for this class was generated from the following files:
• bond.h
• bond.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBBondTyper
#include <openbabel/bondtyper.cpp>
[legend]
Protected Attributes
bool _init
const char * _dataptr
std::string _filename
std::string _dir
std::string _subdir
std::string _envvar
Detailed Description
Assigns bond types for file formats without bond information.
The OBBondTyper class is designed to read in a list of bond typing rules and apply them to molecules. It is
called from the OBMol::PerceiveBondOrders() method.
OBBondTyper ( )
~OBBondTyper ( )
Returns:
the size of the database (for error checking)
Referenced by OBMol::PerceiveBondOrders().
[inline,
void SetReadDirectory ( char * dir )
inherited]
Set the directory before calling Init().
The documentation for this class was generated from the following files:
• bondtyper.h
• bondtyper.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBBuilder
#include <openbabel/builder.h>
Detailed Description
Class to build 3D structures.
Since:
version 2.2
//
// code to read molecule from smiles goes here...
//
OBBuilder builder;
builder.Build(mol);
//
// code to write molecule to 3D file format goes here...
//
void LoadFragments ( )
Load fragment info from file, if is it has not already been done.
Referenced by OBBuilder::Build().
Parameters:
atom Atom for which we want a new neighbour location.
Returns:
The position for the new atom.
Parameters:
mol Molecule with the connectivity (from smiles for example). The coordinates are also changed in
this mol.
Parameters:
mol The molecule to be modified
a Index for atom in fragment that should not be rotated.
Returns:
true if succesful or fails when failed (most likely cause for failing: a and b are in the same fragment,
they are connected)
Parameters:
mol The molecule to be modified
a Index for atom in fragment that should not be rotated.
b Index for atom in fragment that should be rotated.
bondOrder Bond order of the new bond bewtween a and b.
Returns:
true if succesfull or fails when failed (most likely cause for failing: a and b are in the same fragment,
they are connected)
OBMol
bool Swap ( mol,
&
int a,
int b,
int c,
int d
) [static]
Swap group b, bonded to a with group d, bonded to c. The bonds a-b and b-c cannot be part of a ring. Atoms a
and b will not be moved. Atoms b, d and their connected atoms (after deleting bonds ab and cd) will be
translated/rotated.
Example:
\ / /
b d
\ / Swap(a,b,c,d) \ /
a---x ----> a---x
/ \ / / \ /
x c---d x c---b
This function can also be used to invert chiral centers if a and c are the same atom.
Example
1 3
| Swap(C,1,C,3) |
2>-C-<3 -----> 2>-C-<1
| |
4 4
Referenced by OBBuilder::CorrectStereoAtoms().
OBMol
void CorrectStereoBonds ( mol ) [static]
&
Atoms a and b must be bonded and this bond cannot be part of a ring. The bond will be broken and the smiles
fragment will be inserted bewteen the two remaining fragments. The fragment that contains a will not be
translated or rotated. Parameters c and d are the index in the smiles to which atoms a and b will be connected
respectivly.
Currently only corrects double bond chemistry comming from smiles. (OBBond::IsUp() /
OBBond::IsDown())
Referenced by OBBuilder::Build().
OBMol
void CorrectStereoAtoms ( mol ) [static]
&
Currently only corrects atom chirality comming from smiles. (OBAtom::IsClockwize() /
OBBond::IsAntiClockwise())
Referenced by OBBuilder::Build().
Parameters:
atom Atom in the fragment.
Returns:
The OBBitVec defining the fragment to which a belongs.
) [static]
Referenced by OBBuilder::GetFragment().
The documentation for this class was generated from the following files:
• builder.h
• builder.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OBChainsParser(void) OBChainsParser
PerceiveChains(OBMol &mol, bool nukeSingleResidue=false) OBChainsParser
~OBChainsParser(void) OBChainsParser
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBChainsParser
#include <openbabel/chains.h>
Detailed Description
Perceives peptide or nucleotide chains and residues in an OBMol.
Perceive peptide or nucleotide chains and residues from atom connectivity. Based on original RasMol code by
Roger Sayle and modified by Joe Corkery. For more on Roger's original talk, see:
http://www.daylight.com/meetings/mug96/sayle/sayle.html
OBChainsParser ( void )
~OBChainsParser ( void )
Parameters:
mol - the molecule to parse and update
nukeSingleResidue - if only one residue is found, clear information default = false -- single residue
files should still be recognized.
Referenced by OBAtom::GetResidue().
The documentation for this class was generated from the following files:
• chains.h
• chains.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBChemTsfm
#include <openbabel/phmodel.h>
Detailed Description
SMARTS based structural modification (chemical transformation).
Transformation of chemical structures can be used for pH value correction (i.e. via OBPhModel and
OBMol::CorrectForPH()). The OBChemTsfm class defines SMARTS based TRANSFORM patterns to delete
atoms, change atom types, atom formal charges, and bond types.
For storing and converting chemical reaction files, use the OBReaction class.
OBChemTsfm ( ) [inline]
~OBChemTsfm ( ) [inline]
std::string
bool Init ( start,
&
std::string
end
&
)
Initialize this transformation with the supplied SMARTS patterns.
Referenced by OBPhModel::ParseLine().
bool IsAcid ( )
Is this transformation an acid dissociation?
Ka
HA ----> A(-) (the H(+) will be deleted)
Returns:
true if the charge is less than 0 (-1).
bool IsBase ( )
Is this a transformation to the conjugated acid from a base?
Ka
HA ----> A(-) (the H(+) will be deleted)
Returns:
true if the charge is higher than 0 (+1).
The documentation for this class was generated from the following files:
• phmodel.h
• phmodel.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBChiralData
#include <openbabel/generic.h>
[legend]
Protected Attributes
std::vector< unsigned int > _atom4refs
std::vector< unsigned int > _atom4refo
std::vector< unsigned int > _atom4refc
int parity
std::string _attr
unsigned int _type
DataOrigin _source
Friends
class OBMol
class OBAtom
Detailed Description
Used to hold chiral inforamtion about the atom as OBGenericData.
OBChiralData ( )
~OBChiralData ( ) [inline]
Referenced by OBMol::operator=().
Returns:
a vector of all 4 atom references of type t
Friends 285
Open Babel: API Documentation
Returns:
the atom reference specified by a of type t
Referenced by OBMol::GetNextFragment().
Referenced by OpenBabel::CalcSignedVolume().
Referenced by OBMol::GetNextFragment().
Returns:
the size of the atom references of a given type t
Referenced by OBMol::GetNextFragment().
[inline,
void SetAttribute ( const std::string & v )
inherited]
Set the attribute (key), which can be used to retrieve this data.
[inline,
void SetOrigin ( const DataOrigin s )
inherited]
Set the origin of this data, which can be used to filter the data.
Returns:
The attribute (key), which can be used to retrieve this data
Referenced by OBMoleculeFormat::MakeCombinedMolecule().
Returns:
the data type for this object as defined in OBGenericDataType
The documentation for this class was generated from the following files:
• generic.h
• generic.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBCommentData
#include <openbabel/generic.h>
[legend]
Protected Attributes
std::string _data
std::string _attr
unsigned int _type
DataOrigin _source
Detailed Description
Used to store a comment string (can be multiple lines long).
OBCommentData ( )
[inline,
void SetAttribute ( const std::string & v )
inherited]
Set the attribute (key), which can be used to retrieve this data.
[inline,
void SetOrigin ( const DataOrigin s )
inherited]
Set the origin of this data, which can be used to filter the data.
Returns:
The attribute (key), which can be used to retrieve this data
Referenced by OBMoleculeFormat::MakeCombinedMolecule().
Returns:
the data type for this object as defined in OBGenericDataType
The documentation for this class was generated from the following files:
• generic.h
• generic.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
[inline,
~OBGenericData() OBGenericData
virtual]
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBConformerData
#include <openbabel/generic.h>
[legend]
Protected Attributes
std::vector< unsigned short > _vDimension
std::vector< double > _vEnergies
std::vector< std::vector
< vector3 > > _vForces
std::vector< std::vector
< vector3 > > _vVelocity
std::vector< std::vector
< vector3 > > _vDisplace
std::vector< std::string > _vData
std::string _attr
unsigned int _type
DataOrigin _source
Detailed Description
Used to hold data on conformers or geometry optimization steps.
Supplements the support for multiple coordinate sets in OBMol, e.g., OBMol::GetConformer()
OBConformerData ( )
~OBConformerData ( ) [inline]
Referenced by OBForceField::GetCoordinates().
std::vector<
void SetVelocities ( std::vector< vv ) [inline]
vector3 > >
[inline,
void SetAttribute ( const std::string & v )
inherited]
Set the attribute (key), which can be used to retrieve this data.
[inline,
void SetOrigin ( const DataOrigin s )
inherited]
Set the origin of this data, which can be used to filter the data.
Returns:
The attribute (key), which can be used to retrieve this data
Referenced by OBMoleculeFormat::MakeCombinedMolecule().
Returns:
the data type for this object as defined in OBGenericDataType
Referenced by OBConformerData::operator=().
Referenced by OBConformerData::operator=().
Referenced by OBConformerData::operator=().
Referenced by OBConformerData::operator=().
Referenced by OBConformerData::operator=().
Referenced by OBConformerData::operator=().
The documentation for this class was generated from the following files:
• generic.h
• generic.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBConversion
#include <openbabel/obconversion.h>
[legend]
Option handling
enum Option_type { INOPTIONS, OUTOPTIONS, GENOPTIONS, ALL }
const char * IsOption (const char *opt, Option_type opttyp=OUTOPTIONS)
const std::map< std::string,
std::string > * GetOptions (Option_type opttyp)
void AddOption (const char *opt, Option_type opttyp=OUTOPTIONS, const char
*txt=NULL)
bool RemoveOption (const char *opt, Option_type optype)
void SetOptions (const char *options, Option_type opttyp)
static void RegisterOptionParam (std::string name, OBFormat *pFormat, int
numberParams=0, Option_type typ=OUTOPTIONS)
static int GetOptionParams (std::string name, Option_type typ)
Convenience functions
bool Write (OBBase *pOb, std::ostream *pout=NULL)
std::string WriteString (OBBase *pOb, bool trimWhitespace=false)
bool WriteFile (OBBase *pOb, std::string filePath)
void CloseOutFile ()
bool Read (OBBase *pOb, std::istream *pin=NULL)
bool ReadString (OBBase *pOb, std::string input)
bool ReadFile (OBBase *pOb, std::string filePath)
bool OpenInAndOutFiles (std::string infilepath, std::string outfilepath)
void ReportNumberConverted (int count, OBFormat *pFormat=NULL)
static OBFormat * GetDefaultFormat ()
static std::string BatchFileName (std::string &BaseName, std::string &InFile)
static std::string IncrementedFileName (std::string &BaseName, const int Count)
static bool CheckForUnintendedBatch (const std::string &infile, const std::string &outfile)
void InstallStreamFilter ()
Protected Types
typedef std::map< std::string,
int > OPAMapType
typedef
FilteringInputStreambuf
< LineEndingExtractor > LErdbuf
Protected Attributes
std::string InFilename
std::istream * pInStream
std::ostream * pOutStream
OBFormat * pInFormat
OBFormat * pOutFormat
std::map< std::string,
std::string > OptionsArray [3]
int Index
unsigned int StartNumber
unsigned int EndNumber
int Count
bool m_IsFirstInput
bool m_IsLast
bool MoreFilesToCome
bool OneObjectOnly
bool ReadyToInput
bool CheckedForGzip
bool NeedToFreeInStream
Detailed Description
Class to convert from one format to another.
OBConversion maintains a list of the available formats, provides information on them, and controls the
conversion process.
A conversion is carried out by the calling routine, usually in a user interface or an application program,
making an instance of OBConversion. It is loaded with the in and out formats, any options and (usually) the
default streams for input and output. Then either the Convert() function is called, which allows a single input
file to be converted, or the extended functionality of FullConvert() is used. This allows multiple input and
output files, allowing:
• aggregation - the contents of many input files converted and sent to one output file;
• splitting - the molecules from one input file sent to separate output files;
• batch conversion - each input file converted to an output file.
These procedures constitute the "Convert" interface. OBConversion and the user interface or application
program do not need to be aware of any other part of OpenBabel - mol.h is not #included. This allows any
chemical object derived from OBBase to be converted; the type of object is decided by the input format class.
However,currently, almost all the conversions are for molecules of class OBMol. / OBConversion can also be
used with an "API" interface called from programs which manipulate chemical objects. Input/output is done
with the Read() and Write() functions which work with any chemical object, but need to have its type
specified. (The ReadMolecule() and WriteMolecule() functions of the format classes can also be used
directly.)
Set up an istream and an ostream, to and from files or elsewhere. (cin and cout are used in the example).
Specify the file formats.
conv->Write(&mol);
}
A two stage construction is used to allow error handling if the format ID is not recognized. This is necessary
now that the formats are dynamic and errors are not caught at compile time. OBConversion::Read() is a
templated function so that objects derived from OBBase can also be handled, in addition to OBMol, if the
format routines are written appropriately.
std::string SmilesString;
OBMol mol;
stringstream ss(SmilesString)
OBConversion conv(&ss);
if(conv.SetInFormat("smi") && conv.Read(&mol))
// ...
The existing program inputs from the file identified by the const char* filename into the istream is. The file is
assumed to have a format ORIG, but other formats, identified by their file extensions, can now be used.
OBConversion conv;
OBFormat* inFormat = conv.FormatFromExt(filename);
OBFormat* outFormat = conv.GetFormat("ORIG");
istream* pIn = &ifs;
stringstream newstream;
if(inFormat && outFormat)
{
conv.SetInAndOutFormats(inFormat,outFormat);
conv.Convert(pIn,&newstream);
pIn=&newstream;
}
//else error; new features not available; fallback to original functionality
In certain Windows builds, a degree of independence from OpenBabel can be achieved using DLLs. This code
would be linked with obconv.lib. At runtime the following DLLs would be in the executable directory:
obconv.dll, obdll.dll, one or more *.obf format files.
enum Option_type
Three types of options set on the the command line by -a? , -x? , or -?
Enumerator:
INOPTIONS
OUTOPTIONS
GENOPTIONS
ALL
~OBConversion ( ) [virtual]
) [static]
Called once by each format class.
Class information on formats is collected by making an instance of the class derived from OBFormat(only one
is usually required). RegisterFormat() is called from its constructor.
If the compiled format is stored separately, like in a DLL or shared library, the initialization code makes an
instance of the imported OBFormat class.
Referenced by OBConversion::OpenAndSetFormat().
Formatpos
bool GetNextFormat ( itr,
&
const char
str,
*&
OBFormat
pFormat
*&
) [static]
Deprecated!.Repeatedly called to recover available Formats.
const
std::istream* GetInStream ( )
[inline]
const
std::ostream* GetOutStream ( )
[inline]
Referenced by OBConversion::FullConvert().
Referenced by OBConversion::FullConvert().
Sets the formats from their ids, e g CML. If inID is NULL, the input format is left unchanged. Similarly for
outID Returns true if both formats have been successfully set at sometime
Referenced by OBConversion::SetInAndOutFormats().
Referenced by OBMoleculeFormat::OutputDeferredMols().
const
std::streampos GetInPos ( )
[inline]
Get the position in the input stream of the object being read.
Returns:
a default title which is the filename
Returns:
NULL if option not and a pointer to the associated text if it is
)
Set an option of specified type, with optional text.
Returns:
the number of parameters registered for the option, or 0 if not found
int Convert ( )
Conversion with existing streams.
Actions the "convert" interface. Calls the OBFormat class's ReadMolecule() which
AddChemObject does not save the object passed to it if it is NULL (as a result of a DoTransformation()) or if
the number of the object is outside the range defined by StartNumber and EndNumber.This means the start
and end counts apply to all chemical objects found whether or not they are output.
std::vector<
int FullConvert ( FileList,
std::string > &
std::string & OutputFileName,
std::vector<
OutputFileList
std::string > &
)
Conversion with multiple input/output files: makes input and output streams, and carries out normal, batch,
aggregation, and splitting conversion.
Makes input and output streams, and carries out normal, batch, aggregation, and splitting conversion.
Normal Done if FileList contains a single file name and OutputFileName does not contain a *.
Aggregation Done if FileList has more than one file name and OutputFileName does not contain * . All the
chemical objects are converted and sent to the single output file.
Splitting Done if FileList contains a single file name and OutputFileName contains a * . Each chemical object
in the input file is converted and sent to a separate file whose name is OutputFileName with the replaced by 1,
2, 3, etc. OutputFileName must have at least one character other than the * before the extension. For example,
if OutputFileName is NEW*.smi then the output files are NEW1.smi, NEW2.smi, etc.
Batch Conversion Done if FileList has more than one file name and contains a * . Each input file is converted
to an output file whose name is OutputFileName with the * replaced by the inputfile name without its path
and extension. So if the input files were inpath/First.cml, inpath/Second.cml and OutputFileName was
NEW*.mol, the output files would be NEWFirst.mol, NEWSecond.mol.
If FileList is empty, the input stream that has already been set (usually in the constructor) is used. If
OutputFileName is empty, the output stream already set is used.
Called by ReadMolecule() to deliver an object it has read from an input stream. Used in two modes:
• When Count is negative it is left negative and the routine is just a store for an OBBase object. The
negative value returned tells the calling routine that no more objects are required.
• When count is >=0, probably set by Convert(), it acts as a queue of 2: writing the currently stored
value before accepting the supplied one. This delay allows output routines to respond differently
when the written object is the last. Count is incremented with each call, even if pOb=NULL. Objects
are not added to the queue if the count is outside the range StartNumber to EndNumber. There is no
upper limit if EndNumber is zero. The return value is Count ((>0) or 0 if WriteChemObject returned
false.
Referenced by OBMoleculeFormat::ReadChemObjectImpl().
OBBase * GetChemObject ( )
Retrieve from internal array during output.
Referenced by OBMoleculeFormat::WriteChemObjectImpl().
bool IsLast ( )
True if no more objects to be output.
Reimplemented in XMLConversion.
bool IsFirstInput ( )
True if the first input object is being processed.
b=
void SetFirstInput ( bool )
true
Setwhether or not is the first input.
Returns the number of objects which have been output or are currently being output. The outputindex is
incremented when an object for output is fetched by GetChemObject(). So the function will return 1 if called
from WriteMolecule() during output of the first object.
Referenced by XMLConversion::GetOutputIndex().
void SetMoreFilesToCome ( )
Used with multiple input files. Off by default.
Referenced by OBConversion::FullConvert().
Part of "API" interface. The output stream can be specified and the change is retained in the OBConversion
instance
Writes the object pOb but does not delete it afterwards. The output stream is lastingly changed if pos is not
NULL Returns true if successful.
Part of "API" interface. The output stream is temporarily changed to the string and then restored This method
is primarily intended for scripting languages without "stream" classes The optional "trimWhitespace"
parameter allows trailing whitespace to be removed (e.g., in a SMILES string or InChI, etc.)
Writes the object pOb but does not delete it afterwards. The output stream not changed (since we cannot write
to this string later) Returns true if successful.
Part of "API" interface. The output stream is changed to the supplied file and the change is retained in the
OBConversion instance. This method is primarily intended for scripting languages without "stream" classes
Writes the object pOb but does not delete it afterwards. The output stream is lastingly changed to point to the
file Returns true if successful.
void CloseOutFile ( )
Manually closes and deletes the output stream The file is closed anyway when in the OBConversion
destructor or when WriteFile is called again.
Since:
version 2.1
Part of "API" interface. The input stream can be specified and the change is retained in the OBConversion
instance
Returns:
false and pOb=NULL on error
Part of "API" interface. The input stream can be specified and the change is retained in the OBConversion
instance
Returns:
NULL on error Part of "API" interface.
false and pOb=NULL on error This method is primarily intended for scripting languages without
"stream" classes
Part of "API" interface. The output stream is changed to the supplied file and the change is retained in the
OBConversion instance.
Returns:
false and pOb=NULL on error This method is primarily intended for scripting languages without
"stream" classes
call to Convert()
Returns:
false if unsucessful.
Referenced by OBConversion::FullConvert().
Referenced by OBConversion::FullConvert().
Referenced by OBConversion::FullConvert().
Referenced by OBConversion::Convert().
Referenced by OBConversion::OBConversion().
Referenced by OBConversion::FullConvert().
Referenced by OBConversion::OBConversion().
The documentation for this class was generated from the following files:
• obconversion.h
• obconversion.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBDescriptor
#include <openbabel/descriptor.h>
[legend]
Public Types
typedef std::map< const char
*, OBPlugin *, CharPtrLess > PluginMapType
typedef
PluginMapType::const_iterator PluginIterator
Protected Attributes
const char * _id
Detailed Description
Base class for molecular properties, descriptors or features.
Since:
version 2.2
On the command line, using the option --filter filter-string converts only those molecules which meet the
criteria specified in the filter-string. This is useful to select particular molecules from a set. It is used like:
babel dataset.sdf outfile.smi --filter "MW>200 SMARTS!=c1ccccc1
PUBCHEM_CACTVS_ROTATABLE_BOND<5"
The filter-string is interpreted by a static function of OBDescriptor, FilterCompare(). This identifies the
descriptor IDs and then calls a virtual function, Compare(), of each OBDescriptor class to interpret the rest of
relational expression, for example, ">200", or "=c1ccccc1". The default version of Compare() is suitable for
descriptors, like MW or logP, which return a double from their Predict() method. Classes like SMARTS
which need different semantics provide their own.
By default, as in the example, OBDescriptor::FilterCompare() would AND each comparison so that all the
comparisons must be true for the test to succeed. However filter-string could also be a full boolean expression,
with &, |, !, and parenthases allowing any combination of features to be selected. FilterCompareAs calls itself
recursively to give AND precidence over OR and evaluation is not carried out if not needed.
The aim has been to make interpretation of the filter-string as liberal as possible, so that AND can be &&,
there can be spaces or commas in places that are reasonable.
The base class, OBDescriptor, uses pointers to OBBase in its functions, like OBFormat, to improve
extendability - reactions could have features too. It does mean that a dynamic_cast is needed at the start of the
Predict(OBBase* pOb) functions.
To use a particular descriptor, like logP, when programming with the API, use code like the following:
To add the descriptor ID and the predicted data to OBPairData attached to the object, use PredictAndSave().
This facility can be called from the command line.Use the option --add "descriptor list", which will add the
requested descriptors to the molecule. They are then visible as properties in SDF and CML formats. The IDs
in the list can be separated by spaces or punctuation characters. All Descriptors will provide an output value
as a string through a virtual function GetStringValue((OBBase* pOb, string& svalue)) which assigns the
value of a string descriptor(like inchi) to svalue or a string representation of a numerical property like logP.
The classes MWFilter and TitleFilter illustrate the code that has to be provided for numerical and
non-numerical descriptors.
[inline,
virtual double Predict ( OBBase * pOb )
virtual]
Returns:
the value of a numeric descriptor
Reimplemented in OBGroupContrib.
Returns:
the value of the descriptor and adds it to the object's OBPairData
Referenced by OBDescriptor::AddProperties().
Compare() is a virtual function and can be overridden to allow different comparison behaviour. The default
implementation here is suitable for OBDescriptor classes which return a double value. The stringstream is
parsed to retrieve a comparison operator, one of > < >= <= = == != , and a numerical value. The function
compares this the value returned by Predict() and returns the result. The stringstream is left after the number,
and its state reflects whether any errors have occurred. If noEval is true, the parsing is as normal but Predict is
Referenced by OBDescriptor::FilterCompare().
The string has the form: PropertyID1 predicate1 [booleanOp] PropertyID2 predicate2 ... The propertyIDs are
the ID of instances of a OBDescriptor class or the Attributes of OBPairData, and contain only letters, numbers
and underscores. The predicates must start with a punctuation character and are interpreted by the Compare
function of the OBDescriptor class. The default implementation expects a comparison operator and a number,
e.g. >=1.3 Whitespace is optional and is ignored. Each predicate and this OBBase object (usually OBMol) is
passed to the Compare function of a OBDescriptor. The result of each comparison is combined in a boolean
expression (which can include parentheses) in the normal way. The AND operator can be & or &&, the OR
operator can be | or ||, and a unitary NOT is ! The expected operator precedence is achieved using recursive
calls of the function. If there is no boolean Op, all the tests have to return true for the function to return true,
i.e. the default is AND. If the first operand of an AND is 0, or of an OR is 1, the parsing of the second operand
continues but no comparisons are done since the result does not matter.
Referenced by OBMol::DoTransformations().
Referenced by OBMol::DoTransformations().
Referenced by OBMol::DoTransformations().
Referenced by OBMol::DoTransformations().
Referenced by OBDescriptor::FilterCompare().
Returns:
false if != operator found, and true otherwise.
On entry the stringstream position should be just after the ID. On exit it is after the string. If there is an error,
the stringstream badbit is set. Returns false if != found, to indicate negation. Can be of any of the following
forms: mystring =mystring ==mystring [must be terminated by a space or tab] "mystring" 'mystring'
="mystring" ='mystring' [mystring can contain spaces or tabs] !=mystring !="mystring" [Returns false
indicating negate] There can be spaces or tabs after the operator = == !=
Referenced by OBDescriptor::ParsePredicate().
Returns:
the result of the comparison and true if NoCompOK==true and there is no comparison operator.
Referenced by OBDescriptor::FilterCompare().
Returns:
true if s (with or without _ replaced by spaces) is a PairData attribute. On return s is the form which
matches.
Referenced by OBConversion::LoadFormatFiles().
Referenced by OBConversion::LoadFormatFiles().
Referenced by OBPlugin::ListAsString().
[inline, static,
static PluginIterator Begin ( const char * PluginID )
inherited]
Return an iterator at the start of the map of the plugin types PluginID or, if there is no such map, the end of the
top level plugin map.
Referenced by OBFormat::RegisterFormat().
Referenced by OBFormat::RegisterFormat().
The documentation for this class was generated from the following files:
• descriptor.h
• descriptor.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
OpenBabel::OBElement
#include <openbabel/data.h>
Detailed Description
Individual element data type.
OBElement ( ) [inline]
Deprecated:
Not used. Instead, initialize element properties
double ARENeg,
double rcov,
double rvdw,
int maxbo,
double mass,
double elNeg,
double ionize,
double elAffin,
double red,
double green,
double blue,
std::string name
) [inline]
Constructor
Parameters:
num Atomic number
sym Elemental symbol (maximum 3 characters)
ARENeg Allred-Rochow electronegativity
rcov Covalent radius (in Angstrom)
rvdw van der Waals radius (in Angstrom)
maxbo Maximum bonding valence
mass Atomic mass (in amu)
elNeg Electronegativity (in Pauling units)
ionize Ionization potential (in eV)
elAffin Electron affinity (in eV)
red RGB value for a suggest visualization color (0 .. 1)
green RGB value for a suggest visualization color (0 .. 1)
blue RGB value for a suggest visualization color (0 .. 1)
name Full IUPAC name
Returns:
the atomic number of this element
Returns:
the atomic symbol for this element
Returns:
the covalent radius of this element
Returns:
the van der Waals radius of this element
Returns:
the standard atomic mass for this element (in amu)
Returns:
the maximum expected number of bonds to this element
Returns:
the Pauling electronegativity for this element
Returns:
the Allred-Rochow electronegativity for this element
Returns:
the ionization potential (in eV) of this element
Returns:
the electron affinity (in eV) of this element
Returns:
the name of this element (in English)
Returns:
the red component of this element's default visualization color
Returns:
the green component of this element's default color
Returns:
the blue component of this element's default color
The documentation for this class was generated from the following file:
• data.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBElementTable
#include <openbabel/data.h>
[legend]
Protected Attributes
bool _init
const char * _dataptr
std::string _filename
std::string _dir
std::string _subdir
std::string _envvar
Detailed Description
Periodic Table of the Elements.
Translating element data is a common task given that many file formats give either element symbol or atomic
number information, but not both. The OBElementTable class facilitates conversion between textual and
numeric element information. An instance of the OBElementTable class (etab) is declared as external in
data.cpp. Source files that include the header file mol.h automatically have an extern definition to etab. The
following code sample demonstrates the use of the OBElementTable class:
cout << "The symbol for element 6 is " << etab.GetSymbol(6) << endl;
cout << "The atomic number for Sulfur is " << etab.GetAtomicNum(16) << endl;
cout << "The van der Waal radius for Nitrogen is " << etab.GetVdwRad(7);
• symbols
• covalent radii
• van der Waal radii
• expected maximum bonding valence
• molar mass (by IUPAC recommended atomic masses)
• electronegativity (Pauling and Allred-Rochow)
• ionization potential
• electron affinity
• RGB colors for visualization programs
• names (by IUPAC recommendation)
OBElementTable ( void )
~OBElementTable ( )
Returns:
the number of elements in the periodic table
Returns:
the number of elements in the periodic table
const
int GetAtomicNum ( char sym )
*
Deprecated:
Does not properly handle 'D' or 'T' hydrogen isotopes
Referenced by AliasData::Expand().
Returns:
the atomic number matching the element symbol passed or 0 if not defined. For 'D' or 'T' hydrogen
isotopes, will return a value in the second argument
Returns:
the element symbol matching the atomic number passed
Returns:
the van der Waals radius for this atomic number
Returns:
the covalent radius for this atomic number
Referenced by OBMol::ConnectTheDots().
Returns:
the average atomic mass for this element. For exact isotope masses, use OpenBabel::OBIsotopeTable
Returns:
a "corrected" bonding radius based on the hybridization. Scales the covalent radius by 0.95 for sp2
and 0.90 for sp hybrids
Returns:
a "corrected" vdW radius based on the hybridization. Scales the van der Waals radius by 0.95 for sp2
and 0.90 for sp hybrids
Returns:
the maximum expected number of bonds to this element
Returns:
the Pauling electronegativity for this element
Referenced by OBMol::PerceiveBondOrders().
Returns:
the Allred-Rochow electronegativity for this element
Returns:
the ionization potential (in eV) for this element
Returns:
the electron affinity (in eV) for this element
Returns:
a vector with red, green, blue color values for this element
Returns:
the name of this element
[inline,
void SetReadDirectory ( char * dir )
inherited]
Set the directory before calling Init().
The documentation for this class was generated from the following files:
• data.h
• data.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
OpenBabel::OBError
#include <openbabel/oberror.h>
Protected Attributes
std::string _method
std::string _errorMsg
std::string _explanation
std::string _possibleCause
std::string _suggestedRemedy
obMessageLevel _level
Friends
std::ostream & operator<< (std::ostream &os, const OBError &er)
Detailed Description
Customizable error handling and logging -- store a message, including the method yielding the error, causes,
etc.
Returns:
A formatted message string, including optional explanations, etc.
Referenced by OBMessageHandler::GetMessagesOfLevel().
const
std::string GetMethod ( )
[inline]
Returns:
The method which caused this error (typically supplied via the __FUNCTION__ compiler macro
const
std::string GetError ( )
[inline]
Returns:
The main error message
Referenced by OBError::operator==().
Returns:
A more detailed explanation of the error (optional)
Returns:
A possible cause for the error (optional)
const
std::string GetSuggestedRemedy ( )
[inline]
Returns:
The suggested workaround or remedy for the error (optional)
Returns:
The severity level of this error
std::ostream
std::ostream& operator<< ( os,
&
const
er
OBError &
) [friend]
Output a formatted message string.
Referenced by OBError::message().
Referenced by OBError::message().
Referenced by OBError::message().
Referenced by OBError::message().
Referenced by OBError::message().
Referenced by OBError::message().
The documentation for this class was generated from the following files:
• oberror.h
• oberror.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBExternalBond
#include <openbabel/generic.h>
Detailed Description
Used to store information on an external bond (e.g., SMILES fragments).
OBExternalBond ( ) [inline]
~OBExternalBond ( ) [inline]
const
OBAtom* GetAtom ( )
[inline]
The documentation for this class was generated from the following files:
• generic.h
• generic.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBExternalBondData
#include <openbabel/generic.h>
[legend]
Protected Attributes
std::vector< OBExternalBond > _vexbnd
std::string _attr
unsigned int _type
DataOrigin _source
Detailed Description
Used to store information on external bonds (e.g., in SMILES fragments).
OBExternalBondData ( )
[inline,
void SetAttribute ( const std::string & v )
inherited]
Set the attribute (key), which can be used to retrieve this data.
[inline,
void SetOrigin ( const DataOrigin s )
inherited]
Set the origin of this data, which can be used to filter the data.
Returns:
The attribute (key), which can be used to retrieve this data
Referenced by OBMoleculeFormat::MakeCombinedMolecule().
Returns:
the data type for this object as defined in OBGenericDataType
Referenced by OBExternalBondData::SetData().
The documentation for this class was generated from the following files:
• generic.h
• generic.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
a OBFFCalculation2
b OBFFCalculation2
energy OBFFCalculation2
force_a OBFFCalculation2
force_b OBFFCalculation2
idx_a OBFFCalculation2
idx_b OBFFCalculation2
pos_a OBFFCalculation2
pos_b OBFFCalculation2
SetupPointers() OBFFCalculation2 [inline, virtual]
~OBFFCalculation2() OBFFCalculation2 [inline, virtual]
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBFFCalculation2
#include <openbabel/forcefield.h>
[legend]
Public Member
Functions
virtual ~OBFFCalculation2 ()
virtual void SetupPointers ()
Public Attributes
double energy
OBAtom * a
OBAtom * b
int idx_a
int idx_b
double * pos_a
double * pos_b
double force_a [3]
double force_b [3]
Detailed Description
Internal class for OBForceField to hold energy and gradient calculations on specific force fields.
Returns:
Setup pointers to atom positions and forces (To be called while setting up calculations). Sets
optimized to true.
double energy
Used to store the energy for this OBFFCalculation.
OBAtom* a
Used to store the atoms for this OBFFCalculation.
OBAtom * b
int idx_a
Used to store the index of atoms for this OBFFCalculation.
int idx_b
double* pos_a
Pointer to atom coordinates as double[3].
double * pos_b
double force_a[3]
Pointer to atom forces.
double force_b[3]
The documentation for this class was generated from the following file:
• forcefield.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
a OBFFCalculation2
b OBFFCalculation2
c OBFFCalculation3
energy OBFFCalculation2
force_a OBFFCalculation2
force_b OBFFCalculation2
force_c OBFFCalculation3
idx_a OBFFCalculation2
idx_b OBFFCalculation2
idx_c OBFFCalculation3
pos_a OBFFCalculation2
pos_b OBFFCalculation2
pos_c OBFFCalculation3
SetupPointers() OBFFCalculation3 [inline, virtual]
~OBFFCalculation2() OBFFCalculation2 [inline, virtual]
~OBFFCalculation3() OBFFCalculation3 [inline, virtual]
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBFFCalculation3
#include <openbabel/forcefield.h>
[legend]
Public Member
Functions
virtual ~OBFFCalculation3 ()
virtual void SetupPointers ()
Public Attributes
OBAtom * c
int idx_c
double * pos_c
double force_c [3]
double energy
OBAtom * a
OBAtom * b
int idx_a
int idx_b
double * pos_a
double * pos_b
double force_a [3]
double force_b [3]
Detailed Description
Internal class for OBForceField to hold energy and gradient calculations on specific force fields.
Returns:
Setup pointers to atom positions and forces (To be called while setting up calculations). Sets
optimized to true.
Reimplemented in OBFFCalculation4.
OBAtom* c
Used to store the atoms for this OBFFCalculation.
int idx_c
Used to store the index of atoms for this OBFFCalculation.
double* pos_c
Pointer to atom coordinates as double[3].
double force_c[3]
Pointer to atom forces.
OBAtom* a [inherited]
OBAtom * b [inherited]
The documentation for this class was generated from the following file:
• forcefield.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
a OBFFCalculation2
b OBFFCalculation2
c OBFFCalculation3
d OBFFCalculation4
energy OBFFCalculation2
force_a OBFFCalculation2
force_b OBFFCalculation2
force_c OBFFCalculation3
force_d OBFFCalculation4
idx_a OBFFCalculation2
idx_b OBFFCalculation2
idx_c OBFFCalculation3
idx_d OBFFCalculation4
pos_a OBFFCalculation2
pos_b OBFFCalculation2
pos_c OBFFCalculation3
pos_d OBFFCalculation4
SetupPointers() OBFFCalculation4 [inline, virtual]
~OBFFCalculation2() OBFFCalculation2 [inline, virtual]
~OBFFCalculation3() OBFFCalculation3 [inline, virtual]
~OBFFCalculation4() OBFFCalculation4 [inline, virtual]
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBFFCalculation4
#include <openbabel/forcefield.h>
[legend]
Public Member
Functions
virtual ~OBFFCalculation4 ()
void SetupPointers ()
Public Attributes
OBAtom * d
int idx_d
double * pos_d
double force_d [3]
OBAtom * c
int idx_c
double * pos_c
double force_c [3]
double energy
OBAtom * a
OBAtom * b
int idx_a
int idx_b
double * pos_a
double * pos_b
double force_a [3]
double force_b [3]
Detailed Description
Internal class for OBForceField to hold energy and gradient calculations on specific force fields.
Returns:
Setup pointers to atom positions and forces (To be called while setting up calculations). Sets
optimized to true.
OBAtom* d
Used to store the atoms for this OBFFCalculation.
int idx_d
Used to store the index of atoms for this OBFFCalculation.
double* pos_d
Pointer to atom coordinates as double[3].
double force_d[3]
Pointer to atom forces.
OBAtom* c [inherited]
Used to store the atoms for this OBFFCalculation.
OBAtom* a [inherited]
Used to store the atoms for this OBFFCalculation.
OBAtom * b [inherited]
The documentation for this class was generated from the following file:
• forcefield.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
a OBFFConstraint
b OBFFConstraint
c OBFFConstraint
constraint_value OBFFConstraint
d OBFFConstraint
factor OBFFConstraint
GetGradient(int a) OBFFConstraint [inline]
grada OBFFConstraint
gradb OBFFConstraint
gradc OBFFConstraint
gradd OBFFConstraint
ia OBFFConstraint
ib OBFFConstraint
ic OBFFConstraint
id OBFFConstraint
OBFFConstraint() OBFFConstraint [inline]
rab0 OBFFConstraint
rbc0 OBFFConstraint
type OBFFConstraint
~OBFFConstraint() OBFFConstraint [inline]
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
OpenBabel::OBFFConstraint
#include <openbabel/forcefield.h>
Public Member
Functions
OBFFConstraint ()
~OBFFConstraint ()
vector3 GetGradient (int a)
Public Attributes
double factor
double constraint_value
double rab0
double rbc0
int type
int ia
int ib
int ic
int id
OBAtom * a
OBAtom * b
OBAtom * c
OBAtom * d
vector3 grada
vector3 gradb
vector3 gradc
vector3 gradd
Detailed Description
Internal class for OBForceField to hold constraints.
Since:
version 2.2
OBFFConstraint ( ) [inline]
Constructor.
~OBFFConstraint ( ) [inline]
Destructor.
double factor
Used to store the contraint energy for this OBFFConstraint.
double constraint_value
double rab0
double rbc0
int type
Used to store the contraint type for this OBFFConstraint.
int ia
int ib
int ic
int id
Referenced by OBFFConstraints::AddTorsionConstraint().
OBAtom* a
Used to store the atoms for this OBFFCostraint.
OBAtom * b
OBAtom * c
OBAtom * d
vector3 grada
Used to store the gradients for this OBFFCalculation.
vector3 gradb
vector3 gradc
vector3 gradd
The documentation for this class was generated from the following file:
• forcefield.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBFFConstraints
#include <openbabel/forcefield.h>
Detailed Description
Internal class for OBForceField to handle constraints.
Since:
version 2.2
OBFFConstraints ( )
Constructor.
~OBFFConstraints ( ) [inline]
Destructor.
double GetConstraintEnergy ( )
Get the constraint energy.
Referenced by OBForceField::ConjugateGradientsInitialize(),
OBForceField::ConjugateGradientsTakeNSteps(), OBForceField::LineSearch(),
OBForceField::Newton2NumLineSearch(), OBForceField::SteepestDescentInitialize(), and
OBForceField::SteepestDescentTakeNSteps().
Referenced by OBForceField::ConjugateGradientsInitialize(),
OBForceField::ConjugateGradientsTakeNSteps(), OBForceField::MolecularDynamicsTakeNSteps(), and
OBForceField::SteepestDescentTakeNSteps().
const
OBFFConstraints& operator= ( OBFFConstraints ai ) [inline]
&
Get the constrain gradient for the atom.
Translate indices to OBAtom* objects, this function is called from OBForceField::Setup, this function doesn't
have to be called from anywhere else.
int c,
int d,
double torsion
)
Constrain the torsion angle a-b-c-d.
double GetFactor ( )
Get Constraint factor.
Returns:
the number of set constraints
Referenced by OBForceField::Setup().
Returns:
the constraint type
Returns:
The constraint value, this can be a bond length, angle or torsion angle depending on the constraint
type.
Returns:
The constraint atom a (or fixed atom)
Returns:
The constraint atom b
Returns:
The constraint atom c
Returns:
The constraint atom d
Returns:
true if this atom is ignored
a atom index
Returns:
true if this atom is fixed
a atom index
Referenced by OBForceField::ConjugateGradientsInitialize(),
OBForceField::ConjugateGradientsTakeNSteps(), OBForceField::GenerateVelocities(),
OBForceField::MolecularDynamicsTakeNSteps(), and OBForceField::SteepestDescentTakeNSteps().
Returns:
true if the x coordinate for this atom is fixed
a atom index
Referenced by OBForceField::ConjugateGradientsInitialize(),
OBForceField::ConjugateGradientsTakeNSteps(), OBForceField::GenerateVelocities(), and
OBForceField::SteepestDescentTakeNSteps().
Returns:
true if the y coordinate for this atom is fixed
a atom index
Referenced by OBForceField::ConjugateGradientsInitialize(),
OBForceField::ConjugateGradientsTakeNSteps(), OBForceField::GenerateVelocities(), and
OBForceField::SteepestDescentTakeNSteps().
Returns:
true if the z coordinate for this atom is fixed
a atom index
Referenced by OBForceField::ConjugateGradientsInitialize(),
OBForceField::ConjugateGradientsTakeNSteps(), OBForceField::GenerateVelocities(), and
OBForceField::SteepestDescentTakeNSteps().
Returns:
the ignored atom indexes as bitvec. (used in OBForceField::Setup() to determine if a call to
OBForceField::SetupCalculations() is needed)
The documentation for this class was generated from the following files:
• forcefield.h
• forcefield.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
_a OBFFParameter
_b OBFFParameter
_c OBFFParameter
_d OBFFParameter
_dpar OBFFParameter
_ipar OBFFParameter
a OBFFParameter
b OBFFParameter
c OBFFParameter
clear() OBFFParameter [inline]
d OBFFParameter
operator=(const OBFFParameter &ai) OBFFParameter [inline]
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBFFParameter
#include <openbabel/forcefield.h>
Public Attributes
int a
int b
int c
int d
std::string _a
std::string _b
std::string _c
std::string _d
std::vector< int > _ipar
std::vector< double > _dpar
Detailed Description
Internal class for OBForceField to hold forcefield parameters.
const
OBFFParameter& operator= ( OBFFParameter ai ) [inline]
&
Assignment.
int a
Used to store integer atom types.
Referenced by OBFFParameter::operator=().
int b
Referenced by OBFFParameter::operator=().
int c
Referenced by OBFFParameter::operator=().
int d
Referenced by OBFFParameter::operator=().
std::string _a
used to store string atom types
Referenced by OBFFParameter::operator=().
std::string _b
Referenced by OBFFParameter::operator=().
std::string _c
Referenced by OBFFParameter::operator=().
std::string _d
Referenced by OBFFParameter::operator=().
std::vector<int> _ipar
Used to store integer type parameters (bondtypes, multiplicity, ...).
Referenced by OBFFParameter::operator=().
std::vector<double> _dpar
Used to store double type parameters (force constants, bond lengths, angles, ...).
Referenced by OBFFParameter::operator=().
The documentation for this class was generated from the following file:
• forcefield.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBFingerprint
#include <openbabel/fingerprint.h>
[legend]
Public Types
enum FptFlag { FPT_UNIQUEBITS = 1 }
typedef std::map< const char
*, OBPlugin *, CharPtrLess > PluginMapType
typedef
PluginMapType::const_iterator PluginIterator
Protected Attributes
const char * _id
Classes
struct bit_or
Function object to set bits.
Detailed Description
The base class for fingerprints.
These fingerprints are condensed representation of molecules (or other objects) as a list of boolean values
(actually bits in a vector<unsigned>) with length of a power of 2. The main motivation is for fast searching of
data sources containing large numbers of molecules (up to several million). Open Babel provides some
routines which can search text files containing lists of molecules in any format. See the documentation on the
class FastSearch.
OpenBabel provides a framework for applying new types of fingerprints without changing any existing code.
They are derived from OBFingerprint and the source file is just compiled with the rest of OpenBabel.
Alternatively, they can be separately compiled as a DLL or shared library and discovered when OpenBabel
runs.
For more on these specific implementations of fingerprints in Open Babel, please take a look at the
developer's wiki: http://openbabel.org/wiki/Fingerprints
Fingerprints derived from this abstract base class OBFingerprint can be for any object derived from OBBase
(not just for OBMol). Each derived class provides an ID as a string and OBFingerprint keeps a map of these to
provides a pointer to the class when requested in FindFingerprint.
The classes derived form OBFingerprint are required to provide a GetFingerprint() routine and a Description()
routine
if(nbits)
Fold(fp, nbits);
}
Declare a global instance with the ID you will use in -f options to specify its use.
MyFpType theMyFpType("myfpID");
-- To obtain a fingerprint --
OBMol mol;
...
vector<unsigned int> fp;
OBFingerprint::GetDefault()->GetFingerprint(&mol, fp); //gets default size of fingerprint
or
std::string id;
OBFingerPrint* pFPrt=NULL;
while(OBFingerprint::GetNextFPrt(id, pFPrt))
{
cout << id << " -- " << pFPrt->Description() << endl;
}
Fingerprints are handled as vector<unsigned int> so that the number of bits in this vector and their order will
be platform and compiler dependent, because of size of int types and endian differences. Use fingerprints (and
fastsearch indexes containing them) only for comparing with other fingerprints prepared on the same machine.
The FingerprintFormat class is an output format which displays fingerprints as hexadecimal. When multiple
molecules are supplied it will calculate the Tanimoto coefficient from the first molecule to each of the others.
It also shows whether the first molecule is a possible substructure to all the others, i.e. whether all the bits set
in the fingerprint for the first molecule are set in the fingerprint of the others. To display hexadecimal
information when multiple molecules are provided it is necessay to use the -xh option.
To see a list of available format types, type babel -F on the command line. The -xF option of the
FingerprintFormat class also provides this output, but due to a quirk in the way the program works, it is
necessary to have a valid input molecule for this option to work.
enum FptFlag
Optional flags.
Enumerator:
FPT_UNIQUEBITS
[inline,
virtual ~OBFingerprint ( )
virtual]
Returns:
fingerprint in vector, which may be resized, folded to nbits (if nbits!=0)
Returns:
a description of each bit that is set (or unset, if bSet=false)
Since:
version 2.2
Returns:
the Tanimoto coefficient between two vectors (vector<unsigned int>& SeekPositions)
static double Tanimoto ( const std::vector< unsigned int > & vec1,
const unsigned int * p2
[inline,
)
static]
Inline version of Tanimoto() taking a pointer for the second vector.
If used for two vectors, vec1 and vec2, call as Tanimoto(vec1, &vec2[0]);
[inline,
static OBFingerprint* FindFingerprint ( const char * ID )
static]
For backward compatibility; a synonym of OBFingerprint::FindType.
Returns:
a pointer to a fingerprint (the default if ID is empty), or NULL if not available
Referenced by FptIndex::CheckFP().
Write information on a plugin class to the string txt. Return false if not written. The default implementation
outputs: the ID, a tab character, and the first line of the Description. The param string can be used in derived
types to provide different outputs.
Referenced by OBDescriptor::Display().
Referenced by OBConversion::LoadFormatFiles().
Referenced by OBConversion::LoadFormatFiles().
Referenced by OBPlugin::ListAsString().
[inline, static,
static PluginIterator Begin ( const char * PluginID )
inherited]
Return an iterator at the start of the map of the plugin types PluginID or, if there is no such map, the end of the
top level plugin map.
Referenced by OBFormat::RegisterFormat().
Referenced by OBFormat::RegisterFormat().
The documentation for this class was generated from the following files:
• fingerprint.h
• fingerprint.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBFloatGrid
#include <openbabel/grid.h>
[legend]
Protected Attributes
std::vector< double > _values
int * _ival
double _midz
double _midx
double _midy
int _ydim
int _xdim
int _zdim
double _spacing
double _inv_spa
double _halfSpace
vector3 _xAxis
vector3 _yAxis
vector3 _zAxis
double _xmin
double _xmax
double _ymin
double _ymax
double _zmin
double _zmax
std::vector< OBGenericData * > _vdata
Friends
std::ostream & operator<< (std::ostream &, const OBFloatGrid &)
std::istream & operator>> (std::istream &, OBFloatGrid &)
Detailed Description
Handle double precision floating point 3D grids (e.g., charge density around an OBMol).
Supports input/output and base functionality for simple 3D discrete grids of some function -- typically around
a molecule. Typically you will want to use OBGridData which uses OBFloatGrid to store its data.
See also:
OBGridData
OBFloatGrid ( ) [inline]
~OBFloatGrid ( ) [inline]
Referenced by OBForceField::GetGrid().
Returns:
the minimum point in the grid.
Referenced by OBForceField::GetGrid().
Deprecated:
Will be removed. Use
See also:
GetMin()
Returns:
the minimum point in the grid.
Deprecated:
Will be removed.
See also:
GetMax()
const
double GetSpacing ( )
[inline]
Returns:
The grid spacing.
double
void GetSpacing ( s ) [inline]
&
Get the grid spacing.
Deprecated:
Will be removed.
See also:
GetSpacing()
Returns:
Inverse of the grid spacing.
const
double GetHalfSpace ( )
[inline]
Returns:
Half of the spacing between grid points.
Returns:
Size of the grid in the x dimension.
Referenced by OBForceField::GetGrid().
Returns:
Size of the grid in the y dimension.
Referenced by OBForceField::GetGrid().
Returns:
Size of the grid in the z dimension.
Referenced by OBForceField::GetGrid().
int
void GetDim ( a ) [inline]
*
Get the x, y and z dimensions (must pass an double[3] at least).
Deprecated:
May be removed in future.
See also:
GetXdim()
GetYdim()
GetZdim()
Returns:
Position of the center of the grid.
Returns:
X axis direction.
Returns:
Y axis direction.
Returns:
Z axis direction.
Referenced by OBFloatGrid::SetLimits().
Referenced by OBFloatGrid::SetLimits().
Referenced by OBFloatGrid::SetLimits().
Referenced by OBFloatGrid::SetLimits().
Deprecated:
Will be removed.
See also:
SetLimits(const vector3& origin, const vector3& x, const vector3& y, const vector3& z)
Returns:
Pointer to the first element of the grid point data stored as a one dimensional array.
Deprecated:
Will be removed.
See also:
GetDataVector()
Returns:
Value at the point in the grid specified by i, j and k.
Deprecated:
Will be removed.
See also:
SetVals(const std::vector<double> & vals)
Returns:
Position of the center of the grid.
Returns:
the value at the given point (rounding as needed)
Referenced by OBFloatGrid::Inject().
Returns:
the interpolated value for the given point
Returns:
the interpolated value for the given point and set the dx, dy, dz derivatives
const [inline,
double GetXmin ( )
inherited]
Returns:
the minimum x point of the grid
const [inline,
double GetYmin ( )
inherited]
Returns:
the minimum y point of the grid
Returns:
the minimum z point of the grid
Returns:
the maximum x point of the grid
Returns:
the maximum y point of the grid
Returns:
the maximum z point of the grid
Returns:
whether the supplied XYZ coordinates fall within the box
Referenced by OBProxGrid::Setup().
Returns:
true if the point falls within the box
Returns:
true if the point falls within the box
This method can be called by OBConversion::Read() before reading data. Derived classes should be sure to
call OBBase::Clear() to remove inherited generic data.
Returns:
Whether the call was successful.
Since:
version 2.1.
[inline,
virtual OBBase* const std::map< std::string,
( ) virtual,
DoTransformations std::string > *
inherited]
Perform a set of transformations specified by the user
Typically these are program options to filter or modify an object For example, see
OBMol::DoTransformations() and OBMol::ClassDescription()
Reimplemented in OBMol.
Returns:
A list of descriptions of command-line options for DoTransformations()
Returns:
whether the generic attribute/value pair exists
const
bool HasData ( char s ) [inherited]
*
Returns:
whether the generic attribute/value pair exists
Returns:
whether the generic attribute/value pair exists, for a given OBGenericDataType
const
bool DeleteData ( std::string s ) [inherited]
&
Deletes the generic data with the specified attribute, returning false if not found.
[inline,
void SetData ( OBGenericData * d )
inherited]
Adds a data object; does nothing if d==NULL.
Since:
version 2.2
Returns:
the number of OBGenericData items attached to this molecule.
Returns:
the first matching data for a given type from OBGenericDataType or NULL if nothing matches
const
OBGenericData * GetData ( std::string s ) [inherited]
&
Returns:
any data matching the given attribute name or NULL if nothing matches
Returns:
any data matching the given attribute name or NULL if nothing matches
[inline,
std::vector<OBGenericData*>& GetData ( )
inherited]
Returns:
all data, suitable for iterating
Returns:
all data with a specific origin, suitable for iterating
Returns:
the all matching data for a given type from OBGenericDataType or an empty vector if nothing
matches
Since:
version 2.2
Returns:
An iterator pointing to the beginning of the data
[inline,
OBDataIterator EndData ( )
inherited]
Returns:
An iterator pointing to the end of the data
std::ostream
std::ostream& operator<< ( os,
&
const
OBFloatGrid fg
&
) [friend]
std::istream
std::istream& operator>> ( is,
&
OBFloatGrid
fg
&
) [friend]
Referenced by OBFloatGrid::Init().
Referenced by OBFloatGrid::SetXAxis().
Referenced by OBFloatGrid::SetYAxis().
Referenced by OBFloatGrid::SetZAxis().
The documentation for this class was generated from the following files:
• grid.h
• grid.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
[protected,
_constraints OBForceField
static]
_cstep OBForceField [protected]
_current_conformer OBForceField [protected]
_cutoff OBForceField [protected]
_e_n1 OBForceField [protected]
_econv OBForceField [protected]
_elepairs OBForceField [protected]
_energies OBForceField [protected]
[protected,
_fixAtom OBForceField
static]
_grad1 OBForceField [protected]
_gradientPtr OBForceField [protected]
_id OBPlugin [protected]
[protected,
_ignoreAtom OBForceField
static]
_init OBForceField [protected]
_interGroup OBForceField [protected]
_interGroups OBForceField [protected]
_intraGroup OBForceField [protected]
_linesearch OBForceField [protected]
_logbuf OBForceField [protected]
_loglvl OBForceField [protected]
_logos OBForceField [protected]
_mol OBForceField [protected]
_ncoords OBForceField [protected]
_nsteps OBForceField [protected]
_origLogLevel OBForceField [protected]
_pairfreq OBForceField [protected]
_parFile OBForceField [protected]
_rele OBForceField [protected]
_rvdw OBForceField [protected]
_temp OBForceField [protected]
_timestep OBForceField [protected]
_validSetup OBForceField [protected]
_vdwpairs OBForceField [protected]
_velocityPtr OBForceField [protected]
AddGradient(double *grad, int idx) OBForceField [inline,
protected]
AddInterGroup(OBBitVec &group) OBForceField
AddInterGroups(OBBitVec &group1, OBBitVec &group2) OBForceField
AddIntraGroup(OBBitVec &group) OBForceField
[inline,
BaseFindType(PluginMapType &Map, const char *ID) OBPlugin protected,
static]
[inline,
Begin(const char *PluginID) OBPlugin
static]
[inline,
ClearGradients() OBForceField protected,
virtual]
ClearGroups() OBForceField
ConjugateGradients(int steps, double econv=1e-6f, int
OBForceField
method=OBFF_ANALYTICAL_GRADIENT)
ConjugateGradientsInitialize(int steps=1000, double econv=1e-6f, int
OBForceField
method=OBFF_ANALYTICAL_GRADIENT)
ConjugateGradientsTakeNSteps(int n) OBForceField
CorrectVelocities() OBForceField
[inline,
Description() OBPlugin
virtual]
DetectExplosion() OBForceField
Display(std::string &txt, const char *param, const char *ID=NULL) OBPlugin [virtual]
DistanceGeometry() OBForceField
[inline,
E_Angle(bool=true) OBForceField
virtual]
[inline,
E_Bond(bool=true) OBForceField
virtual]
[inline,
E_Electrostatic(bool=true) OBForceField
virtual]
[inline,
E_OOP(bool=true) OBForceField
virtual]
[inline,
E_StrBnd(bool=true) OBForceField
virtual]
[inline,
E_Torsion(bool=true) OBForceField
virtual]
[inline,
E_VDW(bool=true) OBForceField
virtual]
EnableAllPairs() OBForceField [inline]
EnableCutOff(bool enable) OBForceField [inline]
[inline,
End(const char *PluginID) OBPlugin
static]
[inline,
Energy(bool=true) OBForceField
virtual]
FindForceField(const std::string &ID) OBForceField
[inline,
static]
[inline,
FindForceField(const char *ID) OBForceField
static]
FirstLine(const char *txt) OBPlugin [static]
GenerateVelocities() OBForceField
GetAtomTypes(OBMol &mol) OBForceField
GetConformers(OBMol &mol) OBForceField
GetConstraints() OBForceField
GetCoordinates(OBMol &mol) OBForceField
GetElectrostaticCutOff() OBForceField [inline]
[inline,
GetGradient(OBAtom *a, int=OBFF_ENERGY) OBForceField protected,
virtual]
[inline,
GetGradientPtr() OBForceField
protected]
GetGrid(double step, double padding, const char *type, double pchg) OBForceField
GetID() const OBPlugin [inline]
GetLineSearchType() OBForceField [inline]
GetLogLevel() OBForceField [inline]
GetMap() const =0 OBPlugin [pure virtual]
GetNumPairs() OBForceField
GetParameter(int a, int b, int c, int d, std::vector< OBFFParameter >
OBForceField [protected]
¶meter)
GetParameter(const char *a, const char *b, const char *c, const char
OBForceField [protected]
*d, std::vector< OBFFParameter > ¶meter)
GetParameterIdx(int a, int b, int c, int d, std::vector< OBFFParameter
OBForceField [protected]
> ¶meter)
GetPartialCharges(OBMol &mol) OBForceField
[inline,
GetPlugin(const char *Type, const char *ID) OBPlugin
static]
[protected,
GetTypeMap(const char *PluginID) OBPlugin
static]
[inline,
GetUnit() OBForceField
virtual]
GetUpdateFrequency() OBForceField [inline]
GetVDWCutOff() OBForceField [inline]
[inline,
HasAnalyticalGradients() OBForceField
virtual]
HasGroups() OBForceField
IgnoreCalculation(int a, int b) OBForceField [static]
IgnoreCalculation(int a, int b, int c) OBForceField [static]
IgnoreCalculation(int a, int b, int c, int d) OBForceField [static]
IsCutOffEnabled() OBForceField [inline]
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBForceField
#include <openbabel/forcefield.h>
[legend]
Public Types
typedef std::map< const char
*, OBPlugin *, CharPtrLess > PluginMapType
typedef
PluginMapType::const_iterator PluginIterator
Protected Attributes
OBMol _mol
bool _init
std::string _parFile
bool _validSetup
double * _gradientPtr
std::ostream * _logos
char _logbuf [BUFF_SIZE+1]
int _loglvl
int _origLogLevel
int _current_conformer
std::vector< double > _energies
double _econv
double _e_n1
int _cstep
int _nsteps
double * _grad1
unsigned int _ncoords
int _linesearch
double _timestep
double _temp
double * _velocityPtr
bool _cutoff
double _rvdw
double _rele
OBBitVec _vdwpairs
Detailed Description
Base class for molecular mechanics force fields.
The OBForceField class is the base class for molecular mechanics in Open Babel. Classes derived from the
OBForceField implement specific force fields (Ghemical, MMFF94, UFF, ...).Other classes such as
OBFFParameter, OBFFConstraint, OBFFCalculation and its derived classes are only for internal use. As a
user interested in using the available force fields in Open Babel, you don't need these classes. The rest of this
short introduction is aimed at these users. For information on how to implement additional force fields, see the
wiki pages or post your questions to the openbabel-devel mailing list.
Before we can start using a force field, we must first select it and set it up. This is illustrated in the first
example below. The Setup procedure assigns atom types, charges and parameters. There are several reasons
why this may fail, a log message will be written to the logfile before Setup() returns false.
The force field classes use their own logging functions. You can set the logfile using SetLogFile() and set the
log level using SetLogLevel(). If needed you can also write to the logfile using OBFFLog(). There are four
log levels: BFF_LOGLVL_NONE, OBFF_LOGLVL_LOW, OBFF_LOGLVL_MEDIUM,
OBFF_LOGLVL_HIGH. See the API documentation to know what kind of output each function writes to the
logfile for the different log levels.
OBPlugin::List("forcefields");
Calculate the energy for the structure in mol using the Ghemical forcefield.
#include <openbabel/forcefield.h>
#include <openbabel/mol.h>
#include <openbabel/forcefield.h>
#include <openbabel/mol.h>
OBMol mol;
OBForceField* pFF = OBForceField::FindForceField("MMFF94");
pFF->SetLogFile(&cerr);
pFF->SetLogLevel(OBFF_LOGLVL_LOW);
if (!pFF->Setup(mol)) {
cerr << "ERROR: could not setup force field." << endl;
}
Minimize the structure in mol using steepest descent and fix the position of atom with index 1.
#include <openbabel/forcefield.h>
#include <openbabel/mol.h>
OBMol mol;
OBForceField* pFF = OBForceField::FindForceField("MMFF94");
pFF->SetLogFile(&cerr);
pFF->SetLogLevel(OBFF_LOGLVL_LOW);
#include <openbabel/forcefield.h>
#include <openbabel/mol.h>
OBMol mol;
//
// Read the pocket + ligand (initial guess for position) into mol...
//
OBBitVec pocket; // set the bits with atoms indexes for the pocket to 1...
OBBitVec ligand; // set the bits with atoms indexes for the ligand to 1...
pFF->SetLogFile(&cerr);
pFF->SetLogLevel(OBFF_LOGLVL_LOW);
// Specify the interacting groups. The pocket atoms are fixed, so there
// is no need to calculate intra- and inter-molecular interactions for
// the binding pocket.
pFF->AddIntraGroup(ligand); // bonded interactions in the ligand
pFF->AddInterGroup(ligand); // non-bonded between ligand-ligand atoms
pFF->AddInterGroups(ligand, pocket); // non-bonded between ligand and pocket atoms
[inline,
virtual ~OBForceField ( )
virtual]
Destructor.
vector<OBFFParameter> parameters;
this vector is filled with entries (as OBFFParameter) from a parameter file. This happens in the Setup()
function.
GetParameter(a, 0, 0, 0, parameters);
returns the first OBFFParameter from vector<OBFFParameter> parameters where: pa = a (pa = parameter.a)
GetParameter(a, b, 0, 0, parameters);
returns the first OBFFParameter from vector<OBFFParameter> parameters where: pa = a & pb = b (ab) or: pa
= b & pb = a (ba)
GetParameter(a, b, c, 0, parameters);
GetParameter(a, b, c, d, parameters);
returns the first OBFFParameter from vector<OBFFParameter> parameters where: pa = a & pb = b & pc = c
& pd = d (abcd) or: pa = d & pb = b & pc = c & pd = a (dbca) or: pa = a & pb = c & pc = b & pd = d (acbd)
or: pa = d & pb = c & pc = b & pd = a (dcba)
Parameters:
a provides coordinates
terms OBFF_ENERGY, OBFF_EBOND, OBFF_EANGLE, OBFF_ESTRBND,
OBFF_ETORSION, OBFF_EOOP, OBFF_EVDW, OBFF_ELECTROSTATIC
Returns:
the negative gradient of atom a
Referenced by OBForceField::ConjugateGradientsInitialize(),
OBForceField::ConjugateGradientsTakeNSteps(), OBForceField::MolecularDynamicsTakeNSteps(), and
OBForceField::SteepestDescentTakeNSteps().
Referenced by OBForceField::ConjugateGradientsInitialize(),
OBForceField::ConjugateGradientsTakeNSteps(), OBForceField::MolecularDynamicsTakeNSteps(), and
OBForceField::SteepestDescentTakeNSteps().
Check if two atoms are in the same ring. [NOTE: this function uses SSSR, this means that not all rings are
found for bridged rings. This causes some problems with the MMFF94 validation.]
Parameters:
a atom a
b atom b
Returns:
true if atom a and b are in the same ring
Returns:
Plugin type ("forcefields")
Parameters:
ID forcefield id (Ghemical, MMFF94, UFF, ...).
Returns:
A pointer to a forcefield (the default if ID is empty), or NULL if not available.
[inline,
static OBForceField* FindForceField ( const char * ID )
static]
Parameters:
ID forcefield id (Ghemical, MMFF94, UFF, ...).
Returns:
A pointer to a forcefield (the default if ID is empty), or NULL if not available.
[inline,
virtual std::string GetUnit ( )
virtual]
Returns:
The unit (kcal/mol, kJ/mol, ...) in which the energy is expressed as std::string.
Referenced by OBForceField::ConjugateGradientsInitialize(),
OBForceField::ConjugateGradientsTakeNSteps(), OBForceField::MolecularDynamicsTakeNSteps(), and
OBForceField::SteepestDescentTakeNSteps().
Parameters:
mol The OBMol object that contains the atoms and bonds.
Returns:
True if succesfull.
Parameters:
mol The OBMol object that contains the atoms and bonds.
constraints The OBFFConstraints object that contains the constraints.
Returns:
True if succesfull.
Referenced by OBForceField::Setup().
Referenced by OBForceField::Setup().
Referenced by OBForceField::Setup().
OBMol
bool IsSetupNeeded ( mol )
&
Compare the internal forcefield OBMol object to mol. If the two have the same number of atoms and bonds,
and all atomic numbers are the same, this function returns false, and no call to Setup is needed.
Returns:
True if Setup needs to be called.
Referenced by OBForceField::Setup().
OBMol
bool GetAtomTypes ( mol )
&
Get the force atom types. The atom types will be added to the atoms of mol as OBPairData. The attribute will
be "FFAtomType".
...
pFF->Setup(&mol);
pFF->GetAtomTypes(&mol);
FOR_ATOMS_OF_MOL (atom, mol) {
OBPairData *type = (OBPairData*) atom->GetData("FFAtomType");
if (type)
cout << "atom " << atom->GetIdx() << " : " << type->GetValue() << endl;
}
...
OBMol
bool GetPartialCharges ( mol )
&
Get the force field formal charges. The formal charges will be added to the atoms of mol as OBPairData. The
attribute will be "FFPartialCharge".
...
pFF->Setup(&mol);
pFF->GetPartialCharges(&mol);
FOR_ATOMS_OF_MOL (atom, mol) {
OBPairData *chg = (OBPairData*) atom->GetData("FFPartialCharge");
if (chg)
cout << "atom " << atom->GetIdx() << " : " << chg->GetValue() << endl;
}
...
OBMol
bool GetCoordinates ( mol )
&
Get coordinates for current conformer and attach OBConformerData with energies, forces, ... to mol.
Parameters:
mol The OBMol object to copy the coordinates to (from OBForceField::_mol).
Returns:
True if succesfull.
OBMol
bool UpdateCoordinates ( mol ) [inline]
&
Deprecated:
Use GetCooordinates instead.
OBMol
bool GetConformers ( mol )
&
Get coordinates for all conformers and attach OBConformerData with energies, forces, ... to mol.
Parameters:
mol The OBMol object to copy the coordinates to (from OBForceField::_mol).
Returns:
True if succesfull.
OBMol
bool UpdateConformers ( mol ) [inline]
&
Deprecated:
Use GetConformers instead.
OBMol
bool SetCoordinates ( mol )
&
Set coordinates for current conformer.
Parameters:
mol the OBMol object to copy the coordinates from (to OBForceField::_mol).
Returns:
true if succesfull.
Referenced by OBForceField::Setup().
OBMol
bool SetConformers ( mol )
&
Set coordinates for all conformers.
Parameters:
mol The OBMol object to copy the coordinates from (to OBForceField::_mol).
Returns:
True if succesfull.
Parameters:
step The grid step size in A..
padding The padding for the grid in A.
type The force field atom type for the probe.
pchg The partial charge for the probe atom.
Returns:
Pointer to the grid constaining the results.
OBBitVec
void AddIntraGroup ( group )
&
Enable intra-molecular interactions for group (bonds, angles, strbnd, torsions, oop). This function should be
called before Setup().
Parameters:
group OBBitVec with bits set for the indexes of the atoms which make up the group.
OBBitVec
void AddInterGroup ( group )
&
Enable inter-molecular interactions for group (non-bonded: vdw & ele). This function should be called before
Setup().
Parameters:
group OBBitVec with bits set for the indexes of the atoms which make up the group.
Parameters:
group1 OBBitVec with bits set for the indexes of the atoms which make up the first group.
group2 OBBitVec with bits set for the indexes of the atoms which make up the second group.
void ClearGroups ( )
Clear all previously specified groups.
bool HasGroups ( )
Returns:
true if there are groups.
Parameters:
enable Enable when true, disable when false.
Returns:
True if Cut-off distances are used.
Parameters:
r The VDW cut-off distance to be used
in A.
Returns:
The VDW cut-off distance in A.
Parameters:
r The electrostatic cut-off distance to be used in A.
Returns:
The electrostatic cut-off distance in A.
Parameters:
f The pair list update frequency.
Returns:
The pair list update frequency.
void UpdatePairsSimple ( )
Set the bits in _vdwpairs and _elepairs to 1 for interactions that are within cut-off distance. This function is
called in minimizing algorithms such as SteepestDescent and ConjugateGradients.
Referenced by OBForceField::ConjugateGradientsInitialize(),
OBForceField::ConjugateGradientsTakeNSteps(), OBForceField::SteepestDescentInitialize(), and
OBForceField::SteepestDescentTakeNSteps().
Returns:
The number of pairs currently enabled (within cut-off distance)
[inline,
virtual double Energy ( bool = true )
virtual]
Parameters:
gradients Set to true when the gradients need to be calculated (needs to be done before calling
GetGradient()).
Returns:
Total energy.
Output to log:
OBFF_LOGLVL_NONE: none
OBFF_LOGLVL_LOW: none
OBFF_LOGLVL_MEDIUM: energy for indivudual energy terms
OBFF_LOGLVL_HIGH: energy for individual energy interactions
Referenced by OBForceField::ConjugateGradientsInitialize(),
OBForceField::ConjugateGradientsTakeNSteps(), OBForceField::LineSearch(),
OBForceField::MolecularDynamicsTakeNSteps(), OBForceField::Newton2NumLineSearch(),
OBForceField::NumericalDerivative(), OBForceField::NumericalSecondDerivative(),
OBForceField::RandomRotorSearchNextConformer(), OBForceField::SteepestDescentInitialize(),
OBForceField::SteepestDescentTakeNSteps(), OBForceField::SystematicRotorSearchNextConformer(), and
OBForceField::WeightedRotorSearch().
[inline,
virtual double E_Bond ( bool = true )
virtual]
Parameters:
gradients Set to true when the gradients need to be calculated (needs to be done before calling
GetGradient()).
Returns:
Bond stretching energy.
Output to log:
see Energy()
[inline,
virtual double E_Angle ( bool = true )
virtual]
Parameters:
gradients Set to true when the gradients need to be calculated (needs to be done before calling
GetGradient()).
Returns:
Angle bending energy.
Output to log:
see Energy()
Parameters:
gradients Set to true when the gradients need to be calculated (needs to be done before calling
GetGradient()).
Returns:
Stretch bending energy.
Output to log:
see Energy()
[inline,
virtual double E_Torsion ( bool = true )
virtual]
Parameters:
gradients Set to true when the gradients need to be calculated (needs to be done before calling
GetGradient()).
Returns:
Torsional energy.
Output to log:
see Energy()
[inline,
virtual double E_OOP ( bool = true )
virtual]
Parameters:
gradients Set to true when the gradients need to be calculated (needs to be done before calling
GetGradient()).
Returns:
Out-Of-Plane bending energy.
Output to log:
see Energy()
[inline,
virtual double E_VDW ( bool = true )
virtual]
Parameters:
gradients Set to true when the gradients need to be calculated (needs to be done before calling
GetGradient()).
Returns:
Van der Waals energy.
Output to log:
see Energy()
[inline,
virtual double E_Electrostatic ( bool = true )
virtual]
Parameters:
gradients Set to true when the gradients need to be calculated (needs to be done before calling
GetGradient()).
Returns:
Electrostatic energy.
Output to log:
see Energy()
void PrintTypes ( )
Print the atom types to the log.
void PrintFormalCharges ( )
Print the formal charges to the log (atom.GetPartialCharge(), MMFF94 FC's are not always int).
void PrintPartialCharges ( )
Print the partial charges to the log.
void PrintVelocities ( )
Print the velocities to the log.
Parameters:
pos Stream (when pos is 0, std::cout wil be
used).
Returns:
True if succesfull.
example:
SetLogLevel(OBFF_LOGLVL_MEDIUM);
IF_OBFF_LOGLVL_HIGH {
OBFFLog("this text will NOT be logged...\n");
}
IF_OBFF_LOGLVL_LOW {
OBFFLog"this text will be logged...\n");
}
IF_OBFF_LOGLVL_MEDIUM {
OBFFLog("this text will also be logged...\n");
}
Returns:
The log level.
Parameters:
msg The message to print.
Referenced by OBForceField::ConjugateGradientsInitialize(),
OBForceField::ConjugateGradientsTakeNSteps(), OBForceField::DistanceGeometry(),
OBForceField::PrintFormalCharges(), OBForceField::PrintPartialCharges(), OBForceField::PrintTypes(),
OBForceField::PrintVelocities(), OBForceField::RandomRotorSearchInitialize(),
OBForceField::RandomRotorSearchNextConformer(), OBForceField::SteepestDescentInitialize(),
OBForceField::SteepestDescentTakeNSteps(), OBForceField::SystematicRotorSearchInitialize(),
OBForceField::SystematicRotorSearchNextConformer(), OBForceField::ValidateConjugateGradients(),
OBForceField::ValidateSteepestDescent(), and OBForceField::WeightedRotorSearch().
const
void OBFFLog ( char msg ) [inline]
*
Print msg to the logfile.
Parameters:
msg The message to print.
void DistanceGeometry ( )
Generate coordinates for the molecule (distance geometry). (OB 3.0).
The initial starting structure here is important, this structure should be minimized for the best results.
SystematicRotorSearch works by rotating around the rotatable bond in a molecule (see OBRotamerList class).
This rotating generates multiple conformers. The energy for all these conformers is then evaluated and the
lowest energy conformer is selected.
Parameters:
geomSteps The number of steps to take during geometry optimization.
Output to log:
This function should only be called with the log level set to OBFF_LOGLVL_NONE or
OBFF_LOGLVL_LOW. Otherwise too much information about the energy calculations needed for
this function will interfere with the output for this function.
OBFF_LOGLVL_NONE: None.
OBFF_LOGLVL_LOW: Number of rotatable bonds, energies for the conformers, which one is the
lowest, ...
OBFF_LOGLVL_MEDIUM: See note above.
OBFF_LOGLVL_HIGH: See note above.
example:
Parameters:
geomSteps The number of steps to take during geometry optimization.
Returns:
The number of conformers.
Referenced by OBForceField::SystematicRotorSearch().
Parameters:
geomSteps The number of steps to take during geometry optimization.
Returns:
True if there are more conformers.
Referenced by OBForceField::SystematicRotorSearch().
The initial starting structure here is important, this structure should be minimized for the best results.
RandomRotorSearch works by randomly rotating around the rotatable bonds in a molecule (see
OBRotamerList class). This rotating generates multiple conformers. The energy for all these conformers is
then evaluated and the lowest energy conformer is selected.
Parameters:
conformers The number of random conformers to consider during the search.
geomSteps The number of steps to take during geometry optimization for each conformer.
Output to log:
This function should only be called with the log level set to OBFF_LOGLVL_NONE or
OBFF_LOGLVL_LOW. Otherwise too much information about the energy calculations needed for
this function will interfere with the output for this function.
OBFF_LOGLVL_NONE: None.
OBFF_LOGLVL_LOW: Number of rotatable bonds, energies for the conformers, which one is the
lowest, ...
OBFF_LOGLVL_MEDIUM: See note above.
OBFF_LOGLVL_HIGH: See note above.
example:
Parameters:
conformers The number of random conformers to consider during the search
geomSteps The number of steps to take during geometry optimization
Referenced by OBForceField::RandomRotorSearch().
Parameters:
geomSteps The number of steps to take during geometry optimization.
Returns:
True if there are more conformers.
Referenced by OBForceField::RandomRotorSearch().
The initial starting structure here is important, this structure should be minimized for the best results.
WeightedRotorSearch works by randomly rotating around the rotatable bonds in a molecule (see
OBRotamerList class). Unlike RandomRotorSearch() the random choice of torsions is reweighted based on
the energy of the generated conformer. Over time, the generated conformers for each step should become
increasingly better. The lowest energy conformer is selected.
Parameters:
conformers The number of random conformers to consider during the search.
geomSteps The number of steps to take during geometry optimization for each conformer.
Output to log:
This function should only be called with the log level set to OBFF_LOGLVL_NONE or
OBFF_LOGLVL_LOW. Otherwise too much information about the energy calculations needed for
this function will interfere with the output for this function.
OBFF_LOGLVL_NONE: None.
OBFF_LOGLVL_LOW: Number of rotatable bonds, energies for the conformers, which one is the
lowest, ...
OBFF_LOGLVL_MEDIUM: See note above.
OBFF_LOGLVL_HIGH: See note above.
Parameters:
type The LineSearchType to be used in SteepestDescent and ConjugateGradients.
Returns:
The current LineSearchType.
Deprecated:
Current code should use LineSearch(double *, double*) instead.
Referenced by OBForceField::ConjugateGradientsInitialize(),
OBForceField::ConjugateGradientsTakeNSteps(), and OBForceField::SteepestDescentTakeNSteps().
Parameters:
currentCoords Start coordinates.
direction The search direction.
Returns:
alpha, The scale of the step we moved along the direction vector.
Output to log:
OBFF_LOGLVL_NONE: none
OBFF_LOGLVL_LOW: none
OBFF_LOGLVL_MEDIUM: none
OBFF_LOGLVL_HIGH: none
Parameters:
direction The search direction.
Returns:
alpha, The scale of the step we moved along the direction vector.
Output to log:
OBFF_LOGLVL_NONE: none
OBFF_LOGLVL_LOW: none
OBFF_LOGLVL_MEDIUM: none
OBFF_LOGLVL_HIGH: none
Referenced by OBForceField::ConjugateGradientsInitialize(),
OBForceField::ConjugateGradientsTakeNSteps(), and OBForceField::SteepestDescentTakeNSteps().
Parameters:
origCoords Start coordinates.
direction The search direction.
step The step to take.
Referenced by OBForceField::Newton2NumLineSearch().
Parameters:
steps The number of steps.
econv Energy convergence criteria. (defualt is 1e-6)
method Deprecated. (see HasAnalyticalGradients())
Output to log:
This function should only be called with the log level set to OBFF_LOGLVL_NONE or
OBFF_LOGLVL_LOW. Otherwise too much information about the energy calculations needed for
the minimization will interfere with the list of energies for succesive steps.
OBFF_LOGLVL_NONE: none
OBFF_LOGLVL_LOW: header including number of steps and first step
OBFF_LOGLVL_MEDIUM: see note above
OBFF_LOGLVL_HIGH: see note above
Referenced by OBForceField::WeightedRotorSearch().
example:
Parameters:
Output to log:
This function should only be called with the log level set to OBFF_LOGLVL_NONE or
OBFF_LOGLVL_LOW. Otherwise too much information about the energy calculations needed for
the minimization will interfere with the list of energies for succesive steps.
OBFF_LOGLVL_NONE: none
OBFF_LOGLVL_LOW: header including number of steps
OBFF_LOGLVL_MEDIUM: see note above
OBFF_LOGLVL_HIGH: see note above
Referenced by OBForceField::SteepestDescent().
Parameters:
n The number of steps to take.
Returns:
False if convergence or the number of steps given by SteepestDescentInitialize() has been reached.
Output to log:
This function should only be called with the log level set to OBFF_LOGLVL_NONE or
OBFF_LOGLVL_LOW. Otherwise too much information about the energy calculations needed for
the minimization will interfere with the list of energies for succesive steps.
OBFF_LOGLVL_NONE: none
OBFF_LOGLVL_LOW: step number, energy and energy for the previous step
OBFF_LOGLVL_MEDIUM: see note above
OBFF_LOGLVL_HIGH: see note above
Referenced by OBForceField::SteepestDescent().
Parameters:
steps The number of steps.
econv Energy convergence criteria. (defualt is 1e-6)
Output to log:
This function should only be called with the log level set to OBFF_LOGLVL_NONE or
OBFF_LOGLVL_LOW. Otherwise too much information about the energy calculations needed for
the minimization will interfere with the list of energies for succesive steps.
OBFF_LOGLVL_NONE: none
OBFF_LOGLVL_LOW: information about the progress of the minimization
OBFF_LOGLVL_MEDIUM: see note above
OBFF_LOGLVL_HIGH: see note above
Referenced by OBForceField::RandomRotorSearchInitialize(),
OBForceField::RandomRotorSearchNextConformer(), OBForceField::SystematicRotorSearchInitialize(),
OBForceField::SystematicRotorSearchNextConformer(), and OBForceField::WeightedRotorSearch().
example:
Parameters:
steps The number of steps.
econv Energy convergence criteria. (defualt is 1e-6)
method Deprecated. (see HasAnalyticalGradients())
Output to log:
This function should only be called with the log level set to OBFF_LOGLVL_NONE or
OBFF_LOGLVL_LOW. Otherwise too much information about the energy calculations needed for
the minimization will interfere with the list of energies for succesive steps.
OBFF_LOGLVL_NONE: none
OBFF_LOGLVL_LOW: header including number of steps and first step
OBFF_LOGLVL_MEDIUM: see note above
OBFF_LOGLVL_HIGH: see note above
Referenced by OBForceField::ConjugateGradients().
Parameters:
n The number of steps to take.
Returns:
False if convergence or the number of steps given by ConjugateGradientsInitialize() has been reached.
Output to log:
This function should only be called with the log level set to OBFF_LOGLVL_NONE or
OBFF_LOGLVL_LOW. Otherwise too much information about the energy calculations needed for
the minimization will interfere with the list of energies for succesive steps.
OBFF_LOGLVL_NONE: none
OBFF_LOGLVL_LOW: step number, energy and energy for the previous step
OBFF_LOGLVL_MEDIUM: see note above
OBFF_LOGLVL_HIGH: see note above
Referenced by OBForceField::ConjugateGradients().
void GenerateVelocities ( )
Generate starting velocities with a Maxwellian distribution.
Referenced by OBForceField::MolecularDynamicsTakeNSteps().
void CorrectVelocities ( )
Correct the velocities so that the following is true:
3N
----
0.5 \ m_i * v_i^2 = 0.5 * Ndf * kB * T = E_kin
/
----
i=1
example:
Parameters:
n The number of steps to take.
T Absolute temperature in Kelvin.
timestep The time step in picoseconds. (10e-12 s)
method OBFF_ANALYTICAL_GRADIENTS (default) or OBFF_NUMERICAL_GRADIENTS
Returns:
The current constrains stored in the force field.
Parameters:
constraints The new constraints to be used.
Parameters:
index The index for the atom to fix.
void UnsetFixAtom ( )
Undo last SetFixAtom. This function will not remove the fix atom constraint for this atom if set by Setup() or
SetConstraints().
the constraints set by Setup() or SetConstraints(). Using this makes sure, in drawing mode, you can close rings
without your newly created puching the other atoms away.
Parameters:
index The index for the atom to ignore.
void UnsetIgnoreAtom ( )
Undo last SetIgnoreAtom. This function will not remove the ignore atom constraint for this atom if set by
Setup() or SetConstraints().
Referenced by OBForceField::IgnoreCalculation().
bool DetectExplosion ( )
(debugging)
[inline,
virtual bool Validate ( )
virtual]
Validate the force field implementation (debugging).
Returns:
error = fabs(numgrad - anagrad) / anagrad * 100%
Parameters:
pos_a atom a (coordinates)
pos_b atom b (coordinates)
force_a - return value for the force on atom a
force_b - return value for the force on atom b
Returns:
The distance between a and b (bondlength for bond stretching, separation for vdw, electrostatic)
const
double VectorDistanceDerivative ( double pos_i,
*const
const
double pos_j,
*const
double * force_i,
double * force_j
) [static]
To be used for VDW or Electrostatic interactions. This is faster than VectorBondDerivative, but does no error
checking.
vector3
double VectorLengthDerivative ( a,
&
vector3
b
&
) [static]
Deprecated:
Referenced by OBFFConstraints::GetConstraintEnergy().
Parameters:
pos_a atom a (coordinates)
pos_b atom b (coordinates)
pos_c atom c (coordinates)
force_a - return value for the force on atom a
force_b - return value for the force on atom b
force_c - return value for the force on atom c
Returns:
The angle between a-b-c
Referenced by OBFFConstraints::GetConstraintEnergy().
vector3
double VectorAngleDerivative ( a,
&
vector3
b,
&
vector3
c
&
) [static]
Deprecated:
Parameters:
pos_a atom a (coordinates)
pos_b atom b (coordinates)
pos_c atom c (coordinates)
pos_d atom d (coordinates)
force_a - return value for the force on atom a
force_b - return value for the force on atom b
force_c - return value for the force on atom c
force_d - return value for the force on atom d
Returns:
The OOP angle for a-b-c-d
Deprecated:
double * pos_c,
double * pos_d,
double * force_a,
double * force_b,
double * force_c,
double * force_d
) [static]
Calculate the derivative of a torsion angle a-b-c-d. The torsion angle is given by
arccos(dot(corss(ab,bc),cross(bc,cd))/rabbc*rbccd).
Parameters:
pos_a atom a (coordinates)
pos_b atom b (coordinates)
pos_c atom c (coordinates)
pos_d atom d (coordinates)
force_a - return value for the force on atom a
force_b - return value for the force on atom b
force_c - return value for the force on atom c
force_d - return value for the force on atom d
Returns:
The tosion angle for a-b-c-d
Referenced by OBFFConstraints::GetConstraintEnergy().
vector3
double VectorTorsionDerivative ( a,
&
vector3
b,
&
vector3
c,
&
vector3
d
&
) [static]
Deprecated:
Parameters:
i pointer to i[3]
j pointer to j[3]
result pointer to result[3], will be set
to i - j
Parameters:
i pointer to i[3]
j pointer to j[3]
result pointer to result[3], will be set to
i+j
Parameters:
i pointer to i[3]
n divide x,y,z with n
result pointer to result[3]
Parameters:
i pointer to i[3]
n multiply x,y,z with n
result pointer to result[3]
Parameters:
i pointer to i[3], multiply this vector by n and set this vector to the result.
n the scalar value to be multipled
Parameters:
i pointer to i[3] to be normalized
Referenced by OBForceField::VectorAngleDerivative().
Parameters:
from pointer to i[3] to be copied from
to pointer to j[3] to be copied to
[inline,
static double VectorLength ( double * i )
static]
inline fuction to speed up minimization speed
Parameters:
i pointer to i[3]
Returns:
the vector length
Referenced by OBForceField::UpdatePairsSimple().
Parameters:
i pointer to i[3]
j pointer to j[3]
k pointer to k[3]
Returns:
the vector angle ijk (deg)
Parameters:
i pointer to i[3]
j pointer to j[3]
k pointer to k[3]
l pointer to l[3]
Returns:
the vector torson ijkl (deg)
Parameters:
i pointer to i[3]
j pointer to j[3]
k pointer to k[3]
l pointer to l[3]
Returns:
the vector torson ijkl (deg)
[inline,
static void VectorClear ( double * i )
static]
inline fuction to speed up minimization speed
Parameters:
i pointer to i[3], will set x,y,z to 0,0,0
) [inline, static]
inline fuction to speed up minimization speed
Parameters:
i pointer to i[3]
j pointer to j[3]
Returns:
the dot product
Parameters:
i pointer to i[3]
j pointer to j[3]
result the dot product (as a return value double[3])
Write information on a plugin class to the string txt. Return false if not written. The default implementation
outputs: the ID, a tab character, and the first line of the Description. The param string can be used in derived
types to provide different outputs.
Referenced by OBDescriptor::Display().
Referenced by OBConversion::LoadFormatFiles().
Referenced by OBConversion::LoadFormatFiles().
Referenced by OBPlugin::ListAsString().
[inline, static,
static PluginIterator Begin ( const char * PluginID )
inherited]
Return an iterator at the start of the map of the plugin types PluginID or, if there is no such map, the end of the
top level plugin map.
Referenced by OBFormat::RegisterFormat().
Referenced by OBForceField::ConjugateGradientsInitialize(),
OBForceField::ConjugateGradientsTakeNSteps(), OBForceField::CorrectVelocities(),
OBForceField::DetectExplosion(), OBForceField::DistanceGeometry(), OBForceField::GenerateVelocities(),
OBForceField::GetAtomTypes(), OBForceField::GetConformers(), OBForceField::GetCoordinates(),
OBForceField::GetGrid(), OBForceField::GetNumPairs(), OBForceField::GetPartialCharges(),
OBForceField::IsInSameRing(), OBForceField::IsSetupNeeded(), OBForceField::LineSearch(),
OBForceField::LineSearchTakeStep(), OBForceField::MolecularDynamicsTakeNSteps(),
OBForceField::Newton2NumLineSearch(), OBForceField::PrintFormalCharges(),
OBForceField::PrintPartialCharges(), OBForceField::PrintTypes(), OBForceField::PrintVelocities(),
OBForceField::RandomRotorSearchInitialize(), OBForceField::RandomRotorSearchNextConformer(),
OBForceField::SetConformers(), OBForceField::SetConstraints(), OBForceField::SetCoordinates(),
OBForceField::Setup(), OBForceField::SteepestDescentTakeNSteps(),
OBForceField::SystematicRotorSearchInitialize(), OBForceField::SystematicRotorSearchNextConformer(),
OBForceField::UpdatePairsSimple(), and OBForceField::WeightedRotorSearch().
Referenced by OBForceField::Setup().
Referenced by OBForceField::ConjugateGradientsInitialize(),
OBForceField::ConjugateGradientsTakeNSteps(), OBForceField::GetCoordinates(), OBForceField::Setup(),
and OBForceField::SteepestDescentTakeNSteps().
Referenced by OBForceField::SetLogFile().
Referenced by OBForceField::ConjugateGradientsInitialize(),
OBForceField::ConjugateGradientsTakeNSteps(), OBForceField::DistanceGeometry(),
OBForceField::PrintFormalCharges(), OBForceField::PrintPartialCharges(), OBForceField::PrintTypes(),
OBForceField::PrintVelocities(), OBForceField::RandomRotorSearchInitialize(),
OBForceField::RandomRotorSearchNextConformer(), OBForceField::SteepestDescentInitialize(),
OBForceField::SteepestDescentTakeNSteps(), OBForceField::SystematicRotorSearchInitialize(),
OBForceField::SystematicRotorSearchNextConformer(), OBForceField::ValidateConjugateGradients(),
OBForceField::ValidateSteepestDescent(), and OBForceField::WeightedRotorSearch().
Referenced by OBForceField::RandomRotorSearchInitialize(),
OBForceField::RandomRotorSearchNextConformer(), OBForceField::SetLogLevel(),
OBForceField::SystematicRotorSearchInitialize(), OBForceField::SystematicRotorSearchNextConformer(),
and OBForceField::WeightedRotorSearch().
Referenced by OBForceField::RandomRotorSearchInitialize(),
OBForceField::RandomRotorSearchNextConformer(), OBForceField::SystematicRotorSearchInitialize(), and
OBForceField::SystematicRotorSearchNextConformer().
Referenced by OBForceField::ConjugateGradientsInitialize(),
OBForceField::ConjugateGradientsTakeNSteps(), OBForceField::SteepestDescentInitialize(), and
OBForceField::SteepestDescentTakeNSteps().
Referenced by OBForceField::ConjugateGradientsInitialize(),
OBForceField::ConjugateGradientsTakeNSteps(), OBForceField::Newton2NumLineSearch(),
OBForceField::SteepestDescentInitialize(), and OBForceField::SteepestDescentTakeNSteps().
Referenced by OBForceField::ConjugateGradientsInitialize(),
OBForceField::ConjugateGradientsTakeNSteps(), OBForceField::SteepestDescentInitialize(), and
OBForceField::SteepestDescentTakeNSteps().
Referenced by OBForceField::ConjugateGradientsInitialize(),
OBForceField::ConjugateGradientsTakeNSteps(), OBForceField::SteepestDescentInitialize(), and
OBForceField::SteepestDescentTakeNSteps().
OBForceField::ConjugateGradientsTakeNSteps().
Referenced by OBForceField::ConjugateGradientsInitialize(),
OBForceField::ConjugateGradientsTakeNSteps(), OBForceField::CorrectVelocities(),
OBForceField::GenerateVelocities(), OBForceField::LineSearchTakeStep(),
OBForceField::Newton2NumLineSearch(), OBForceField::Setup(), and
OBForceField::SteepestDescentTakeNSteps().
Referenced by OBForceField::ConjugateGradientsInitialize(),
OBForceField::ConjugateGradientsTakeNSteps(), and OBForceField::SteepestDescentTakeNSteps().
Referenced by OBForceField::MolecularDynamicsTakeNSteps().
Referenced by OBForceField::ConjugateGradientsInitialize(),
OBForceField::ConjugateGradientsTakeNSteps(), OBForceField::GenerateVelocities(),
OBForceField::GetConstraints(), OBForceField::LineSearch(),
OBForceField::MolecularDynamicsTakeNSteps(), OBForceField::Newton2NumLineSearch(),
OBForceField::SetConstraints(), OBForceField::Setup(), OBForceField::SteepestDescentInitialize(), and
OBForceField::SteepestDescentTakeNSteps().
Referenced by OBForceField::ConjugateGradientsInitialize(),
OBForceField::ConjugateGradientsTakeNSteps(), OBForceField::GenerateVelocities(),
OBForceField::MolecularDynamicsTakeNSteps(), OBForceField::SetFixAtom(),
OBForceField::SteepestDescentTakeNSteps(), and OBForceField::UnsetFixAtom().
Referenced by OBForceField::ConjugateGradientsInitialize(),
OBForceField::ConjugateGradientsTakeNSteps(), OBForceField::GenerateVelocities(),
OBForceField::IgnoreCalculation(), OBForceField::MolecularDynamicsTakeNSteps(),
OBForceField::SetIgnoreAtom(), OBForceField::SteepestDescentTakeNSteps(), and
OBForceField::UnsetIgnoreAtom().
Referenced by OBForceField::ConjugateGradientsInitialize(),
OBForceField::ConjugateGradientsTakeNSteps(), OBForceField::SteepestDescentInitialize(), and
OBForceField::SteepestDescentTakeNSteps().
Referenced by OBForceField::UpdatePairsSimple().
Referenced by OBForceField::UpdatePairsSimple().
Referenced by OBForceField::UpdatePairsSimple().
Referenced by OBForceField::UpdatePairsSimple().
Referenced by OBFormat::RegisterFormat().
The documentation for this class was generated from the following files:
• forcefield.h
• forcefield.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBFormat
#include <openbabel/obconversion.h>
[legend]
Public Types
typedef std::map< const char
*, OBPlugin *, CharPtrLess > PluginMapType
typedef
PluginMapType::const_iterator PluginIterator
Protected Attributes
const char * _id
Detailed Description
Base class for file formats.
Two sets of Read and Write functions are specified for each format to handle two different requirements. The
"Convert" interface is for use in file format conversion applications. The user interface, a console, a GUI, or
another program is kept unaware of the details of the chemistry and does not need to #include mol.h. It is then
necessary to manipulate only pointers to OBBase in OBConversion and the user interface, with all the
construction and deletion of OBMol etc objects being done in the Format classes or the OB core. The
convention with "Covert" interface functions is that chemical objects are made on the heap with new in the
ReadChemicalObject() functions and and deleted in WriteChemicalObject() functions
The "API" interface is for programatic use of the OB routines in application programs where mol.h is
#included. There is generally no creation or destruction of objects in ReadMolecule() and WriteMolecule()
and no restriction on whether the pointers are to the heap or the stack.
OBFormat ( ) [inline]
Default constructor. Registration via RegisterFormat(), not via constructor as in other plugins.
Referenced by OBFormat::RegisterFormat().
Reads a single object. Does not make a new object on the heap; can be used with a pointer to an chem object
on the heap or the stack.
Reimplemented in XMLMoleculeFormat.
[inline,
virtual bool ReadChemObject ( OBConversion * )
virtual]
The "Convert" interface Read function.
Possibly reads multiple new objects on the heap and subjects them to its DoTransformations() function, which
may delete them again. Sends result to pConv->AddChemObject()
Referenced by OBConversion::Convert().
Writes a single object Does not delete the object; can be used with a pointer to an chem object on the heap or
the stack.
Returns:
false on error.
Returns:
false on error
Must be provided by each format class. Can include a list of command line Options. These may be used to
construction check boxes, radio buttons etc for GUI interface.
If not provided, the object type used by the default format is used (usually OBMol).
Referenced by OBConversion::ReportNumberConverted().
Returns:
the type of chemical object used by the format. Defaults to that used by the default format. Useful for
checking that a format can handle a particular object.
Referenced by OBFormat::Display().
Returns:
1 on success, -1 on error and 0 if not implemented
Reimplemented in XMLBaseFormat.
Returns:
a pointer to a new instance of the format, or NULL if fails. Normally a single global instance is used
but this may cause problems if there are member variables and the format is used in more than one
place in the program.
Referenced by OBConversion::RegisterFormat().
Referenced by OBConversion::FormatFromMIME().
Referenced by OBConversion::LoadFormatFiles().
Referenced by OBConversion::LoadFormatFiles().
Referenced by OBPlugin::ListAsString().
[inline, static,
static PluginIterator Begin ( const char * PluginID )
inherited]
Return an iterator at the start of the map of the plugin types PluginID or, if there is no such map, the end of the
top level plugin map.
Referenced by OBFormat::RegisterFormat().
Referenced by OBFormat::RegisterFormat().
The documentation for this class was generated from the following files:
• format.h
• format.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBGastChrg
#include <openbabel/molchrg.h>
Public Member
Functions
OBGastChrg ()
~OBGastChrg ()
bool AssignPartialCharges (OBMol &)
void GSVResize (int)
Detailed Description
Assigns Gasteiger partial charges.
The OBGastChrg class is responsible for the assignment of partial charges to a molecule according to the
Gasteiger charge model (sigma). When the partial charge of an atom is requested and partial charges do not
yet exist for the molecule the OBGastChrg class will automatically be called to assign charges for the
molecule. If charges have been read in for a molecule the following code shows how to force the recalculation
of partial charges:
OBMol mol;
mol.UnsetPartialChargesPerceived();
FOR_ATOMS_IN_MOL(atom, mol)
{
cout << "atom number = " << atom->GetIdx();
cout << " charge = " << atom->GetPartialCharge() << endl;
}
Formal charges are used as seed values of the initial charge of atoms, and the partial charge is propagated to
neighboring atoms. For example, quaternary amines would have a +1 charge, and the effect of the positive
charge would be felt by neighboring atoms according to the Gasteiger model (sigma).
For more information, see: J. Gasteiger & M. Marsili, "A New Model for Calculating Atomic Charges in
Molecules" Tetrahedron Lett., (1978) 3181-3184.
OBGastChrg ( ) [inline]
~OBGastChrg ( )
Referenced by OBAtom::GetPartialCharge().
Referenced by OBGastChrg::AssignPartialCharges().
The documentation for this class was generated from the following files:
• molchrg.h
• molchrg.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
OpenBabel::OBGenericData
#include <openbabel/generic.h>
Protected Attributes
std::string _attr
unsigned int _type
DataOrigin _source
Detailed Description
Base class for generic data.
OBGenericData is an abstract base class which defines an interface for storage, retrieval, and indexing of
arbitrary generic data. Subclasses of OBGenericData can be used to store custom data on a per-atom,
per-bond, per-molecule, or per-residue basis. Open Babel currently supports a small subset of chemical
functionality as OBGenericData types, which will expand over time to support additional interconversion
(e.g., spectroscopy, dynamics, surfaces...)
For more information on currently supported types, please see the developer wiki:
http://openbabel.sourceforge.net/wiki/Generic_Data
For your own custom data, either define a custom subclass using an id from the
OBGenericDataType::CustomData0 to OBGenericDataType::CustomData15 slots, or store your data as a
string and use OBPairData for key/value access. The latter is highly recommended for various text descriptors
e.g., in QSAR, atom or bond labels, or other textual data.
New in Open Babel, version 2.1 is the template-based OBPairTemplate, which can be used to store arbitrary
data types. There are predefined types OBPairInteger and OBPairFloatingPoint for storing integers and
floating-point values without converting to a string representation.
Also new is the "source" or "origin" of a data entry, enumerated by DataOrigin. This can be accessed by
SetOrigin() and GetOrigin(), as well as via "filtering" methods in OBBase, allowing you to separate data read
While the library and import routines will set DataOrigin correctly, you should try to annotate data added by
your code. Typically this would either be userAdded or external. The former refers to something the user
requested as an annotation, while the latter refers to annotations your code adds automatically.
if (mol.HasData(OBGenericDataType::UnitCell))
{
uc = (OBUnitCell*)mol.GetData(OBGenericDataType::UnitCell);
sprintf(buffer,
"%10.5f%10.5f%10.5f%10.5f%10.5f%10.5f",
uc->GetA(), uc->GetB(), uc->GetC(),
uc->GetAlpha() , uc->GetBeta(), uc->GetGamma());
ofs << buffer << endl;
}
...
vector<OBGenericData*>::iterator k;
vector<OBGenericData*> vdata = mol.GetData();
for (k = vdata.begin();k != vdata.end();++k)
if ((*k)->GetDataType() == OBGenericDataType::PairData)
{
ofs << "> <" << (*k)->GetAttribute() << ">" << endl;
ofs << ((OBPairData*)(*k))->GetValue() << endl << endl;
}
Similar code also works for OBGenericData stored in an OBAtom or OBBond or OBResidue. These
examples show use of DataOrigin outside of the Open Babel library.
atom.SetData(label);
}
...
When designing a class derived from OBGenericData you must add a Clone() function. For classes used with
OBMol this is used when an OBMol object is copied. If your class member variables contain pointers to
atoms or bonds then it will be necessary to ensure that these are updated in Clone() to refer to the new
molecule. Without these and similar pointers it is more likely that the very simple clone function
It is recommended that, if possible, OBGenericData classes do not store atom and bond pointers. Using atom
and bond indices instead would allow the simple version of Clone() above. See OBRotameterData::Clone for
an example of a more complicated version. For classes which are not intended to support copying, Clone() can
return NULL
Clone() is a pure virtual function so that you need to decide what kind of function you need and include it
explicitly.
Returns:
The attribute (key), which can be used to retrieve this data
Referenced by OBMoleculeFormat::MakeCombinedMolecule().
const
unsigned int GetDataType ( )
[inline]
Returns:
the data type for this object as defined in OBGenericDataType
const [inline,
virtual DataOrigin GetOrigin ( )
virtual]
The documentation for this class was generated from the following files:
• base.h
• generic.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBGlobalDataBase
#include <openbabel/data.h>
[legend]
Protected Attributes
bool _init
const char * _dataptr
std::string _filename
std::string _dir
std::string _subdir
std::string _envvar
Detailed Description
Base data table class, handles reading data files.
• Tries the _subdir directory if defined (def. "data") and then the main directory
1. Checks for the directory _dir (def. determined by the build environment)
• Tries the subdirectory corresponding to this version, then the main directory
OBGlobalDataBase ( ) [inline]
Constructor.
void Init ( )
Read in the data file, falling back as needed.
Returns:
the size of the database (for error checking)
Referenced by OBGlobalDataBase::Init().
Referenced by OBGlobalDataBase::Init().
The documentation for this class was generated from the following files:
• data.h
• data.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBGrid
#include <openbabel/grid.h>
[legend]
Protected Attributes
double _xmin
double _xmax
double _ymin
double _ymax
double _zmin
double _zmax
std::vector< OBGenericData * > _vdata
Detailed Description
A base grid class.
OBGrid ( ) [inline]
const
double GetXmin ( )
[inline]
Returns:
the minimum x point of the grid
const
double GetYmin ( )
[inline]
Returns:
the minimum y point of the grid
Returns:
the minimum z point of the grid
Returns:
the maximum x point of the grid
Returns:
the maximum y point of the grid
Returns:
the maximum z point of the grid
Returns:
whether the supplied XYZ coordinates fall within the box
Referenced by OBProxGrid::Setup().
double
bool PointIsInBox ( c ) [inline]
*
Returns:
true if the point falls within the box
Returns:
true if the point falls within the box
This method can be called by OBConversion::Read() before reading data. Derived classes should be sure to
call OBBase::Clear() to remove inherited generic data.
Returns:
Whether the call was successful.
Since:
version 2.1.
[inline,
virtual OBBase* const std::map< std::string,
( ) virtual,
DoTransformations std::string > *
inherited]
Perform a set of transformations specified by the user
Typically these are program options to filter or modify an object For example, see
OBMol::DoTransformations() and OBMol::ClassDescription()
Reimplemented in OBMol.
Returns:
A list of descriptions of command-line options for DoTransformations()
Returns:
whether the generic attribute/value pair exists
const
bool HasData ( char s ) [inherited]
*
Returns:
whether the generic attribute/value pair exists
Returns:
whether the generic attribute/value pair exists, for a given OBGenericDataType
const
bool DeleteData ( std::string s ) [inherited]
&
Deletes the generic data with the specified attribute, returning false if not found.
[inline,
void SetData ( OBGenericData * d )
inherited]
Adds a data object; does nothing if d==NULL.
Since:
version 2.2
Returns:
the number of OBGenericData items attached to this molecule.
Returns:
the first matching data for a given type from OBGenericDataType or NULL if nothing matches
const
OBGenericData * GetData ( std::string s ) [inherited]
&
Returns:
any data matching the given attribute name or NULL if nothing matches
Returns:
any data matching the given attribute name or NULL if nothing matches
[inline,
std::vector<OBGenericData*>& GetData ( )
inherited]
Returns:
all data, suitable for iterating
Returns:
all data with a specific origin, suitable for iterating
Returns:
the all matching data for a given type from OBGenericDataType or an empty vector if nothing
matches
Since:
version 2.2
Returns:
An iterator pointing to the beginning of the data
[inline,
OBDataIterator EndData ( )
inherited]
Returns:
An iterator pointing to the end of the data
The documentation for this class was generated from the following files:
• grid.h
• grid.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBGridData
#include <openbabel/griddata.h>
[legend]
Public Types
enum Unit { BOHR, ANGSTROM, OTHER }
Protected Attributes
std::string _attr
unsigned int _type
DataOrigin _source
Detailed Description
Store values for numeric grids such as orbitals or electrostatic potential.
Since:
version 2.2
See also:
OBFloatGrid
OBGridData facilitates attaching grids and cubes to molecular data. A "grid" is data representing some
function f(x,y,z), such as a molecule's electrostatic potential or molecular orbitals. This need not be a "cube"
even though this file format from Gaussian is frequently used. Axes need not be identical, and indeed do not
need to be orthogonal.
Open Babel supports reading several types of grid file formats, including Gaussian cube, and OpenDX. The
latter is notably used by the APBS program for numeric evaluation of molecular and protein electrostatic
potential.
mol->SetData(gd);
if (mol->HasData(OBGenericDataType::GridData)) {
vector<OBGenericData*> grids = mol->GetAllData(OBGenericDataType::GridData)
// Output the name of the grid
if (grids[0] != NULL)
cout << grids[0]->GetAttribute();
}
enum Unit
Unit of measure for grid spacings.
Enumerator:
BOHR
ANGSTROM
OTHER
OBGridData ( )
Constructor.
~OBGridData ( )
Destructor.
Returns:
the three axes parallel to the grid edges. The length of the returned vector is the step along that
direction.
Returns:
X axis direction.
Returns:
Y axis direction.
Returns:
Z axis direction.
Returns:
the three axes parallel to the grid edges
int
void GetNumberOfPoints ( nx,
&
int
ny,
&
int
nz
&
) const
Returns:
number of points along the three axes parallel to the grid edges.
Returns:
total number of points in the grid.
Returns:
number of points along the three axes parallel to the grid edges.
Returns:
grid values as a vector of doubles.
Returns:
the value at position i, j, k in the grid.
Referenced by OBForceField::GetGrid().
Returns:
the value at a position in the grid (by interpolation)
Returns:
the unit of measure for grid spacings.
Returns:
the minimum value of all points in the grid.
Returns:
the maximum value of all points in the grid.
Returns:
vector3 of the origin (i.e., the minimum x, y, and z coords of the grid).
Parameters:
o set to the origin (i.e., the minimum x, y, and z coords of the grid).
Deprecated:
Will be removed.
See also:
GetOriginVector()
Returns:
The maximum point in the grid.
Returns:
the unrestricted flag.
Returns:
the number of symmetries.
Referenced by OBForceField::GetGrid().
Set the limits (i.e., the origin point and the axes) NOTE: You must set the number of points first, with
SetNumberOfPoints so the grid spacing can be calculated
Referenced by OBForceField::GetGrid().
Deprecated:
Will be removed.
See also:
SetLimits(const vector3 &origin, const vector3 &x, const vector3 &y, const vector3 &z)
Referenced by OBForceField::GetGrid().
[inline,
void SetAttribute ( const std::string & v )
inherited]
Set the attribute (key), which can be used to retrieve this data.
[inline,
void SetOrigin ( const DataOrigin s )
inherited]
Set the origin of this data, which can be used to filter the data.
Returns:
The attribute (key), which can be used to retrieve this data
Referenced by OBMoleculeFormat::MakeCombinedMolecule().
Returns:
the data type for this object as defined in OBGenericDataType
The documentation for this class was generated from the following files:
• griddata.h
• griddata.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBGroupContrib
#include <openbabel/groupcontrib.h>
[legend]
Public Types
typedef std::map< const char
*, OBPlugin *, CharPtrLess > PluginMapType
typedef
PluginMapType::const_iterator PluginIterator
Protected Attributes
const char * _id
Detailed Description
Handle group contribution algorithms.
This is the base class for calculations that use the JOELib2 contribution algorithm.
Predict the logP, MR, TPSA (each instance of OBGroupContrib uses different parameters loaded from its own
datafile) for molecule mol using the group contributions algorithm from JOELib2.
virtual OBGroupContrib* MakeInstance ( const std::vector< std::string > & ) [inline, virtual]
Make a new instance of the class. See OpTransform, OBGroupContrib, SmartsDescriptor classes for derived
versions. Usually, the first parameter is the classname, the next three are parameters(ID, filename, description)
for a constructor, and the rest data.
Returns:
the value of a numeric descriptor
Returns:
the value of the descriptor and adds it to the object's OBPairData
Referenced by OBDescriptor::AddProperties().
Compare() is a virtual function and can be overridden to allow different comparison behaviour. The default
implementation here is suitable for OBDescriptor classes which return a double value. The stringstream is
parsed to retrieve a comparison operator, one of > < >= <= = == != , and a numerical value. The function
compares this the value returned by Predict() and returns the result. The stringstream is left after the number,
and its state reflects whether any errors have occurred. If noEval is true, the parsing is as normal but Predict is
not called and the function returns false.
Referenced by OBDescriptor::FilterCompare().
The string has the form: PropertyID1 predicate1 [booleanOp] PropertyID2 predicate2 ... The propertyIDs are
the ID of instances of a OBDescriptor class or the Attributes of OBPairData, and contain only letters, numbers
and underscores. The predicates must start with a punctuation character and are interpreted by the Compare
function of the OBDescriptor class. The default implementation expects a comparison operator and a number,
e.g. >=1.3 Whitespace is optional and is ignored. Each predicate and this OBBase object (usually OBMol) is
passed to the Compare function of a OBDescriptor. The result of each comparison is combined in a boolean
expression (which can include parentheses) in the normal way. The AND operator can be & or &&, the OR
operator can be | or ||, and a unitary NOT is ! The expected operator precedence is achieved using recursive
calls of the function. If there is no boolean Op, all the tests have to return true for the function to return true,
i.e. the default is AND. If the first operand of an AND is 0, or of an OR is 1, the parsing of the second operand
continues but no comparisons are done since the result does not matter.
Referenced by OBMol::DoTransformations().
Referenced by OBMol::DoTransformations().
Referenced by OBMol::DoTransformations().
Referenced by OBMol::DoTransformations().
Referenced by OBDescriptor::FilterCompare().
[static, protected,
)
inherited]
Reads comparison operator and the following string. Return its value if possible else NaN.
Returns:
false if != operator found, and true otherwise.
On entry the stringstream position should be just after the ID. On exit it is after the string. If there is an error,
the stringstream badbit is set. Returns false if != found, to indicate negation. Can be of any of the following
forms: mystring =mystring ==mystring [must be terminated by a space or tab] "mystring" 'mystring'
="mystring" ='mystring' [mystring can contain spaces or tabs] !=mystring !="mystring" [Returns false
indicating negate] There can be spaces or tabs after the operator = == !=
Referenced by OBDescriptor::ParsePredicate().
bool std::istream
( optionText,
CompareStringWithFilter &
std::string & s,
bool noEval,
NoCompOK =
bool
false
[static, protected,
)
inherited]
Makes a comparison using the operator and a string read from the filter stream with a provided string.
Returns:
the result of the comparison and true if NoCompOK==true and there is no comparison operator.
Referenced by OBDescriptor::FilterCompare().
Returns:
true if s (with or without _ replaced by spaces) is a PairData attribute. On return s is the form which
matches.
Referenced by OBConversion::LoadFormatFiles().
Referenced by OBPlugin::ListAsString().
[inline, static,
static PluginIterator Begin ( const char * PluginID )
inherited]
Return an iterator at the start of the map of the plugin types PluginID or, if there is no such map, the end of the
top level plugin map.
Referenced by OBFormat::RegisterFormat().
Referenced by OBFormat::RegisterFormat().
The documentation for this class was generated from the following file:
• groupcontrib.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
_a OBInternalCoord
_ang OBInternalCoord
_b OBInternalCoord
_c OBInternalCoord
_dst OBInternalCoord
_tor OBInternalCoord
OBInternalCoord(OBAtom *a=NULL, OBAtom *b=NULL, OBAtom
OBInternalCoord [inline]
*c=NULL, double dst=0.0, double ang=0.0, double tor=0.0)
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBInternalCoord
#include <openbabel/internalcoord.h>
Public Attributes
OBAtom * _a
OBAtom * _b
OBAtom * _c
double _dst
double _ang
double _tor
Detailed Description
Used to transform from z-matrix to cartesian coordinates.
The z-matrix representation uses coordinates relative to up to three atoms, which need not be bonded in any
fashion. A rough sketch of the a, b, and c atoms would be:
'*'
/
/
a----b
/
/
c
Warning:
Does not detect if NULL pointers are used. You should be careful.
OBAtom* _a
First connection for this atom (i.e., distance).
OBAtom* _b
Second reference atom (i.e., angle).
OBAtom* _c
Third reference atom (i.e., dihedral / torsion angle).
double _dst
Distance between this atom and _a.
double _ang
Angle between this, _a, and _b (i.e., _a is the vertex).
double _tor
Torsional/dihedral angle between this, _a, _b, and _c.
The documentation for this class was generated from the following file:
• internalcoord.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
OpenBabel::OBIsotopeTable
#include <openbabel/data.h>
[legend]
Protected Attributes
bool _init
const char * _dataptr
std::string _filename
std::string _dir
std::string _subdir
std::string _envvar
Detailed Description
Table of atomic isotope masses.
OBIsotopeTable ( void )
~OBIsotopeTable ( ) [inline]
Returns:
the number of elements in the isotope table
Returns:
the exact masss of the isotope (or by default (i.e. "isotope 0") the most abundant isotope)
OBElementTable::GetNumberOfElements(), OBElementTable::GetRGB(),
OBRotorRules::GetRotorIncrements(), OBElementTable::GetSymbol(), OBTypeTable::GetToType(),
OBElementTable::GetVdwRad(), OBTypeTable::SetFromType(), OBResidueData::SetResName(),
OBTypeTable::SetToType(), and OBTypeTable::Translate().
[inline,
void SetReadDirectory ( char * dir )
inherited]
Set the directory before calling Init().
The documentation for this class was generated from the following files:
• data.h
• data.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
d OBLocale [protected]
OBLocale() OBLocale
RestoreLocale() OBLocale
SetLocale() OBLocale
~OBLocale() OBLocale
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBLocale
#include <openbabel/locale.h>
Public Member
Functions
OBLocale ()
~OBLocale ()
void SetLocale ()
void RestoreLocale ()
Protected Attributes
OBLocalePrivate * d
Detailed Description
Handle the locale for numeric data parsing.
Many users will utilize Open Babel and tools built on top of the library in non-English locales. In particular,
the numeric locale (LC_NUMERIC) is used to determine the parsing of numeric data in files, reference data,
etc.
The OBLocale class, and its global variable obLocale handle both internal parsing of data through the
ANSI-C numeric locale and can be used for external use as well.
In particular, where available, OBLocale will use the enhanced uselocale() interface, which sets the locale for
a particular thread, rather for the entire process. (This is available on Linux, Mac OS X, and other platforms.)
To prevent errors, OBLocale will handle reference counting. If nested function calls all set the locale, only the
first call to SetLocale() and the last call to RestoreLocale() will do any work.
OBLocale ( )
~OBLocale ( )
void SetLocale ( )
void RestoreLocale ( )
OBLocalePrivate* d [protected]
The documentation for this class was generated from the following files:
• locale.h
• locale.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBMatrixData
#include <openbabel/generic.h>
[legend]
Protected Attributes
matrix3x3 _matrix
std::string _attr
unsigned int _type
DataOrigin _source
Detailed Description
Used to hold a 3x3 matrix item (e.g., a quadrupole moment).
Since:
version 2.2
OBMatrixData ( ) [inline]
const
matrix3x3 GetData ( )
[inline]
[inline,
void SetAttribute ( const std::string & v )
inherited]
Set the attribute (key), which can be used to retrieve this data.
[inline,
void SetOrigin ( const DataOrigin s )
inherited]
Set the origin of this data, which can be used to filter the data.
Returns:
The attribute (key), which can be used to retrieve this data
Referenced by OBMoleculeFormat::MakeCombinedMolecule().
Returns:
the data type for this object as defined in OBGenericDataType
The documentation for this class was generated from the following file:
• generic.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBMessageHandler
#include <openbabel/oberror.h>
Protected Attributes
unsigned int _messageCount [5]
std::deque< OBError > _messageList
obMessageLevel _outputLevel
std::ostream * _outputStream
bool _logging
unsigned int _maxEntries
std::streambuf * _inWrapStreamBuf
std::streambuf * _filterStreamBuf
Detailed Description
Handle error messages, warnings, debugging information and the like.
A global error log is defined by the Open Babel library for use of internal code as well as code built on top of
Open Babel. This class allows flexible filtering based on urgency (defined by the obMessageLevel type), an
"audit log" of molecular changes, including recall using the GetMessagesOfLevel method, etc.
Long-running code may wish to set the size of the in-memory error log using the StartLogging / StopLogging
methods and SetMaxLogEntries. Otherwise, the error log may easily fill up, requiring large amounts of
memory.
If you wish to divert error output to a different std::ostream (i.e., for graphical display, or a file log), use the
SetOutputStream method -- the default goes to the std::clog stream. Furthermore, some older code uses
std::cerr for direct error output, rather than the ThrowError() methods in this class. To prevent this, you can
turn on "error wrapping" using the StartErrorWrap method -- this behavior is turned off by default.
To make it easy to use the OBMessageHandler class and error logging facilities, a global log is defined:
or
stringstream errorMsg;
errorMsg << " Could not parse line in type translation table types.txt -- incorect number of
errorMsg << " found " << vc.size() << " expected " << _ncols << ".";
obErrorLog.ThrowError(__FUNCTION__, errorMsg.str(), obInfo);
The __FUNCTION__ builtin is defined by many compilers (e.g., GCC) but can be defined to an empty string
on some platforms without this compiler extension.
==============================
Open Babel Audit Log in ReadChemObject
OpenBabel::Read molecule Protein Data Bank format
==============================
Open Babel Information in ParseConectRecord
WARNING: Problems reading a PDB file
Problems reading a CONECT record.
According to the PDB specification,
the record should have 70 columns, but OpenBabel found 61 columns.
OBMessageHandler ( )
~OBMessageHandler ( )
Returns:
all messages matching a specified level
Returns:
the current maximum number of entries (default = 0 for no limit)
Referenced by OBConversion::FullConvert().
Returns:
the current output level
bool StartErrorWrap ( )
Start "wrapping" messages to cerr into ThrowError calls.
bool StopErrorWrap ( )
Turn off "wrapping" messages, restoring normal cerr use (default).
Referenced by OBMessageHandler::~OBMessageHandler().
Returns:
Count of messages received at the obError level
Returns:
Count of messages received at the obWarning level
Returns:
Count of messages received at the obInfo level
Returns:
Count of messages received at the obAuditMsg level
Returns:
string GetMessageSummary ( )
Returns:
Summary of messages received at all levels
Referenced by OBMessageHandler::ThrowError().
Referenced by OBMessageHandler::ThrowError().
Referenced by OBMessageHandler::ThrowError().
Referenced by OBMessageHandler::ThrowError().
The default stream buffer for the output stream (saved if wrapping is ued).
The documentation for this class was generated from the following files:
• oberror.h
• oberror.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBMol
#include <openbabel/mol.h>
[legend]
Protected Attributes
int _flags
bool _autoPartialCharge
bool _autoFormalCharge
std::string _title
std::vector< OBAtom * > _vatom
std::vector< OBBond * > _vbond
unsigned short int _dimension
int _totalCharge
unsigned int _totalSpin
double * _c
std::vector< double * > _vconf
double _energy
unsigned int _natoms
unsigned int _nbonds
std::vector< OBResidue * > _residue
std::vector< OBInternalCoord * > _internals
unsigned short int _mod
std::vector< OBGenericData * > _vdata
Detailed Description
Molecule Class.
The most important class in Open Babel is OBMol, or the molecule class. The OBMol class is designed to
store all the basic information associated with a molecule, to make manipulations on the connection table of a
molecule facile, and to provide member functions which automatically perceive information about a molecule.
A guided tour of the OBMol class is a good place to start.
OBMol mol;
For example:
#include <iostream.h>
#include <openbabel/mol.h>
#include <openbabel/obconversion.h>
int main(int argc,char **argv)
{
OBConversion conv(&cin,&cout);
if(conv.SetInAndOutFormats("SDF","MOL2"))
conv->Write(&mol);
}
return(1);
}
will read in a molecule in SD file format from stdin (or the C++ equivalent cin) and write a MOL2 format file
out to standard out. Additionally, The input and output formats can be altered using the OBConversion class
Once a molecule has been read into an OBMol (or created via other methods) the atoms and bonds can be
accessed by the following methods:
OBAtom *atom;
atom = mol.GetAtom(5); //random access of an atom
or
OBBond *bond;
bond = mol.GetBond(14); //random access of a bond
or
or
It is important to note that atom arrays currently begin at 1 and bond arrays begin at 0. Requesting atom 0 (
is perfectly valid. Note that this is expected to change in the near future to simplify coding and improve
efficiency.
The ambiguity of numbering issues and off-by-one errors led to the use of iterators in Open Babel. An iterator
is essentially just a pointer, but when used in conjunction with Standard Template Library (STL) vectors it
provides an unambiguous way to loop over arrays. OBMols store their atom and bond information in STL
vectors. Since vectors are template based, a vector of any user defined type can be declared. OBMols declare
vector<OBAtom*> and vector<OBBond*> to store atom and bond information. Iterators are then a natural
way to loop over the vectors of atoms and bonds.
A variety of predefined iterators have been created to simplify common looping requests (e.g., looping over
all atoms in a molecule, bonds to a given atom, etc.)
#include <openbabel/obiter.h>
#include <openbabel/obiter.h>
#include <openbabel/mol.h>
OBMol mol;
double exactMass = 0.0;
FOR_ATOMS_OF_MOL(a, mol)
{
exactMass += a->GetExactMass();
}
Note that with these convenience macros, the iterator "a" (or whichever name you pick) is declared for you --
you do not need to do it beforehand.
OBMol ( )
Constructor.
~OBMol ( ) [virtual]
Destructor.
The initial electronic state indicates if an atoms must make a double bond or not Kekulizing is attempted
recursively for all the atoms bonded to the first atom of the cycle.
Referenced by OBMol::NewPerceiveKekuleBonds().
Referenced by OBMol::start_kekulize().
Referenced by OBMol::NewPerceiveKekuleBonds().
Referenced by OBMol::NewPerceiveKekuleBonds().
const
OBMol & operator= ( OBMol mol )
&
Assignment, copies atoms,bonds and OBGenericData.
const
OBMol
&
Copies atoms and bonds but not OBGenericData.
Deprecated:
Use NewAtom instead, which ensures internal connections
Deprecated:
Use NewBond instead, which ensures internal connections
Deprecated:
Use NewResidue instead, which ensures internal connections
See also:
DeleteAtom which ensures internal connections
See also:
DeleteBond which ensures internal connections
See also:
DeleteResidue which ensures internal connections
Returns:
Whether the method was successful
Also checks bond_queue for any bonds that should be made to the new atom
OBAtom
bool InsertAtom ( atom )
&
Add a new atom to this molecule (like AddAtom) Calls BeginModify() before insertion and EndModify()
after insertion
Parameters:
beginIdx the atom index of the "start" atom
endIdx the atom index of the "end" atom
order the bond order (see OBBond::GetBO())
flags any bond flags such as stereochemistry (default = none)
Returns:
Whether the new bond creation was successful
Returns:
Whether the method was successful
OBResidue
bool AddResidue ( residue )
&
Add the specified residue to this molecule and update connections
Returns:
Whether the method was successful
Referenced by OBMol::operator+=().
OBAtom * NewAtom ( )
Instantiate a New Atom and add it to the molecule.
Create a new OBAtom in this molecule and ensure connections. (e.g. OBAtom::GetParent()
Checks bond_queue for any bonds that should be made to the new atom and updates atom indexes.
OBBond * NewBond ( )
Instantiate a New Bond and add it to the molecule.
Create a new OBBond in this molecule and ensure connections. (e.g. OBBond::GetParent()
Since:
version 2.1 Sets the proper Bond index and insures this molecule is set as the parent.
Referenced by OBBuilder::Connect().
OBResidue * NewResidue ( )
Create a new OBResidue in this molecule and ensure connections.
Referenced by OBMol::operator=().
Warning:
Does not update any residues which may contain this atom
Returns:
Whether deletion was successful
Returns:
Whether deletion was successful
Returns:
Whether deletion was successful
nukePerceivedData =
void EndModify ( bool ) [virtual]
true
Call when done with modificaions -- re-perceive data as needed. This method "turns on" perception routines
and re-evaluates molecular structure.
Returns:
The number of nested BeginModify() calls. Used internally.
Returns:
the entire set of flags. (Internal use, mainly.)
Referenced by OBAtomTyper::AssignImplicitValence().
Returns:
the title of this molecule (often the filename)
Parameters:
const
unsigned int NumAtoms ( )
[inline]
Returns:
the number of atoms (i.e. OBAtom children)
Returns:
Returns:
the number of non-hydrogen atoms
Returns:
the number of residues (i.e. OBResidue substituents)
Returns:
the number of rotatble bonds. See OBBond::IsRotor() for details
Returns:
the atom at index idx or NULL if it does not exist.
Warning:
Atom indexing will change. Use iterator methods instead.
Returns a pointer to the atom after a safety check 0 < idx <= NumAtoms
Returns:
the first atom in this molecule, or NULL if none exist.
Deprecated:
Will be removed in favor of more standard iterator methods
Returns:
the bond at index idx or NULL if it does not exist.
Warning:
Bond indexing may change. Use iterator methods instead.
Returns a pointer to the bond after a safety check 0 <= idx < NumBonds
Returns:
the bond connecting the atom indexed by a and b or NULL if none exists.
Warning:
Atom indexing will change. Use atom objects and iterators instead.
Returns:
the bond between the atoms bgn and end or NULL if none exists
Returns:
the residue indexed by idx, or NULL if none exists
Warning:
Residue indexing may change. Use iterator methods instead.
Referenced by OBMol::operator=().
Returns:
the dihedral angle (in degrees) between the four atoms supplied a1-a2-a3-a4) WARNING: SetTorsion
takes an angle in radians while GetTorsion returns it in degrees
Returns:
the dihedral angle (in degrees) between the four atoms a, b, c, and d) WARNING: SetTorsion takes
an angle in radians while GetTorsion returns it in degrees
Returns:
the angle (in degrees) between the three atoms a, b and c (where a-> b (vertex) -> c )
string GetFormula ( )
Returns:
the stochoimetric formula (e.g., C4H6O)
Stochoimetric formula (e.g., C4H6O). This is either set by OBMol::SetFormula() or generated on-the-fly
using the "Hill order" -- i.e., C first if present, then H if present all other elements in alphabetical order.
Returns:
the stochoimetric formula in spaced format e.g. C 4 H 6 O 1
Stochoimetric formula in spaced format e.g. C 4 H 6 O 1 No pair data is stored. Normally use without
parameters: GetSpacedFormula()
Since:
version 2.1
const
double GetEnergy ( )
[inline]
Returns:
the heat of formation for this molecule (in kcal/mol)
Referenced by OBMol::operator=().
Returns:
Returns:
the mass given by isotopes (or most abundant isotope, if not specified)
int GetTotalCharge ( )
Returns:
the total charge on this molecule (i.e., 0 = neutral, +1, -1...)
Returns the total molecular charge -- if it has not previously been set it is calculated from the atomic formal
charge information. (This may or may not be correct!) If you set atomic charges with
OBAtom::SetFormalCharge() you really should set the molecular charge with OBMol::SetTotalCharge()
Returns:
the total spin on this molecule (i.e., 1 = singlet, 2 = doublet...)
Returns the total spin multiplicity -- if it has not previously been set It is calculated from the atomic spin
multiplicity information assuming the high-spin case (i.e. it simply sums the number of unpaired electrons
assuming no further pairing of spins.
Returns:
the dimensionality of coordinates (i.e., 0 = unknown or no coord, 2=2D, 3=3D)
Returns:
the set of all atomic coordinates. See OBAtom::GetCoordPtr for more
Referenced by OBForceField::ConjugateGradientsInitialize(),
OBForceField::ConjugateGradientsTakeNSteps(), OBScoreGrid::Eval(),
OBForceField::LineSearchTakeStep(), OBForceField::Newton2NumLineSearch(),
OBForceField::RandomRotorSearchInitialize(), OBRotorList::RemoveSymVals(),
OBRotamerList::SetCurrentCoordinates(), OBProxGrid::Setup(),
OBForceField::SteepestDescentTakeNSteps(), and OBForceField::WeightedRotorSearch().
Returns:
the Smallest Set of Smallest Rings has been run (see OBRing class
Referenced by OBPhModel::CorrectForPH().
Referenced by OBPhModel::AssignSeedPartialCharge().
const
void SetTitle ( char title )
*
Set the title of this molecule to title.
std::string
void SetTitle ( title )
&
Set the title of this molecule to title.
Referenced by OBMol::FindSSSR().
Referenced by OBAtomTyper::AssignTypes().
Referenced by OBRingTyper::AssignTypes().
Referenced by OBMol::FindChiralCenters().
Referenced by OBPhModel::AssignSeedPartialCharge().
Referenced by OBAtomTyper::AssignImplicitValence().
Referenced by OBBond::IsClosure().
Referenced by OBMol::AddHydrogens().
Referenced by OBPhModel::CorrectForPH().
Referenced by OBAtomTyper::CorrectAromaticNitrogens().
Referenced by OBMol::AssignSpinMultiplicity().
Referenced by OBAtomTyper::AssignImplicitValence().
Referenced by OBMol::EndModify().
Typically these are program options to filter or modify an object For example, see
OBMol::DoTransformations() and OBMol::ClassDescription()
Referenced by OBMoleculeFormat::ReadChemObjectImpl().
Returns:
A list of descriptions of command-line options for DoTransformations()
Renumber the atoms in this molecule according to the order in the supplied vector. This will return without
action if the supplied vector is empty or does not have the same number of atoms as the molecule.
See also:
OBMol::GetCoordinates()
Referenced by OBForceField::WeightedRotorSearch().
void ToInertialFrame ( )
Translate all conformers to the inertial frame-of-reference.
const
void Translate ( vector3 v )
&
Translates all conformers in the molecule by the supplied vector.
this method adds the vector v to all atom positions in all conformers
this method adds the vector v to all atom positions in the conformer nconf. If nconf ==
OB_CURRENT_CONFORMER, then the atom positions in the current conformer are translated.
const
void Rotate ( u[3][3] )
double
Rotate all conformers using the supplied matrix u (a 3x3 array of double).
Referenced by OBMol::Rotate().
void Center ( )
Translate to the center of all coordinates (for this conformer).
Referenced by OBMol::DoTransformations().
bool Kekulize ( )
Transform to standard Kekule bond structure (presumably from an aromatic form).
bool PerceiveKekuleBonds ( )
void NewPerceiveKekuleBonds ( )
Kekulize aromatic rings without using implicit valence.
This new perceive kekule bonds function has been designed to handle molecule files without explicit
hydrogens such as pdb or xyz. (It can, of course, easily handle explicit hydrogens too.) The function does not
rely on GetImplicitValence function The function looks for groups of aromatic cycle For each group it tries to
guess the number of electrons given by each atom in order to satisfy the huckel (4n+2) rule If the huckel rule
cannot be satisfied the algorithm try with its best alternative guess Then it recursively walk on the atoms of
the cycle and assign single and double bonds
bool DeleteHydrogens ( )
Delete all hydrogens from the molecule
Returns:
Success
Returns:
Success
bool DeleteNonPolarHydrogens ( )
Delete all hydrogen atoms connected to a non-polar atom
See also:
OBAtom::IsNonPolarHydrogen
Parameters:
polaronly Whether to add hydrogens only to polar atoms (i.e., not to C atoms)
correctForPH Whether to call CorrectForPH() first
Returns:
Whether any hydrogens were added
bool AddPolarHydrogens ( )
Add only polar hydrogens (i.e., attached to polar atoms, not C).
Referenced by OBMoleculeFormat::ReadChemObjectImpl().
Referenced by OBMol::Separate().
bool ConvertDativeBonds ( )
Converts the charged form of coordinate bonds, e.g.[N+]([O-])=O to N(=O)=O.
Referenced by OBMol::DoTransformations().
Referenced by OBMol::AddHydrogens().
If NoImplicitH is true then the molecule has no implicit hydrogens. Individual atoms on which ForceNoH()
has been called also have no implicit hydrogens. If NoImplicitH is false (the default), then if there are any
explicit hydrogens on an atom then they constitute all the hydrogen on that atom. However, a hydrogen atom
with its _isotope!=0 is not considered explicit hydrogen for this purpose. In addition, an atom which has had
ForceImplH()called for it is never considered hydrogen deficient, e.g. unbracketed atoms in SMILES. Any
discrepancy with the expected atom valency is interpreted as the atom being a radical of some sort and iits
_spinMultiplicity is set to 2 when it is one hydrogen short and 3 when it is two hydrogens short and similarly
for greater hydrogen deficiency.
So SMILES C[CH] is interpreted as methyl carbene, CC[H][H] as ethane, and CC[2H] as CH3CH2D.
Referenced by OBMol::PerceiveBondOrders().
Returns:
the center of the supplied conformer nconf
See also:
Center() to actually center all conformers at the origin
Referenced by OBBuilder::CorrectStereoBonds().
void FindSSSR ( )
Find Smallest Set of Smallest Rings (see OBRing class for more details).
void FindRingAtomsAndBonds ( )
Find all ring atoms and bonds. Does not need to call FindSSSR().
void FindChiralCenters ( )
Find all chiral atom centers. See OBAtom::IsChiral() for more details.
OBBitVec
void FindLargestFragment ( frag )
&
Find the largest fragment in OBMol (which may include multiple non-connected fragments)
Parameters:
frag Return (by reference) a bit vector indicating the atoms in the largest fragment
vector3 & p2
)
Aligns atom a on p1 and atom b along p1->p2 vector.
This method adds single bonds between all atoms closer than their combined atomic covalent radii, then
"cleans up" making sure bonded atoms are not closer than 0.4A and the atom does not exceed its valence. It
implements blue-obelisk:rebondFrom3DCoordinates.
void PerceiveBondOrders ( )
Attempts to perceive multiple bonds based on geometries.
This method uses bond angles and geometries from current connectivity to guess atom types and then filling
empty valences with multiple bonds. It currently has a pass to detect some frequent functional groups. It still
needs a pass to detect aromatic rings to "clean up." AssignSpinMultiplicity(true) is called at the end of the
function. The true states that there are no implict hydrogens in the molecule.
void FindAngles ( )
Fills out an OBAngleData with angles from the molecule.
Referenced by OBMolAngleIter::OBMolAngleIter().
void FindTorsions ( )
Fills out an OBTorsionData with angles from the molecule.
Referenced by OBMolTorsionIter::OBMolTorsionIter().
Referenced by OBMol::GetGIDVector().
Calculates a set of symmetry identifiers for a molecule. Atoms with the same symmetry ID are symmetrically
equivalent. Vector is indexed from zero.
Referenced by OBMol::FindChiralCenters().
bool Has2D ( )
Are there non-zero coordinates in two dimensions (i.e. X and Y)?
bool Has3D ( )
Are there non-zero coordinates in all three dimensions (i.e. X, Y, Z)?
bool HasNonZeroCoords ( )
Are there any non-zero coordinates?
Referenced by OBMol::AddHydrogens().
Referenced by OBAtom::GetType().
Referenced by OBRing::GetType().
Referenced by OBMol::FindChiralCenters().
Referenced by OBAtom::GetHyb().
Referenced by OBBond::IsClosure().
Referenced by OBMol::AddHydrogens().
Referenced by OBMol::AssignSpinMultiplicity().
bool IsChiral ( )
Is this molecule chiral?
Returns:
the number of conformers in this molecule
Referenced by OBForceField::WeightedRotorSearch().
Warning:
Does no checking to see if c is large enough
Returns:
the coordinates to conformer i
ci conformer index
std::vector<
double *
>::iterator &
Set the iterator to the beginning of the conformer list
Returns:
the array of coordinates for the first conformer
Returns:
The array of coordinates for the next conformer, or NULL if none exist
Returns:
the entire set of conformers for this molecule as a vector of floating point arrays
Returns:
An atom iterator pointing to the beginning of the atom list
Returns:
An atom iterator pointing to the end of the atom list
Returns:
A bond iterator pointing to the beginning of the bond list
Returns:
A bond iterator pointing to the end of the bond list
Returns:
A residue iterator pointing to the beginning of the residue list
Returns:
A residue iterator pointing to the end of the residue list
Returns:
the first atom (or NULL if none exist)
Returns:
the next atom (if any, or NULL if none exist)
Returns:
the first bond (or NULL if none exist)
Returns:
the next bond (if any, or NULL if none exist)
OBResidueIterator
OBResidue* BeginResidue ( i ) [inline]
&
Set the iterator i to the beginning of the resdiue list
Returns:
the first residue (or NULL if none exist)
Returns:
the next residue (if any, or NULL if not possible)
Returns:
the first internal coordinate record, or NULL if none exist
See also:
SetInternalCoord
Returns:
the next first internal coordinate record, or NULL if none exist
See also:
SetInternalCoord
Returns:
whether the generic attribute/value pair exists
const
bool HasData ( char s ) [inherited]
*
Returns:
whether the generic attribute/value pair exists
Returns:
whether the generic attribute/value pair exists, for a given OBGenericDataType
const
bool DeleteData ( std::string s ) [inherited]
&
Deletes the generic data with the specified attribute, returning false if not found.
[inline,
void SetData ( OBGenericData * d )
inherited]
Adds a data object; does nothing if d==NULL.
Since:
version 2.2
Returns:
the number of OBGenericData items attached to this molecule.
Returns:
the first matching data for a given type from OBGenericDataType or NULL if nothing matches
const
OBGenericData * GetData ( std::string s ) [inherited]
&
Returns:
any data matching the given attribute name or NULL if nothing matches
Returns:
any data matching the given attribute name or NULL if nothing matches
[inline,
std::vector<OBGenericData*>& GetData ( )
inherited]
Returns:
all data, suitable for iterating
Returns:
all data with a specific origin, suitable for iterating
Returns:
the all matching data for a given type from OBGenericDataType or an empty vector if nothing
matches
Since:
version 2.2
Returns:
An iterator pointing to the beginning of the data
[inline,
OBDataIterator EndData ( )
inherited]
Returns:
An iterator pointing to the end of the data
Referenced by OBMol::OBMol().
Referenced by OBMol::OBMol().
double* _c [protected]
coordinate array
Referenced by OBMol::GetInternalCoord().
The documentation for this class was generated from the following files:
• mol.h
• chiral.cpp
• kekulize.cpp
• mol.cpp
• ring.cpp
• transform.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBMolAngleIter
#include <openbabel/obiter.h>
Detailed Description
Iterate over all angles in an OBMol.
Since:
version 2.1
To facilitate iteration through all angles in a molecule, without resorting to atom indexes (which will change
in the future), a variety of iterator methods are provided.
This has been made significantly easier by a series of macros in the obiter.h header file:
Here is an example:
#include <openbabel/obiter.h>
#include <openbabel/mol.h>
OBMol mol;
OBAtom *a, *b, *c;
double ang;
FOR_ANGLES_OF_MOL(angle, mol)
{
// The variable a behaves like OBAngle* when used with -> and * but
// but needs to be explicitly converted when appearing as a parameter
// in a function call - use &*a
b = _mol.GetAtom((*angle)[0] + 1);
OBMolAngleIter ( ) [inline]
~OBMolAngleIter ( ) [inline]
Returns:
Whether the iterator can still advance (i.e., visit more angles)
Returns:
A vector of three atom indexes specifying the angle
See also:
OBAtom::GetIdx()
The documentation for this class was generated from the following files:
• obiter.h
• obiter.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBMolAtomBFSIter
#include <openbabel/obiter.h>
Detailed Description
Iterate over all atoms in an OBMol in a breadth-first search (BFS).
Since:
version 2.1
To facilitate iteration through all atoms in a molecule, without resorting to atom indexes (which will change in
the future), a variety of iterator methods are provided.
This class provides a breadth-first search ordering of atoms. When one connected component is exhausted, the
iterator will start at another until all atoms are visited. No guarantee is made as to the ordering of iteration
through connected components.
The iterator maintains an internal queue and list of visited atoms. As such it may not be appropriate for
memory-constrained situations when iterating through large molecules.
Use of this iterator has been made significantly easier by a series of macros in the obiter.h header file:
Here is an example:
#include <openbabel/obiter.h>
#include <openbabel/mol.h>
OBMol mol;
FOR_BFS_OF_MOL(a, mol)
{
// The variable a behaves like OBAtom* when used with -> and * but
// but needs to be explicitly converted when appearing as a parameter
// in a function call - use &*a
OBMolAtomBFSIter ( ) [inline]
~OBMolAtomBFSIter ( ) [inline]
Returns:
Whether the iterator can still advance (i.e., visit more atoms)
Referenced by OBMolAtomBFSIter::operator++().
const
OBAtom* operator-> ( )
[inline]
Returns:
a pointer to the current atom
const
OBAtom& operator* ( )
[inline]
Returns:
a reference to the current atom
Returns:
the current depth of the iterator
Since:
version 2.2
The documentation for this class was generated from the following files:
• obiter.h
• obiter.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBMolAtomDFSIter
#include <openbabel/obiter.h>
Detailed Description
Iterate over all atoms in an OBMol in a depth-first search (DFS).
Since:
version 2.1
To facilitate iteration through all atoms in a molecule, without resorting to atom indexes (which will change in
the future), a variety of iterator methods are provided.
This class provides a depth-first search ordering of atoms. When one connected component is exhausted, the
iterator will start at another until all atoms are visited. No guarantee is made as to the ordering of iteration
through connected components.
The iterator maintains an internal stack and list of visited atoms. As such it may not be appropriate for
memory-constrained situations when iterating through large molecules.
Use of this iterator has been made significantly easier by a series of macros in the obiter.h header file:
Here is an example:
#include <openbabel/obiter.h>
#include <openbabel/mol.h>
OBMol mol;
FOR_DFS_OF_MOL(a, mol)
{
// The variable a behaves like OBAtom* when used with -> and * but
// but needs to be explicitly converted when appearing as a parameter
// in a function call - use &*a
OBMolAtomDFSIter ( ) [inline]
~OBMolAtomDFSIter ( ) [inline]
const
OBMolAtomDFSIter & operator= ( OBMolAtomDFSIter ai )
&
Returns:
Whether the iterator can still advance (i.e., visit more atoms)
Referenced by OBMolAtomDFSIter::operator++().
const
OBAtom* operator-> ( )
[inline]
Returns:
a pointer to the current atom
const
OBAtom& operator* ( )
[inline]
Returns:
a reference to the current atom
Returns:
NULL if at the last atom in a fragment, else the next atom
Referenced by OBMolAtomDFSIter::operator++().
The documentation for this class was generated from the following files:
• obiter.h
• obiter.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBMolAtomIter
#include <openbabel/obiter.h>
Detailed Description
Iterate over all atoms in an OBMol.
To facilitate iteration through all atoms in a molecule, without resorting to atom indexes (which will change in
the future), a variety of iterator methods are provided.
This has been made significantly easier by a series of macros in the obiter.h header file:
Here is an example:
#include <openbabel/obiter.h>
#include <openbabel/mol.h>
OBMol mol;
double exactMass = 0.0;
FOR_ATOMS_OF_MOL(a, mol)
{
// The variable a behaves like OBAtom* when used with -> and * but
// but needs to be explicitly converted when appearing as a parameter
// in a function call - use &*a
exactMass += a->GetExactMass();
}
OBMolAtomIter ( ) [inline]
~OBMolAtomIter ( ) [inline]
const
OBMolAtomIter & operator= ( OBMolAtomIter ai )
&
Returns:
Whether the iterator can still advance (i.e., visit more atoms)
Referenced by OBMolAtomIter::operator++().
const
OBAtom* operator-> ( )
[inline]
Returns:
a pointer to the current atom
const
OBAtom& operator* ( )
[inline]
Returns:
a reference to the current atom
The documentation for this class was generated from the following files:
• obiter.h
• obiter.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBMolBondIter
#include <openbabel/obiter.h>
Detailed Description
Iterate over all bonds in an OBMol.
To facilitate iteration through all bonds in a molecule, without resorting to bond indexes (which may change
in the future), a variety of iterators are provided.
This has been made significantly easier by a series of macros in the obiter.h header file:
Here is an example:
#include <openbabel/obiter.h>
#include <openbabel/mol.h>
OBMol mol;
unsigned int bondOrderSum = 0;
FOR_BONDS_OF_MOL(b, mol)
{
// The variable b behaves like OBBond* when used with -> and * but
// but needs to be explicitly converted when appearing as a parameter
// in a function call - use &*b
bondOrderSum += b->GetBO();
}
OBMolBondIter ( ) [inline]
~OBMolBondIter ( ) [inline]
Returns:
Whether the iterator can still advance (i.e., visit more bonds)
Referenced by OBMolBondIter::operator++().
const
OBBond* operator-> ( )
[inline]
Returns:
a pointer to the current bond
OBBond& operator* ( )
const
[inline]
Returns:
a reference to the current bond
The documentation for this class was generated from the following files:
• obiter.h
• obiter.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBMolPairIter
#include <openbabel/obiter.h>
Detailed Description
Iterate over all pairs of atoms (>1-4) in an OBMol.
Since:
version 2.1.
To facilitate iteration through all pairs of atoms in a molecule, without resorting to bond indexes (which may
change in the future), a variety of iterators are provided. These pairs of atoms are separated by 4 atoms or
more (i.e., these are non-bonded interactions).
This has been made significantly easier by a series of macros in the obiter.h header file:
Here is an example:
#include <openbabel/obiter.h>
#include <openbabel/mol.h>
OBMol mol;
OBAtom *a, *b;
double rab;
FOR_PAIRS_OF_MOL(p, mol)
{
// The variable b behaves like OBBond* when used with -> and * but
// but needs to be explicitly converted when appearing as a parameter
// in a function call - use &*p
a = mol.GetAtom(p->first);
b = mol.GetAtom(p->second);
rab = a->GetDistance(b);
}
OBMolPairIter ( ) [inline]
~OBMolPairIter ( ) [inline]
Returns:
Whether the iterator can still advance (i.e., visit more 1-4 atom pairs)
Returns:
A vector of two atom indexes specifying the 1-4 atom pair
See also:
OBAtom::GetIdx()
The documentation for this class was generated from the following files:
• obiter.h
• obiter.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBMolRingIter
#include <openbabel/obiter.h>
Detailed Description
Iterate over all rings in an OBMol.
Since:
version 2.1
To facilitate iteration through all rings in a molecule, without resorting to ring indexes (which may change in
the future) a variety of iterator classes and methods are provided. One word of warning is that these iterator
methods automatically call OBMol::FindSSSR() which may involve a significant performance hit on large
molecules.
Calling iterator classes has been made significantly easier by a series of macros in the obiter.h header file:
Here is an example:
#include <openbabel/obiter.h>
#include <openbabel/mol.h>
OBMol mol;
FOR_RINGS_OF_MOL(r, mol)
{
// The variable r behaves like OBRing* when used with -> and * but
// but needs to be explicitly converted when appearing as a parameter
// in a function call - use &*r
OBMolRingIter ( ) [inline]
~OBMolRingIter ( ) [inline]
const
OBMolRingIter & operator= ( OBMolRingIter ri )
&
Returns:
Whether the iterator can advance (i.e., there are more rings)
Referenced by OBMolRingIter::operator++().
const
OBRing* operator-> ( )
[inline]
Returns:
const
OBRing& operator* ( )
[inline]
Returns:
A reference to the current ring (if any)
The documentation for this class was generated from the following files:
• obiter.h
• obiter.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBMolTorsionIter
#include <openbabel/obiter.h>
Detailed Description
Iterate over all torsions in an OBMol.
Since:
version 2.1
To facilitate iteration through all torsions in a molecule, without resorting to atom indexes (which will change
in the future), a variety of iterator methods are provided.
This has been made significantly easier by a series of macros in the obiter.h header file:
Here is an example:
#include <openbabel/obiter.h>
#include <openbabel/mol.h>
OBMol mol;
OBAtom *a, *b, *c, *d;
double tor;
FOR_TORSIONS_OF_MOL(t, mol)
{
// The variable a behaves like OBTorsion* when used with -> and * but
// but needs to be explicitly converted when appearing as a parameter
// in a function call - use &*t
OBMolTorsionIter ( ) [inline]
~OBMolTorsionIter ( ) [inline]
Returns:
Whether the iterator can still advance (i.e., visit more torsions)
Returns:
A vector of four atom indexes specifying the torsion
See also:
OBAtom::GetIdx()
The documentation for this class was generated from the following files:
• obiter.h
• obiter.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBMoleculeFormat
#include <openbabel/obmolecformat.h>
[legend]
Public Types
typedef std::map< std::string,
unsigned > NameIndexType
typedef std::map< const char
*, OBPlugin *, CharPtrLess > PluginMapType
typedef
PluginMapType::const_iterator PluginIterator
Protected Attributes
const char * _id
Detailed Description
An OBFormat convenience subclass for conversion to/from OBMol data.
This class is not intended for direct use outside of Open Babel, unless you're writing a new format converting
to or from an OBMol molecule. (e.g., see
http://openbabel.sourceforge.net/wiki/HowTo:Add_A_New_File_Format).
An OBFormat which converts to and/or from OBMol can derive from this class to save duplicating the
ReadChemObject() and/or WriteChemObject() methods. Derive directly from OBFormat if the object
converted is not OBMol or if interaction with the framework is required during the execution of
OBMoleculeFormat ( ) [inline]
Referenced by XMLMoleculeFormat::ReadChemObject().
Referenced by XMLMoleculeFormat::WriteChemObject().
[inline,
virtual bool ReadChemObject ( OBConversion * pConv )
virtual]
The "Convert" interface for reading a new molecule.
Returns:
Success, or false if no molecule was read.
Instead of sending molecules for output via AddChemObject(), they are saved in here in OBMoleculeFormat
or discarded. By default they are saved only if they are in the first input file. Parts of subsequent molecules,
such as chemical structure, coordinates and OBGenericData can replace the parts in molecules with the same
title that have already been stored, subject to a set of rules. After all input files have been read, the stored
molecules (possibly now having augmented properties) are sent to the output format.
Is a static function with *this as parameter so that it can be called from other format classes like
XMLMoleculeFormat which are not derived from OBMoleculeFormat.
Referenced by OBMoleculeFormat::ReadChemObjectImpl().
Referenced by OBMoleculeFormat::WriteChemObjectImpl().
Returns:
the OBMol which combines pFirst and pSecond (i.e.)
Makes a new OBMol on the heap by combining two molecules according to the rule below. If both have
OBGenericData of the same type, or OBPairData with the same attribute, the version from pFirst is used.
Returns a pointer to a new OBMol which will need deleting by the calling program (probably by being sent to
an output format). If the molecules cannot be regarded as being the same structure a NULL pointer is returned
and an error message logged.
pFirst and pSecond and the objects they point to are not changed. (const modifiers difficult because class
OBMol not designed appropriately)
Combining molecules: rules for each of the three parts Title: Use the title of pFirst unless it has none, when
use that of pSecond. Warning if neither molecule has a title.
Structure
OBGenericData OBPairData
Referenced by OBMoleculeFormat::DeferMolOutput().
If no index is found, it is constructed from the datafile by reading all of it using the format pInFormat, and
written to the directory containing the datafile. This means that this function can be used without worrying
whether there is an index. It will be slow to execute the first time, but subsequent uses get the speed benefit of
indexed access to the datafile.
The serialization and de-serialization of the NameIndexType is entirely in this routine and could possibly be
improved. Currently re-hashing is done every time the index is read.
[inline,
const std::type_info& GetType ( void )
virtual]
Returns:
Referenced by OBFormat::RegisterFormat().
Reads a single object. Does not make a new object on the heap; can be used with a pointer to an chem object
on the heap or the stack.
Reimplemented in XMLMoleculeFormat.
Writes a single object Does not delete the object; can be used with a pointer to an chem object on the heap or
the stack.
Returns:
false on error.
Must be provided by each format class. Can include a list of command line Options. These may be used to
construction check boxes, radio buttons etc for GUI interface.
If not provided, the object type used by the default format is used (usually OBMol).
Referenced by OBConversion::ReportNumberConverted().
Referenced by OBFormat::Display().
Returns:
1 on success, -1 on error and 0 if not implemented
Reimplemented in XMLBaseFormat.
[inline, virtual,
virtual OBFormat* MakeNewInstance ( )
inherited]
Returns:
a pointer to a new instance of the format, or NULL if fails. Normally a single global instance is used
but this may cause problems if there are member variables and the format is used in more than one
place in the program.
Referenced by OBConversion::RegisterFormat().
[static,
OBFormat * FormatFromMIME ( const char * MIME )
inherited]
Referenced by OBConversion::FormatFromMIME().
Referenced by OBConversion::LoadFormatFiles().
[inline, static,
inherited]
Get a pointer to a plugin from its type and ID. Return NULL if not found. Not cast to Type*.
Referenced by OBConversion::LoadFormatFiles().
Referenced by OBPlugin::ListAsString().
[inline, static,
static PluginIterator Begin ( const char * PluginID )
inherited]
Return an iterator at the start of the map of the plugin types PluginID or, if there is no such map, the end of the
top level plugin map.
Referenced by OBFormat::RegisterFormat().
Referenced by OBFormat::RegisterFormat().
The documentation for this class was generated from the following files:
• obmolecformat.h
• obmolecformat.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBNasaThermoData
#include <openbabel/kinetics.h>
[legend]
Protected Attributes
double Coeffs [14]
double LoT
double MidT
double HiT
char phase
std::string _attr
unsigned int _type
Detailed Description
Thermodynamic data in old style NASA polynomial form for OBMol.
This is a venerable data format used to describe specific heats, enthalpies and entropies, particularly in the gas
phase and at high temperatures. There is a standard datafile with fixed format (for punched cards!) which can
be read and written to this OBMol extension using the thermo format. It is also used in chemkin format and in
cmlreact format For a brief description of the meaning of the coefficients see
http://www.me.berkeley.edu/gri_mech/data/nasa_plnm.html The first 7 coefficients are for the high
temperature range MidT to HiT; and the second 7 are for the low temperature range LoT to MidT Note that
there is a more modern NASA polynomial with more terms, which is not supported here.
OBNasaThermoData ( ) [inline]
Referenced by OBNasaThermoData::Clone().
const
double GetMidT ( )
[inline]
[inline,
void SetAttribute ( const std::string & v )
inherited]
Set the attribute (key), which can be used to retrieve this data.
[inline,
void SetOrigin ( const DataOrigin s )
inherited]
Set the origin of this data, which can be used to filter the data.
Returns:
The attribute (key), which can be used to retrieve this data
Referenced by OBMoleculeFormat::MakeCombinedMolecule().
Returns:
the data type for this object as defined in OBGenericDataType
Base class returns a default value (the attribute type) but should never be called.
The documentation for this class was generated from the following file:
• kinetics.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBOp
#include <openbabel/op.h>
[legend]
Public Types
typedef const std::map
< std::string, std::string > OpMap
typedef std::map< const char
*, OBPlugin *, CharPtrLess > PluginMapType
typedef
PluginMapType::const_iterator PluginIterator
Protected Attributes
const char * _id
Detailed Description
Operations to modify molecules before output.
Since:
version 2.2
Classes derived from OBOp implement options for the babel program (for both its commandline and GUI
interfaces). It is intended for options that carry out some modification on the molecule(or reaction) after it has
been input, but before it is output. An example is the --center option implemented in the OpCenter class in
ops.cpp, which is a duplicate of the built in -c option for centering coordinates.
The advantage of plugin classes is that no existing code has to be modified when a new class is added. You
can list those that are present by babel -L ops or from a menu item in the GUI.
Any OBOp derived class has to have a constructor, a function returning a short description, and a Do()
function which does the work. It also needs a WorksWith() function which is always the same when operating
on OBMol objects. (It is not made a default to reducecode dependencies.) A single global instance of the class
needs to be instantiated to define the ID, by which the class is subsequently accessed.
OBOp works by two of its static functions being called from code in transform.cpp:
• OpOptions(OBBase* pOb, OpMap* pOptions) returns a string describing each of the derivated
classes relevant to objects of the class of the OBBase parameter, for use in the help text and to set
checkboxes in the GUI;
• DoOps(OBBase* pOb) applies each option whose ID is listed in the Opmap parameter to the object
(ususally an OBMol) in the OBBase parameter.
Options which need parameters are passed these (space delimited) in the text parameter of the Do() function.
They can also access other general options specified on the command line by examining the the OpMap
parameter.
To use an OBOp class from the API it is necessary to use an extra step in case it isn't present. So to apply the
OBOp clas with ID gen3D to your mol
[inline,
virtual const char* TypeID ( )
virtual]
Provides the name of this kind of plugin. Use -L "ops" to list from commandline.
Implemented in OpTransform.
Referenced by OBOp::DoOps().
const [pure
virtual bool WorksWith ( OBBase * pOb )
virtual]
Returns:
true if this op is designed to work with the class of pOb, e.g. OBMol
Implemented in OpTransform.
Referenced by OBOp::OpOptions().
Returns:
string describing options, for display with -H and to make checkboxes in GUI
Referenced by OBMol::ClassDescription().
Returns:
false indicating object should not be output, if any Do() returns false
Referenced by OBMol::DoTransformations().
Referenced by OBDescriptor::Display().
Referenced by OBConversion::LoadFormatFiles().
Referenced by OBConversion::LoadFormatFiles().
Referenced by OBPlugin::ListAsString().
[inline, static,
static PluginIterator Begin ( const char * PluginID )
inherited]
Return an iterator at the start of the map of the plugin types PluginID or, if there is no such map, the end of the
top level plugin map.
Referenced by OBFormat::RegisterFormat().
Referenced by OBFormat::RegisterFormat().
The documentation for this class was generated from the following file:
• op.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBPairData
#include <openbabel/generic.h>
[legend]
Protected Attributes
std::string _value
std::string _attr
unsigned int _type
DataOrigin _source
Detailed Description
Used to store arbitrary text attribute/value relationships.
Ideal for arbitrary text descriptors for molecules, atoms, bonds, residues, e.g. in QSAR.
OBPairData ( )
Referenced by OBMol::GetFormula().
[inline,
void SetAttribute ( const std::string & v )
inherited]
Set the attribute (key), which can be used to retrieve this data.
[inline,
void SetOrigin ( const DataOrigin s )
inherited]
Set the origin of this data, which can be used to filter the data.
Returns:
The attribute (key), which can be used to retrieve this data
Referenced by OBMoleculeFormat::MakeCombinedMolecule().
Returns:
the data type for this object as defined in OBGenericDataType
The documentation for this class was generated from the following files:
• generic.h
• generic.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBPairTemplate
#include <openbabel/generic.h>
[legend]
Protected Attributes
ValueT _value
std::string _attr
unsigned int _type
DataOrigin _source
Detailed Description
template<class ValueT>
class OpenBabel::OBPairTemplate< ValueT >
OBPairTemplate ( ) [inline]
const [inline,
virtual const ValueT& GetGenericValue ( )
virtual]
[inline,
void SetAttribute ( const std::string & v )
inherited]
Set the attribute (key), which can be used to retrieve this data.
[inline,
void SetOrigin ( const DataOrigin s )
inherited]
Set the origin of this data, which can be used to filter the data.
Returns:
The attribute (key), which can be used to retrieve this data
Referenced by OBMoleculeFormat::MakeCombinedMolecule().
Returns:
the data type for this object as defined in OBGenericDataType
The documentation for this class was generated from the following file:
• generic.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBPhModel
#include <phmodel.h>
[legend]
Protected Attributes
bool _init
const char * _dataptr
std::string _filename
std::string _dir
std::string _subdir
std::string _envvar
Detailed Description
Corrections for pH used by OBMol::CorrectForPH().
The data/phmodel.txt file contains transformations which are applied to correct the charges for a given pH.
This function uses the Henderson-Hasselbalch equation to calculate which species (protonated/ unprotonated)
is present in the highest concentration at the given pH.
# carboxylic acid
O=C[OD1:1] >> O=C[O-:1] 4.0
The 4.0 is the pKa for the dissociation [HA] -> [H+] + [A-]. To calculate [HA]/[A-] we use:
# methyl amine
C[N:1] >> C[N+:1] 10.7
Here, the 10.7 is the pKa for the dissociation [BH+] -> [H+] + [B:]. To calculate [BH+]/[B:] we use:
The transformations are all applied (if needed at the specified pH value) in the same order they are found in
data/phmodel.txt.
OBPhModel ( )
~OBPhModel ( )
Returns:
the number of chemical transformations
OBMol
void AssignSeedPartialCharge ( mol )
&
Referenced by OBAtom::GetPartialCharge().
Referenced by OBMol::CorrectForPH().
[inline,
void SetReadDirectory ( char * dir )
inherited]
Set the directory before calling Init().
OBBondTyper::AssignFunctionalGroupBonds(), OBAtomTyper::AssignHyb(),
OBAtomTyper::AssignImplicitValence(), OBPhModel::AssignSeedPartialCharge(),
OBRingTyper::AssignTypes(), OBAtomTyper::AssignTypes(), OBAtomTyper::CorrectAromaticNitrogens(),
OBElementTable::CorrectedBondRad(), OBElementTable::CorrectedVdwRad(),
OBPhModel::CorrectForPH(), OBElementTable::GetAllredRochowElectroNeg(),
OBElementTable::GetAtomicNum(), OBElementTable::GetCovalentRad(),
OBElementTable::GetElectronAffinity(), OBElementTable::GetElectroNeg(),
OBIsotopeTable::GetExactMass(), OBTypeTable::GetFromType(), OBElementTable::GetIonization(),
OBElementTable::GetMass(), OBElementTable::GetMaxBonds(), OBElementTable::GetName(),
OBElementTable::GetNumberOfElements(), OBElementTable::GetRGB(),
OBRotorRules::GetRotorIncrements(), OBElementTable::GetSymbol(), OBTypeTable::GetToType(),
OBElementTable::GetVdwRad(), OBGlobalDataBase::Init(), OBAromaticTyper::OBAromaticTyper(),
OBAtomTyper::OBAtomTyper(), OBBondTyper::OBBondTyper(), OBElementTable::OBElementTable(),
OBIsotopeTable::OBIsotopeTable(), OBPhModel::OBPhModel(), OBResidueData::OBResidueData(),
OBRingTyper::OBRingTyper(), OBRotorRules::OBRotorRules(), OBTypeTable::OBTypeTable(),
OBTypeTable::SetFromType(), OBResidueData::SetResName(), OBTypeTable::SetToType(), and
OBTypeTable::Translate().
The documentation for this class was generated from the following files:
• phmodel.h
• phmodel.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBPlugin
#include <openbabel/plugin.h>
[legend]
Public Types
typedef std::map< const char
*, OBPlugin *, CharPtrLess > PluginMapType
typedef
PluginMapType::const_iterator PluginIterator
Protected Attributes
const char * _id
Detailed Description
Base class for all types of dynamic classes discovered at runtime.
Since:
version 2.2
See also:
plugin.h
Referenced by OBDescriptor::Display().
virtual OBPlugin* MakeInstance ( const std::vector< std::string > & ) [inline, virtual]
Make a new instance of the class. See OpTransform, OBGroupContrib, SmartsDescriptor classes for derived
versions. Usually, the first parameter is the classname, the next three are parameters(ID, filename, description)
for a constructor, and the rest data.
Referenced by OBConversion::LoadFormatFiles().
Referenced by OBConversion::LoadFormatFiles().
Referenced by OBPlugin::ListAsString().
[inline,
static PluginIterator Begin ( const char * PluginID )
static]
Return an iterator at the start of the map of the plugin types PluginID or, if there is no such map, the end of the
top level plugin map.
const [pure
virtual PluginMapType& GetMap ( )
virtual]
Returns the map of the subtypes.
Referenced by OBFormat::RegisterFormat().
[static,
OBPlugin::PluginMapType & GetTypeMap ( const char * PluginID )
protected]
Returns the map of a particular plugin type, e.g. GetMapType("fingerprints").
Referenced by OBFormat::RegisterFormat().
The documentation for this class was generated from the following files:
• plugin.h
• plugin.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
d OBPointGroup [protected]
IdentifyPointGroup() OBPointGroup
OBPointGroup() OBPointGroup
Setup(OBMol *) OBPointGroup
~OBPointGroup() OBPointGroup
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBPointGroup
#include <openbabel/pointgroup.h>
Protected Attributes
PointGroupPrivate * d
Detailed Description
Brute-force point group symmetry perception.
Since:
version 2.2
This class performs brute-force point group symmetry perception to yield symmetry identifiers. In the future,
this should provide optimized symmetry-derived coordinates as well.
OBPointGroup ( )
~OBPointGroup ( )
Returns:
the 3D point group symbol for this molecule
PointGroupPrivate* d [protected]
The documentation for this class was generated from the following files:
• pointgroup.h
• pointgroup.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
OpenBabel::OBProxGrid
#include <openbabel/grid.h>
[legend]
Protected Attributes
int _gridtype
int _nxinc
int _nyinc
int _nzinc
int _maxinc
double _inc
std::vector< std::vector< int > > cell
double _xmin
double _xmax
double _ymin
double _ymax
double _zmin
double _zmax
std::vector< OBGenericData * > _vdata
Detailed Description
A grid for determining the proximity of a given point to atoms in an OBMol.
Deprecated:
May be removed in the future, since docking is not a key feature
~OBProxGrid ( ) [inline]
Referenced by OBProxGrid::GetProxVector().
const [inline,
double GetXmin ( )
inherited]
Returns:
the minimum x point of the grid
const [inline,
double GetYmin ( )
inherited]
Returns:
the minimum y point of the grid
Returns:
the minimum z point of the grid
Returns:
the maximum x point of the grid
Returns:
the maximum y point of the grid
Returns:
the maximum z point of the grid
) [inline, inherited]
Returns:
whether the supplied XYZ coordinates fall within the box
Referenced by OBProxGrid::Setup().
Returns:
true if the point falls within the box
Returns:
true if the point falls within the box
This method can be called by OBConversion::Read() before reading data. Derived classes should be sure to
call OBBase::Clear() to remove inherited generic data.
Returns:
Whether the call was successful.
Since:
version 2.1.
[inline,
virtual OBBase* const std::map< std::string,
( ) virtual,
DoTransformations std::string > *
inherited]
Perform a set of transformations specified by the user
Typically these are program options to filter or modify an object For example, see
OBMol::DoTransformations() and OBMol::ClassDescription()
Reimplemented in OBMol.
Returns:
A list of descriptions of command-line options for DoTransformations()
Returns:
whether the generic attribute/value pair exists
const
bool HasData ( char s ) [inherited]
*
Returns:
whether the generic attribute/value pair exists
Returns:
whether the generic attribute/value pair exists, for a given OBGenericDataType
const
bool DeleteData ( std::string s ) [inherited]
&
Deletes the generic data with the specified attribute, returning false if not found.
[inline,
void SetData ( OBGenericData * d )
inherited]
Adds a data object; does nothing if d==NULL.
Since:
version 2.2
Returns:
the number of OBGenericData items attached to this molecule.
Returns:
the first matching data for a given type from OBGenericDataType or NULL if nothing matches
const
OBGenericData * GetData ( std::string s ) [inherited]
&
Returns:
any data matching the given attribute name or NULL if nothing matches
Returns:
any data matching the given attribute name or NULL if nothing matches
[inline,
std::vector<OBGenericData*>& GetData ( )
inherited]
Returns:
all data, suitable for iterating
Returns:
all data with a specific origin, suitable for iterating
Returns:
the all matching data for a given type from OBGenericDataType or an empty vector if nothing
matches
Since:
version 2.2
Returns:
An iterator pointing to the beginning of the data
[inline,
OBDataIterator EndData ( )
inherited]
Returns:
An iterator pointing to the end of the data
Referenced by OBProxGrid::Setup().
The documentation for this class was generated from the following files:
• grid.h
• grid.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
GetAtomIdx() OBRTree
OBRTree(OBAtom *, OBRTree *) OBRTree
PathToRoot(std::vector< OBAtom * > &) OBRTree
~OBRTree() OBRTree [inline]
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBRTree
#include <openbabel/ring.h>
Detailed Description
Internal class for OBRing search algorithms to create a search tree of OBAtom objects.
~OBRTree ( ) [inline]
int GetAtomIdx ( )
Returns:
the OBAtom::GetIdx() index of the atom in this node
The supplied path is built up of OBAtom nodes, with the root atom the last item in the vector.
Referenced by OBRTree::PathToRoot().
The documentation for this class was generated from the following files:
• ring.h
• ring.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
NextFloat() OBRandom
NextInt() OBRandom
OBRandom(bool useSys=false) OBRandom
Seed(int seed) OBRandom [inline]
TimeSeed() OBRandom
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBRandom
#include <openbabel/rand.h>
Public Member
Functions
OBRandom (bool useSys=false)
void Seed (int seed)
void TimeSeed ()
int NextInt ()
double NextFloat ()
Detailed Description
Random number generator.
The OBRandom class can be used to facilitate cross-platform random number generation. The class can be set
to specific seed states, or set to use the current time or other arbitrary data as a seed.
cerr << " New Random Integer " << generator.NextInt() << endl;
cerr << " New Random Floating-Point " << generator.NextFloat() << endl;
Alternatively, OBRandom can be used as an interface to the system random number generator.
void TimeSeed ( )
Use the current time for the random number generator seed If sranddev is available (e.g., Mac OS X, BSD...)
use this instead for more random seeds
int NextInt ( )
Returns:
a random integer
Referenced by OBForceField::RandomRotorSearchInitialize().
double NextFloat ( )
Returns:
a random floating-point number between 0.0 and 1.0
The documentation for this class was generated from the following files:
• rand.h
• rand.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBRateData
#include <openbabel/kinetics.h>
[legend]
Public Types
enum rate_type { A, n, E }
enum reaction_type {
ARRHENIUS = 55555, LINDERMANN, TROE, SRI,
THREEBODY
}
Public Attributes
reaction_type ReactionType
Protected Attributes
double Rates [3]
double LoRates [3]
double TroeParams [4]
std::map< std::string, double > Efficiencies
std::string _attr
unsigned int _type
DataOrigin _source
Detailed Description
Holds rate constant data for OBReaction.
The data is in a form used by CHEMKIN, at least the original free versions developed by Sandia Labs.
Cantera is a GPL chemical kinetics program with similar capabilities. Used by chemkin format and cml
reaction format
enum rate_type
Enumerator:
A
n
E
enum reaction_type
Enumerator:
ARRHENIUS
LINDERMANN
TROE
SRI
THREEBODY
OBRateData ( ) [inline]
const
double GetRate ( rate_type n )
[inline]
const
double GetLoRate ( rate_type n )
[inline]
const
double GetTroeParam ( int n )
[inline]
std::string
&
double & Eff
) [inline]
[inline,
void SetAttribute ( const std::string & v )
inherited]
Set the attribute (key), which can be used to retrieve this data.
[inline,
void SetOrigin ( const DataOrigin s )
inherited]
Set the origin of this data, which can be used to filter the data.
Returns:
The attribute (key), which can be used to retrieve this data
Referenced by OBMoleculeFormat::MakeCombinedMolecule().
Returns:
the data type for this object as defined in OBGenericDataType
reaction_type ReactionType
Referenced by OBRateData::OBRateData().
The documentation for this class was generated from the following file:
• kinetics.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBReaction
#include <reaction.h>
[legend]
Protected Attributes
std::vector< OBGenericData * > _vdata
Detailed Description
Used to store chemical reactions (i.e., reactants -> products).
For performing actual reaction transformations (i.e., deleting atoms, changing bonds, etc.) use the
OBChemTsfm class.
OBReaction ( ) [inline]
const
void AddProduct ( std::tr1::shared_ptr< sp ) [inline]
OBMol >
const
std::string GetTitle ( )
[inline]
const
void SetComment ( std::string comment ) [inline]
&
Returns:
A list of descriptions of command-line options for DoTransformations()
This method can be called by OBConversion::Read() before reading data. Derived classes should be sure to
call OBBase::Clear() to remove inherited generic data.
Returns:
Whether the call was successful.
Since:
version 2.1.
[inline,
virtual OBBase* const std::map< std::string,
( ) virtual,
DoTransformations std::string > *
inherited]
Perform a set of transformations specified by the user
Typically these are program options to filter or modify an object For example, see
OBMol::DoTransformations() and OBMol::ClassDescription()
Reimplemented in OBMol.
Returns:
whether the generic attribute/value pair exists
const
bool HasData ( char s ) [inherited]
*
Returns:
whether the generic attribute/value pair exists
Returns:
whether the generic attribute/value pair exists, for a given OBGenericDataType
const
bool DeleteData ( std::string s ) [inherited]
&
Deletes the generic data with the specified attribute, returning false if not found.
[inline,
void SetData ( OBGenericData * d )
inherited]
Adds a data object; does nothing if d==NULL.
Since:
version 2.2
Returns:
the number of OBGenericData items attached to this molecule.
Returns:
the first matching data for a given type from OBGenericDataType or NULL if nothing matches
const
OBGenericData * GetData ( std::string s ) [inherited]
&
Returns:
any data matching the given attribute name or NULL if nothing matches
Returns:
any data matching the given attribute name or NULL if nothing matches
[inline,
std::vector<OBGenericData*>& GetData ( )
inherited]
Returns:
all data, suitable for iterating
Returns:
all data with a specific origin, suitable for iterating
Returns:
the all matching data for a given type from OBGenericDataType or an empty vector if nothing
matches
Since:
version 2.2
Returns:
An iterator pointing to the beginning of the data
[inline,
OBDataIterator EndData ( )
inherited]
Returns:
An iterator pointing to the end of the data
The documentation for this class was generated from the following file:
• reaction.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBResidue
#include <openbabel/residue.h>
[legend]
Protected Attributes
unsigned int _idx
char _chain
unsigned int _aakey
unsigned int _reskey
std::string _resnum
std::string _resname
std::vector< bool > _hetatm
std::vector< std::string > _atomid
std::vector< OBAtom * > _atoms
std::vector< unsigned int > _sernum
std::vector< OBGenericData * > _vdata
Detailed Description
Residue information.
The residue information is drawn from PDB or MOL2 files (or similar), which track biomolecule information,
and are stored in the OBResidue class. OBResidues are stored inside the OBAtom class and OBMol classes.
The residue information for an atom can be requested in the following way:
OBAtom *atom;
OBResidue *r;
atom = mol.GetAtom(1);
r = atom->GetResidue();
cout << "This molecule has " << mol.NumResidues() << " residues." << endl;
OBResidue *r;
r = mol.GetResidue(1);
OBResidue ( void )
Constructor.
Referenced by OBAtom::~OBAtom().
Returns:
Whether the call was successful.
const
void SetName ( std::string resname )
&
Set the name of this residue (e.g., "ALA"). Use 3-char PDB standard names.
http://www.rcsb.org/pdb/file_formats/pdb/pdbguide2.2/part_79.html MODRES records for modified residues:
http://www.rcsb.org/pdb/file_formats/pdb/pdbguide2.2/part_36.html.
Referenced by OBMol::operator=().
Referenced by OBMol::operator=().
const
void SetChain ( chain )
char
Set the chain ID for this residue.
Referenced by OBMol::operator=().
const
void SetChainNum ( unsigned chainnum )
int
Set the chain number for this residue.
Referenced by OBMol::operator=().
const
void SetIdx ( unsigned idx )
int
Set the internal index of this residue in the parent OBMol. Intended mostly for internal use
Referenced by OBMol::operator=().
OBAtom
void SetSerialNum ( atom,
*
unsigned
sernum
int
)
Set the atomic serial number for a given atom (see OBSerialNums).
Referenced by OBMol::operator=().
Returns:
The residue name
Returns:
The residue number (in the sequence)
Returns:
The number of atoms in this residue
Returns:
The ID of the chain which includes this residue
Referenced by OBMol::operator=().
Returns:
The number of the chain which includes this residue
Referenced by OBMol::operator=().
Returns:
The internal index of this residue in the parent OBMol
Referenced by OBMol::DeleteResidue().
Returns:
The residue key (i.e., an entry in the OBResidueIndex namespace)
Returns:
a vector of all atoms in this residue
Returns:
all bonds in this residue. exterior includes bonds to atoms outside this residue (default is true)
Returns:
the atom ID (character code) for the supplied atom or "" if the atom is not found in this residue
Returns:
the serial number of the supplied atom (uses OBSerialNums)
Referenced by OBMol::operator=().
Returns:
Whether this residue has the supplied amino acid property defined from the OBAminoAcidProperty
namespace
Returns:
Whether atom a has the supplied residue atom property defined from the OBResidueAtomProperty
namespace
Returns:
Whether this residue has the supplied property defined from the OBResidueProperty namespace
Referenced by OBResidue::GetAtomProperty().
Returns:
If the given atom is a HETATM record
Returns:
If this residue matches the supplied restype Set by SetResidueKeys()
Returns:
An iterator to the beginning of the atom list in this residue
Returns:
An iterator to the end of the atom list in this residue
Returns:
The first atom (or NULL if none exist)
Referenced by OBMol::operator=().
std::vector<
OBAtom * NextAtom ( OBAtom * i )
>::iterator &
Increment the iterator i
Returns:
The next atom (or NULL if none exist)
[inline,
virtual OBBase* const std::map< std::string,
( ) virtual,
DoTransformations std::string > *
inherited]
Perform a set of transformations specified by the user
Typically these are program options to filter or modify an object For example, see
OBMol::DoTransformations() and OBMol::ClassDescription()
Reimplemented in OBMol.
Returns:
A list of descriptions of command-line options for DoTransformations()
Returns:
whether the generic attribute/value pair exists
const
bool HasData ( char s ) [inherited]
*
Returns:
whether the generic attribute/value pair exists
Returns:
whether the generic attribute/value pair exists, for a given OBGenericDataType
const
bool DeleteData ( std::string s ) [inherited]
&
Deletes the generic data with the specified attribute, returning false if not found.
[inline,
void SetData ( OBGenericData * d )
inherited]
Adds a data object; does nothing if d==NULL.
Since:
version 2.2
Returns:
the number of OBGenericData items attached to this molecule.
Returns:
the first matching data for a given type from OBGenericDataType or NULL if nothing matches
&
Returns:
any data matching the given attribute name or NULL if nothing matches
Returns:
any data matching the given attribute name or NULL if nothing matches
[inline,
std::vector<OBGenericData*>& GetData ( )
inherited]
Returns:
all data, suitable for iterating
Returns:
all data with a specific origin, suitable for iterating
Returns:
the all matching data for a given type from OBGenericDataType or an empty vector if nothing
matches
Since:
version 2.2
Returns:
An iterator pointing to the beginning of the data
[inline,
OBDataIterator EndData ( )
inherited]
Returns:
An iterator pointing to the end of the data
The documentation for this class was generated from the following files:
• residue.h
• residue.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBResidueAtomIter
#include <openbabel/obiter.h>
Detailed Description
Iterate over all atoms in an OBResidue.
To facilitate iteration through all atoms in a residue, without resorting to atom indexes (which may change in
the future) a variety of iterator classes and methods are provided.
This has been made significantly easier by a series of macros in the obiter.h header file:
Here is an example:
#include <openbabel/obiter.h>
#include <openbabel/mol.h>
OBMol mol;
double residueMass = 0.0;
FOR_RESIDUES_OF_MOL(r, mol)
{
// The variable r behaves like OBResidue* when used with -> and * but
// but needs to be explicitly converted when appearing as a parameter
// in a function call - use &*r
OBResidueAtomIter ( ) [inline]
~OBResidueAtomIter ( ) [inline]
const
OBResidueAtomIter & operator= ( OBResidueAtomIter ri )
&
Returns:
Whether the iterator can still advance (i.e., visit more atoms in this residue)
Referenced by OBResidueAtomIter::operator++().
const
OBAtom* operator-> ( )
[inline]
Returns:
a pointer to the current atom
const
OBAtom& operator* ( )
[inline]
Returns:
a reference to the current atom
The documentation for this class was generated from the following files:
• obiter.h
• obiter.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
OpenBabel::OBResidueData
#include <openbabel/data.h>
[legend]
Protected Attributes
bool _init
const char * _dataptr
std::string _filename
std::string _dir
std::string _subdir
std::string _envvar
Detailed Description
Table of common biomolecule residues (for PDB or other files).
Can assign atom types and bond orders for arbitrary residues
OBResidueData ( )
Returns:
the number of residues in the table
const
bool SetResName ( std::string s )
&
Sets the table to access the residue information for a specified residue name
Returns:
whether this residue name is in the table
Referenced by OBResidueData::AssignBonds().
const
int LookupBO ( std::string s )
&
Returns:
the bond order for the bond specified in the current residue
Deprecated:
Easier to use the two-argument form
Referenced by OBResidueData::AssignBonds().
const
std::string
&
const
std::string s2
&
)
Returns:
the bond order for the bond specified between the two specified atom labels
const
bool LookupType ( std::string atmid,
&
std::string
type,
&
int & hyb
)
Look up the atom type and hybridization for the atom label specified in the first argument for the current
residue
Returns:
whether the atom label specified is found in the current residue
Referenced by OBResidueData::AssignBonds().
Deprecated:
second OBBitVec argument is ignored
OBElementTable::GetElectronAffinity(), OBElementTable::GetElectroNeg(),
OBIsotopeTable::GetExactMass(), OBTypeTable::GetFromType(), OBElementTable::GetIonization(),
OBElementTable::GetMass(), OBElementTable::GetMaxBonds(), OBElementTable::GetName(),
OBElementTable::GetNumberOfElements(), OBElementTable::GetRGB(),
OBRotorRules::GetRotorIncrements(), OBElementTable::GetSymbol(), OBTypeTable::GetToType(),
OBElementTable::GetVdwRad(), OBTypeTable::SetFromType(), OBResidueData::SetResName(),
OBTypeTable::SetToType(), and OBTypeTable::Translate().
[inline,
void SetReadDirectory ( char * dir )
inherited]
Set the directory before calling Init().
The documentation for this class was generated from the following files:
• data.h
• data.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBResidueIter
#include <openbabel/obiter.h>
Detailed Description
Iterate over all residues in an OBMol.
To facilitate iteration through all residues in a molecule, without resorting to residue indexes (which may
change in the future) a variety of iterator classes and methods are provided.
This has been made significantly easier by a series of macros in the obiter.h header file:
Here is an example:
#include <openbabel/obiter.h>
#include <openbabel/mol.h>
OBMol mol;
FOR_RESIDUES_OF_MOL(r, mol)
{
// The variable r behaves like OBResidue* when used with -> and * but
// but needs to be explicitly converted when appearing as a parameter
// in a function call - use &*r
OBResidueIter ( ) [inline]
~OBResidueIter ( ) [inline]
const
OBResidueIter & operator= ( OBResidueIter ri )
&
Returns:
Whether the iterator can still advance (i.e., visit more residues)
Referenced by OBResidueIter::operator++().
Returns:
a pointer to the current residue
Returns:
a reference to the current residue
The documentation for this class was generated from the following files:
• obiter.h
• obiter.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
_path OBRing
_pathset OBRing
findCenterAndNormal(vector3 ¢er, vector3 &norm1, vector3 &norm2) OBRing
GetParent() OBRing [inline]
GetRootAtom() OBRing
GetType() OBRing
IsAromatic() OBRing
IsInRing(int i) OBRing [inline]
IsMember(OBAtom *a) OBRing
IsMember(OBBond *b) OBRing
OBRing() OBRing [inline]
OBRing(std::vector< int > &path, int size) OBRing
OBRing(std::vector< int > &path, OBBitVec set) OBRing [inline]
OBRing(const OBRing &src) OBRing
operator=(const OBRing &src) OBRing
PathSize() const OBRing [inline]
SetParent(OBMol *m) OBRing [inline]
SetType(char *type) OBRing
SetType(std::string &type) OBRing
Size() const OBRing [inline]
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
OpenBabel::OBRing
#include <openbabel/ring.h>
Public Attributes
std::vector< int > _path
OBBitVec _pathset
Detailed Description
Stores information on rings in a molecule from SSSR perception.
Ring information beyond atom and bond membership is usually not necessary, but more information can be
had about the rings in a molecule. The OBRing class is used to store the information from a Smallest Set of
Smallest Rings (SSSR) perception of a molecule. The OBMol member function OBMol::GetSSSR() stores
the information it perceives in a vector<OBRing*> inside the molecule. Perception is only done once for a
molecule unless the connection table is modified. The following code demonstrates how to extract the SSSR
information:
OBMol mol;
vector<OBRing*> vr;
vr = mol.GetSSSR();
OBRings store the atom numbers of the atoms in each of the smallest set of smallest rings in both a
vector<int> and an OBBitVec. An example of how to print out the atom numbers present in all SSSR rings is
show below:
vector<OBRing*>::iterator i;
vector<int>::iterator j;
vector<OBRing*> *rlist = (vector<OBRing*>*)mol.GetData("RingList");
for (i = rlist->begin();i != rlist->end();++i)
{
for(j = (*i)->_path.begin(); j != (*i)->_path.end(); ++j)
cout << *j << ' ';
cout << endl;
}
1 2 3 4 5 6
Ring information is automatically deleted from an OBMol when it goes out of scope or the OBMol::Clear()
member function is called.
Implements blue-obelisk:findSmallestSetOfSmallestRings.
OBRing ( ) [inline]
Parameters:
src reference to original OBRing object (rhs)
const
OBRing & operator= ( OBRing src )
&
OBRing assignment operator.
Parameters:
src reference to original OBRing object (rhs)
Returns:
reference to modified OBRing object (lhs)
Returns:
the size of this ring (i.e., how many atoms in the cycle)
Returns:
the size of this ring (i.e., how many atoms in the cycle)
Deprecated:
Use Size() instead
bool IsAromatic ( )
Returns:
whether this ring is aromatic If all atoms in this ring are aromatic, the ring will be considered aromatic
Todo:
This method uses implicit bonding -- bond info is not stored in OBRing
std::string
void SetType ( type )
&
Set the ring type (see OBRingTyper for more).
Returns:
the ring type
Returns:
the index for the root atom. O for furan, S for thiazole, N for pyrrole. For 6 membered aromatic rings,
the first non carbon atom is used for root. For 5 members rings the O, S or N (BOSum=3, valence=3)
will be used for root
Returns:
Whether atom a is a member of this ring
Returns:
Whether both atoms in bond b are in this ring
Todo:
This method uses implicit bonding -- bond info is not stored in OBRing
Returns:
Whether i as an atom index is in this ring
Referenced by OBAromaticTyper::SelectRootAtoms().
Referenced by OBMol::FindSSSR().
Returns:
the parent of this ring, or NULL if none has been defined
Parameters:
center The center of the ring
norm1 The normal of the best-fit plane for this ring
norm2 -1 * norm1 (i.e., the opposite direction of norm1)
Returns:
True (success)
std::vector<int> _path
the path of this ring (i.e., the atom indexes)
OBBitVec _pathset
the path of this ring as a redundant bit vector
The documentation for this class was generated from the following files:
• ring.h
• ring.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBRingData
#include <openbabel/generic.h>
[legend]
Protected Attributes
std::vector< OBRing * > _vr
std::string _attr
unsigned int _type
DataOrigin _source
Detailed Description
Used to store the SSSR set (filled in by OBMol::GetSSSR()).
OBRingData ( )
Parameters:
src reference to original OBRingData object (rhs)
~OBRingData ( )
Parameters:
src reference to original OBRingData object (rhs)
Returns:
reference to changed OBRingData object (lhs)
Referenced by OBMol::FindSSSR().
Referenced by OBMol::GetSSSR().
Referenced by OBMolRingIter::OBMolRingIter().
Referenced by OBMolRingIter::operator++().
[inline,
void SetAttribute ( const std::string & v )
inherited]
Set the attribute (key), which can be used to retrieve this data.
[inline,
void SetOrigin ( const DataOrigin s )
inherited]
Set the origin of this data, which can be used to filter the data.
Returns:
The attribute (key), which can be used to retrieve this data
Referenced by OBMoleculeFormat::MakeCombinedMolecule().
Returns:
The documentation for this class was generated from the following files:
• generic.h
• generic.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBRingSearch
#include <openbabel/ring.h>
Detailed Description
Internal class to facilitate OBMol::FindSSSR().
OBRingSearch ( ) [inline]
~OBRingSearch ( )
Destructor -- free all rings created from this search.
Referenced by OBMol::FindSSSR().
Referenced by OBMol::FindSSSR().
Referenced by OBMol::FindSSSR().
Referenced by OBRingSearch::AddRingFromClosure().
void WriteRings ( )
For debugging only, write the rings to std::cout.
Returns:
an iterator pointing to the beginning of the list of rings
Referenced by OBMol::FindSSSR().
Returns:
an iterator pointing to the end of the list of rings
Referenced by OBMol::FindSSSR().
The documentation for this class was generated from the following files:
• ring.h
• ring.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBRingTyper
#include <openbabel/typer.h>
[legend]
Protected Attributes
bool _init
const char * _dataptr
std::string _filename
std::string _dir
std::string _subdir
std::string _envvar
Detailed Description
Assigns ring types.
The OBRingTyper class is designed to read in a list of ring typing rules and apply them to molecules. The
code that performs ring typing is not usually used directly as ring typing is done automatically when the ring
type is requested of rings:
vector<OBRing*>::iterator i;
OBRingTyper ( )
~OBRingTyper ( )
Returns:
the number of SMARTS patterns
OBMol
void AssignTypes ( mol )
&
Assign external atomic types (ringtyp.txt).
Referenced by OBRing::GetType().
[inline,
void SetReadDirectory ( char * dir )
inherited]
Set the directory before calling Init().
The documentation for this class was generated from the following files:
• typer.h
• typer.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
~OBRotamerList() OBRotamerList
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBRotamerList
#include <openbabel/rotamer.h>
[legend]
Protected Attributes
std::string _attr
unsigned int _type
DataOrigin _source
Detailed Description
Supports a set of rotamer coordinate sets for some number of potentially rotatable bonds.
A high-level class for rotamer / conformer generation, intended mainly for use with the related class
OBRotorList and the OBRotorRules database
Rotamers represent conformational isomers formed simply by rotation of dihedral angles. On the other hand,
conformers may include geometric relaxation (i.e., slight modification of bond lengths, bond angles, etc.)
The following shows an example of generating 2 conformers using different rotor states. Similar code could
be used for systematic or Monte Carlo conformer sampling when combined with energy evaluation (molecular
mechanics or otherwise).
OBRotorList rl; // used to sample all rotatable bonds via the OBRotorRules data
// If you want to "fix" any particular atoms (i.e., freeze them in space)
// then set up an OBBitVec of the fixed atoms and call
// rl.SetFixAtoms(bitvec);
rl.Setup(mol);
rotamers.AddRotamer(rotorKey);
rotorKey[1] = 2; // switch one rotor
rotamers.AddRotamer(rotorKey);
rotamers.ExpandConformerList(mol, mol.GetConformers());
OBRotamerList ( ) [inline]
~OBRotamerList ( )
Parameters:
mol The molecule to evaluate
ref An array of the 4 dihedral atoms for each rotor
nrotors The number of rotors (i.e., the size of ref / 4)
Returns:
the number of rotatable bonds considered
Referenced by OBRotamerList::Clone().
Returns:
the number of rotamer (conformation) coordinate sets
Referenced by OBRotamerList::Clone().
Referenced by OBRotamerList::Clone().
Returns:
A reference array (as used by AddRotamer() as a configuration of the individual rotor bonds
Referenced by OBRotamerList::Clone().
Returns:
The set of coordinates by rotating the bonds in each rotamer
Referenced by OBRotamerList::ExpandConformerList().
Returns:
The set of coordinates as a reference in confs
Since:
version 2.2
Referenced by OBForceField::WeightedRotorSearch().
OBMol
void SetBaseCoordinateSets ( mol ) [inline]
&
Copies the mol's conformers (the coordinates, NOT the pointers) into the object as base coordinates.
Parameters:
bc The conformer set for the molecule
N The number of atoms in the molecule
Returns:
The number of "base" coordinate sets (i.e., the number of conformers in the base OBMol)
Referenced by OBRotamerList::Clone().
const
double* GetBaseCoordinateSet ( unsigned int i )
[inline]
Get a pointer to a specific base pointer (i.e., specific conformer).
Referenced by OBRotamerList::Clone().
const
unsigned int NumAtoms ( )
[inline]
Returns:
The number of atoms in the base OBMol
Referenced by OBRotamerList::Clone().
[inline,
void SetAttribute ( const std::string & v )
inherited]
Set the attribute (key), which can be used to retrieve this data.
[inline,
void SetOrigin ( const DataOrigin s )
inherited]
Set the origin of this data, which can be used to filter the data.
Returns:
The attribute (key), which can be used to retrieve this data
Referenced by OBMoleculeFormat::MakeCombinedMolecule().
Returns:
the data type for this object as defined in OBGenericDataType
The documentation for this class was generated from the following files:
• rotamer.h
• rotamer.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBRotationData
#include <openbabel/generic.h>
[legend]
Public Types
enum RType { UNKNOWN, ASYMMETRIC, SYMMETRIC, LINEAR }
Protected Attributes
std::vector< double > RotConsts
int SymNum
RType type
std::string _attr
unsigned int _type
DataOrigin _source
Detailed Description
Used to hold the rotational constants and symmetry numbers.
enum RType
Enumerator:
UNKNOWN
ASYMMETRIC
SYMMETRIC
LINEAR
OBRotationData ( ) [inline]
[inline,
virtual ~OBRotationData ( )
virtual]
Returns:
Rotational constants in GHz
const
RType GetRotorType ( )
[inline]
[inline,
void SetAttribute ( const std::string & v )
inherited]
Set the attribute (key), which can be used to retrieve this data.
[inline,
void SetOrigin ( const DataOrigin s )
inherited]
Set the origin of this data, which can be used to filter the data.
Returns:
The attribute (key), which can be used to retrieve this data
Referenced by OBMoleculeFormat::MakeCombinedMolecule().
Returns:
the data type for this object as defined in OBGenericDataType
The documentation for this class was generated from the following file:
• generic.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBRotor
#include <openbabel/rotor.h>
Detailed Description
A single rotatable OBBond as part of rotamer searching.
OBRotor ( )
~OBRotor ( ) [inline]
Referenced by OBRotorList::Setup().
OBBitVec
void SetEvalAtoms ( bv ) [inline]
&
Referenced by OBRotorList::SetEvalAtoms().
std::vector<
void SetDihedralAtoms ( vi ) [inline]
int > &
Referenced by OBRotorList::AssignTorVals().
Referenced by OBRotorList::RemoveSymVals().
Referenced by OBRotor::SetRotor().
OBBitVec
void SetFixedAtoms ( bv ) [inline]
&
std::vector<
void SetTorsionValues ( tmp ) [inline]
double > &
Referenced by OBRotorList::AssignTorVals().
Referenced by OBRotorList::RemoveSymVals().
Referenced by OBRotor::Precalc().
The documentation for this class was generated from the following files:
• rotor.h
• rotor.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBRotorKeys
#include <rotor.h>
Detailed Description
A class to generate all possible rotorKeys.
OBRotorKeys ( ) [inline]
Constructor.
unsigned
void AddRotor ( size ) [inline]
int
Add a rotor
Parameters:
size the rotor resolution
Referenced by OBForceField::SystematicRotorSearchInitialize().
Returns:
true if there are more rotor keys
Referenced by OBForceField::SystematicRotorSearchInitialize().
Returns:
current rotor key
Referenced by OBForceField::SystematicRotorSearchInitialize().
The documentation for this class was generated from the following file:
• rotor.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBRotorList
#include <rotor.h>
Detailed Description
Given an OBMol, set up a list of possibly rotatable torsions,.
OBRotorList ( )
~OBRotorList ( )
Referenced by OBRotorList::Setup().
Returns:
the number of rotors in this list
Returns:
true if the bond and at least one neighboring bond has fixed atoms
Returns:
whether this rotor list has any fixed (invariant) atoms
OBMol
void SetRotAtomsByFix ( mol )
&
Set the atoms to rotate from the dihedral atoms for each rotor Insures the fixed atoms are respected, but
otherwise functions like SetRotAtoms().
Returns:
True
Returns:
True if rotatable bonds were found
Referenced by OBForceField::RandomRotorSearchInitialize(),
OBForceField::SystematicRotorSearchInitialize(), and OBForceField::WeightedRotorSearch().
Returns:
True
Referenced by OBRotorList::Setup().
OBMol
bool SetEvalAtoms ( mol )
&
Determines which atoms should be used to calculate the internal energy if the dihedral angle of the rotor is
modified
Returns:
True
Referenced by OBRotorList::Setup().
OBMol
bool AssignTorVals ( mol )
&
Using the OBRotorRules database, set the torsion values (and delta) to be evaluated and tested
Referenced by OBRotorList::Setup().
Deprecated:
Currently has no effect
OBMol
void RemoveSymVals ( mol )
&
Rotates each bond to zero and 180 degrees and tests if the 2 conformers are duplicates. if so - the symmetric
torsion values are removed from consideration during a search
OBRotorIterator
OBRotor* BeginRotor ( i ) [inline]
&
OBRotorIterator
OBRotor* NextRotor ( i ) [inline]
&
OBMol
bool IdentifyEvalAtoms ( mol ) [inline]
&
Deprecated:
Not declared. Use Setup() for top-level functionality
The documentation for this class was generated from the following files:
• rotor.h
• rotor.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBRotorRule
#include <openbabel/rotor.h>
Detailed Description
A rule for torsional conformer searching, defined by a SMARTS pattern.
Rules define a SMARTS pattern to match and a set of 4 reference atoms defining the dihedral angle. The rule
can either define a set of possible dihedral angles in degrees and/or a "delta" (i.e., all multiples of delta will be
considered)
~OBRotorRule ( ) [inline]
Returns:
whether this rotor rule is valid (i.e., is the SMARTS pattern valid)
Referenced by OBRotorRules::ParseLine().
Returns:
a copy of the reference atom indexes inside the SMARTS pattern
Returns:
the resolution (delta) of a torsional step in degrees
Returns:
a reference to the dihedral angles to evaluate (in radians)
Returns:
the text of the SMARTS pattern for this rule
Returns:
the exact OBSmartsPattern object for this rule
The documentation for this class was generated from the following file:
• rotor.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBRotorRules
#include <openbabel/rotor.h>
[legend]
Protected Attributes
bool _init
const char * _dataptr
std::string _filename
std::string _dir
std::string _subdir
std::string _envvar
Detailed Description
Database of default hybridization torsional rules and SMARTS-defined OBRotorRule objects.
Use to automatically evaluate potentially rotatable bonds to generate lists of dihedral angles to consider. e.g.,
rotamer/conformer energy calculations
OBRotorRules ( )
~OBRotorRules ( )
Returns:
the number of rotor rules
Parameters:
mol molecule to evaluate
bond rotatable bond to evaluate
refs set to be the atom indexes (in mol) of the dihedral angle
vals set to be the list of angles to evaluate (in radians)
delta potential dihedral angle steps (in degrees)
Referenced by OBRotorList::AssignTorVals().
[inline,
void SetReadDirectory ( char * dir )
inherited]
Set the directory before calling Init().
The documentation for this class was generated from the following files:
• rotor.h
• rotor.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBSSMatch
#include <openbabel/parsmart.h>
Protected Attributes
bool * _uatoms
OBMol * _mol
Pattern * _pat
std::vector< int > _map
Detailed Description
Internal class: performs fast, exhaustive matching used to find just a single match in match() using recursion
and explicit stack handling.
~OBSSMatch ( )
Referenced by OpenBabel::match().
The documentation for this class was generated from the following files:
• parsmart.h
• parsmart.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
OpenBabel::OBScoreGrid
#include <openbabel/grid.h>
Public Attributes
double score
Protected Attributes
score_t gridtype
bool verbose
Detailed Description
A base class for scoring docking interactions between multiple molecules.
Deprecated:
Will disappear in future versions. Use your own code.
[inline,
virtual ~OBScoreGrid ( void )
virtual]
[inline,
virtual void Clear ( void )
virtual]
[inline,
virtual vector3 Center ( )
virtual]
[inline,
virtual vector3 CenterMol ( OBMol & )
virtual]
double score
The documentation for this class was generated from the following file:
• grid.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBSerialNums
#include <openbabel/generic.h>
[legend]
Protected Attributes
std::map< int, OBAtom * > _serialMap
std::string _attr
unsigned int _type
DataOrigin _source
Detailed Description
Defines a map between serial numbers (e.g., in a PDB file) and OBAtom objects inside a molecule.
OBSerialNums ( ) [inline]
Referenced by OBSerialNums::Clone().
[inline,
void SetAttribute ( const std::string & v )
inherited]
Set the attribute (key), which can be used to retrieve this data.
[inline,
void SetOrigin ( const DataOrigin s )
inherited]
Set the origin of this data, which can be used to filter the data.
Returns:
Referenced by OBMoleculeFormat::MakeCombinedMolecule().
Returns:
the data type for this object as defined in OBGenericDataType
The documentation for this class was generated from the following file:
• generic.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBSetData
#include <openbabel/generic.h>
[legend]
Protected Attributes
std::vector< OBGenericData * > _vdata
std::string _attr
unsigned int _type
DataOrigin _source
Detailed Description
Used to store arbitrary attribute/set relationships. Should be used to store a set of OBGenericData based on an
attribute.
OBSetData ( ) [inline]
Returns:
the OBGenericData associate with the attribute name parameter.
const
OBGenericData* GetData ( std::string s ) [inline]
&
Returns:
the OBGenericData associate with the attribute name parameter.
[inline,
void SetAttribute ( const std::string & v )
inherited]
Set the attribute (key), which can be used to retrieve this data.
[inline,
void SetOrigin ( const DataOrigin s )
inherited]
Set the origin of this data, which can be used to filter the data.
Returns:
The attribute (key), which can be used to retrieve this data
Referenced by OBMoleculeFormat::MakeCombinedMolecule().
Returns:
the data type for this object as defined in OBGenericDataType
The documentation for this class was generated from the following file:
• generic.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBSmartsPattern
#include <openbabel/parsmart.h>
Protected Attributes
std::vector< bool > _growbond
std::vector< std::vector< int > > _mlist
Pattern * _pat
std::string _str
Detailed Description
SMARTS (SMiles ARbitrary Target Specification) substructure searching.
Substructure search is an incredibly useful tool in the context of a small molecule programming library.
Having an efficient substructure search engine reduces the amount of hard code needed for molecule
perception, as well as increases the flexibility of certain operations. For instance, atom typing can be easily
performed based on hard coded rules of element type and bond orders (or hybridization). Alternatively, atom
typing can also be done by matching a set of substructure rules read at run time. In the latter case
customization based on application (such as changing the pH) becomes a facile operation. Fortunately for
Open Babel and its users, Roger Sayle donated a SMARTS parser which became the basis for SMARTS
matching in Open Babel.
For more information on the SMARTS support in Open Babel, see the wiki page:
http://openbabel.sourceforge.net/wiki/SMARTS
The SMARTS matcher, or OBSmartsPattern, is a separate object which can match patterns in the OBMol
class. The following code demonstrates how to use the OBSmartsPattern class:
OBMol mol;
...
OBSmartsPattern sp;
sp.Init("CC");
sp.Match(mol);
vector<vector<int> > maplist;
maplist = sp.GetMapList();
//or maplist = sp.GetUMapList();
//print out the results
vector<vector<int> >::iterator i;
vector<int>::iterator j;
for (i = maplist.begin();i != maplist.end();++i)
{
for (j = i->begin();j != i->end();++j)
cout << j << ' `;
cout << endl;
}
The preceding code reads in a molecule, initializes a SMARTS pattern of two single-bonded carbons, and
locates all instances of the pattern in the molecule. Note that calling the Match() function does not return the
results of the substructure match. The results from a match are stored in the OBSmartsPattern, and a call to
GetMapList() or GetUMapList() must be made to extract the results. The function GetMapList() returns all
matches of a particular pattern while GetUMapList() returns only the unique matches. For instance, the
pattern [OD1]~C~[OD1] describes a carboxylate group. This pattern will match both atom number
permutations of the carboxylate, and if GetMapList() is called, both matches will be returned. If
GetUMapList() is called only unique matches of the pattern will be returned. A unique match is defined as
one which does not cover the identical atoms that a previous match has covered.
OBSmartsPattern ( ) [inline]
~OBSmartsPattern ( ) [virtual]
const
OBSmartsPattern& operator= ( OBSmartsPattern cp ) [inline]
&
Returns:
Whether the pattern is a valid SMARTS expression
const
bool Init ( std::string pattern )
&
Parse the pattern SMARTS string.
Returns:
Whether the pattern is a valid SMARTS expression
Returns:
the SMARTS string which is currently used
Returns:
the SMARTS string which is currently used
Returns:
If the SMARTS pattern is an empty expression (e.g., invalid)
Returns:
If the SMARTS pattern is a valid expression
const
unsigned int NumAtoms ( )
[inline]
Returns:
the number of atoms in the SMARTS pattern
Returns:
the number of bonds in the SMARTS pattern
Referenced by OBChemTsfm::Init().
Parameters:
src The index of the beginning atom
dst The index of the end atom
ord The bond order of this bond
idx The index of the bond in the SMARTS pattern
Referenced by OBChemTsfm::Init().
Returns:
the atomic number of the atom idx in the internal pattern
Referenced by OBChemTsfm::Init().
Returns:
the formal charge of the atom idx in the internal pattern
const
int GetVectorBinding ( int idx )
[inline]
Returns:
the vector binding of the atom idx in the internal pattern
Referenced by OBChemTsfm::Init().
Parameters:
mol The molecule to use for matching
single Whether only a single match is required (faster). Default is false.
Returns:
Whether matches occurred
Referenced by OBRotorRules::GetRotorIncrements().
Returns:
the number of non-unique SMARTS matches To get the number of unique SMARTS matches, query
GetUMapList()->size()
Returns:
the entire list of non-unique matches for this pattern
See also:
GetUMapList()
Referenced by OBRotorRules::GetRotorIncrements().
Returns:
An iterator over the (non-unique) match list, starting at the beginning
Returns:
An iterator over the non-unique match list, set to the end
std::vector<
std::vector< int > > & ( )
GetUMapList
Returns:
the entire list of unique matches for this pattern A unique match is defined as one which does not
cover the identical atoms that a previous match has covered.
For instance, the pattern [OD1]~C~[OD1] describes a carboxylate group. This pattern will match both atom
number permutations of the carboxylate, and if GetMapList() is called, both matches will be returned. If
GetUMapList() is called only unique matches of the pattern will be returned.
Deprecated:
(Not used)
The documentation for this class was generated from the following files:
• parsmart.h
• parsmart.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBSqrtTbl
#include <openbabel/obutil.h>
Detailed Description
Square Root lookup table - given a distance squared returns distance.
OBSqrtTbl ( ) [inline]
Parameters:
max The maximum square root stored in the lookup table
incr The floating point resolution of the lookup table
~OBSqrtTbl ( ) [inline]
Returns:
Square root of d2
Parameters:
max The maximum square root stored in the lookup table (e.g., if you want the square root of
144, supply 12 for max)
incr The floating point resolution of the lookup table
The documentation for this class was generated from the following file:
• obutil.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBStopwatch
#include <openbabel/obutil.h>
Public
Member
Functions
void Start ()
double Lap ()
double Elapsed ()
Detailed Description
Stopwatch class used for timing length of execution.
The OBStopwatch class makes timing the execution of blocks of code to microsecond accuracy very simple.
The class effectively has two functions, Start() and Elapsed(). The usage of the OBStopwatch class is
demonstrated by the following code:
OBStopwatch sw;
sw.Start();
//insert code here
cout << "Elapsed time = " << sw.Elapsed() << endl;
Returns:
The time since calling OBStopwatch::Start() in seconds.
Returns:
The documentation for this class was generated from the following file:
• obutil.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBSymmetryData
#include <openbabel/generic.h>
[legend]
Protected Attributes
std::string _spaceGroup
std::string _pointGroup
std::string _attr
unsigned int _type
DataOrigin _source
Detailed Description
Used to hold the point-group and/or space-group symmetry.
Todo:
Add support for translation between symbol notations. Add symmetry perception routines.
OBSymmetryData ( )
~OBSymmetryData ( ) [inline]
[inline,
void SetAttribute ( const std::string & v )
inherited]
Set the attribute (key), which can be used to retrieve this data.
[inline,
void SetOrigin ( const DataOrigin s )
inherited]
Set the origin of this data, which can be used to filter the data.
Returns:
The attribute (key), which can be used to retrieve this data
Referenced by OBMoleculeFormat::MakeCombinedMolecule().
Returns:
the data type for this object as defined in OBGenericDataType
Referenced by OBSymmetryData::operator=().
Referenced by OBSymmetryData::operator=().
The documentation for this class was generated from the following files:
• generic.h
• generic.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
This file is part of the documentation for Open Babel, version 2.2.0.
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBTorsion
#include <openbabel/generic.h>
Protected Attributes
std::pair< OBAtom *, OBAtom * > _bc
std::vector< triple< OBAtom
*, OBAtom *, double > > _ads
Friends
class OBMol
class OBTorsionData
Detailed Description
Used to hold the torsion data for a single rotatable bond and all four atoms around it.
OBTorsion ( OBAtom * a,
OBAtom * b,
OBAtom * c,
OBAtom * d
) [protected]
OBTorsion constructor.
~OBTorsion ( ) [inline]
vector< quad< OBAtom *, OBAtom *, OBAtom *, OBAtom * > > GetTorsions ( ) [protected]
Returns all the 4 atom sets in OBTorsion.
const
OBTorsion & operator= ( OBTorsion src )
&
OBTorsion assignment operator.
Referenced by OBMol::FindTorsions().
Referenced by OBTorsion::AddTorsion().
Referenced by OBMol::FindTorsions().
quad< OBAtom
*, OBAtom *,
bool AddTorsion ( atoms )
OBAtom *,
OBAtom * > &
adds a new torsion to the OBTorsion object
Parameters:
radians the value to assign to the torsion
index the index into the torsion of the OBTorsion
Returns:
boolean success
Parameters:
radians the value of the angle is set here
index the index into the torsion of the OBTorsion
Returns:
boolean success
Returns:
int bond index
Referenced by OBMol::FindTorsions().
Returns:
pair<OBAtom*,OBAtom*>
Returns:
vector of A,D atom pointers and a double
bool IsProtonRotor ( )
determines if torsion has only protons on either the a or d end
Returns:
boolean
The documentation for this class was generated from the following files:
• generic.h
• generic.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBTorsionData
#include <openbabel/generic.h>
[legend]
Protected Attributes
std::vector< OBTorsion > _torsions
std::string _attr
unsigned int _type
DataOrigin _source
Friends
class OBMol
Detailed Description
Used to hold torsions as generic data for OBMol.
Filled by OBMol::FindTorsions()
OBTorsionData ( ) [protected]
Todo:
Needs to be updated to rebase atom pointers (or use indexes)
Returns:
the vector of torsions
Returns:
integer count of the number of torsions
Friends 939
Open Babel: API Documentation
Referenced by OBMol::FindTorsions().
bool FillTorsionArray ( std::vector< std::vector< unsigned int > > & torsions )
Fills a vector with the indices of the atoms in torsions (ordered abcd).
Parameters:
torsions reference to the vector of abcd atom sets
Returns:
boolean success
Referenced by OBMolTorsionIter::OBMolTorsionIter().
[inline,
void SetAttribute ( const std::string & v )
inherited]
Set the attribute (key), which can be used to retrieve this data.
[inline,
void SetOrigin ( const DataOrigin s )
inherited]
Set the origin of this data, which can be used to filter the data.
Returns:
The attribute (key), which can be used to retrieve this data
Referenced by OBMoleculeFormat::MakeCombinedMolecule().
Returns:
the data type for this object as defined in OBGenericDataType
The documentation for this class was generated from the following files:
• generic.h
• generic.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBTypeTable
#include <openbabel/data.h>
[legend]
Protected Attributes
bool _init
const char * _dataptr
std::string _filename
std::string _dir
std::string _subdir
std::string _envvar
Detailed Description
Atom Type Translation Table.
Molecular file formats frequently store information about atoms in an atom type field. Some formats store
only the element for each atom, while others include hybridization and local environments, such as the Sybyl
mol2 atom type field. The OBTypeTable class acts as a translation table to convert atom types between a
number of different molecular file formats. The constructor for OBTypeTable automatically reads the text file
types.txt. Just as OBElementTable, an instance of OBTypeTable (ttab) is declared external in data.cpp and is
referenced as extern OBTypeTable ttab in mol.h. The following code demonstrates how to use the
OBTypeTable class to translate the internal representation of atom types in an OBMol Internal to Sybyl Mol2
atom types.
ttab.SetFromType("INT");
ttab.SetToType("SYB");
OBAtom *atom;
vector<OBAtom*>::iterator i;
string src,dst;
for (atom = mol.BeginAtom(i);atom;atom = mol.EndAtom(i))
{
src = atom->GetType();
ttab.Translate(dst,src);
cout << "atom number " << atom->GetIdx() << "has mol2 type " << dst << endl;
}
Current atom types include (defined in the top line of the data file types.txt):
OBTypeTable ( void )
~OBTypeTable ( ) [inline]
Returns:
the number of atom types in the translation table
Referenced by OBAtom::GetType().
Referenced by OBAtom::GetType().
Translates atom types (to, from), checking for size of destination string and null-terminating as needed
Deprecated:
Because there is no guarantee on the length of an atom type you should consider using std::string
instead
Referenced by OBAtom::GetType().
Returns:
whether the translation was successful
Returns:
the translated atom type, or an empty string if not possible
std::string GetFromType ( )
Returns:
the initial atom type to be translated
Referenced by OBAtom::GetType().
std::string GetToType ( )
Returns:
the destination atom type for translation
Referenced by OBAtom::GetType().
[inline,
void SetReadDirectory ( char * dir )
inherited]
Set the directory before calling Init().
The documentation for this class was generated from the following files:
• data.h
• data.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
_a OBUnitCell [protected]
_alpha OBUnitCell [protected]
_attr OBGenericData [protected]
_b OBUnitCell [protected]
_beta OBUnitCell [protected]
_c OBUnitCell [protected]
_gamma OBUnitCell [protected]
_lattice OBUnitCell [protected]
_offset OBUnitCell [protected]
_source OBGenericData [protected]
_spaceGroup OBUnitCell [protected]
_spaceGroupName OBUnitCell [protected]
_type OBGenericData [protected]
_v1 OBUnitCell [protected]
_v2 OBUnitCell [protected]
_v3 OBUnitCell [protected]
[inline,
Clone(OBBase *) const OBUnitCell
virtual]
Cubic enum value OBUnitCell
FillUnitCell(OBMol *) OBUnitCell
GetA() OBUnitCell [inline]
GetAlpha() OBUnitCell [inline]
[inline,
GetAttribute() const OBGenericData
virtual]
GetB() OBUnitCell [inline]
GetBeta() OBUnitCell [inline]
GetC() OBUnitCell [inline]
GetCellMatrix() OBUnitCell
GetCellVectors() OBUnitCell
GetCellVolume() OBUnitCell
GetDataType() const OBGenericData [inline]
GetFractionalMatrix() OBUnitCell
GetGamma() OBUnitCell [inline]
GetLatticeType(int spacegroup) OBUnitCell
GetLatticeType() OBUnitCell
GetOffset() OBUnitCell [inline]
[inline,
GetOrigin() const OBGenericData
virtual]
GetOrthoMatrix() OBUnitCell
GetSpaceGroup() OBUnitCell [inline]
GetSpaceGroupName() OBUnitCell [inline]
GetSpaceGroupNumber(std::string name="") OBUnitCell
[inline,
GetValue() const OBGenericData
virtual]
Hexagonal enum value OBUnitCell
LatticeType enum name OBUnitCell
Monoclinic enum value OBUnitCell
OBGenericData(const std::string attr="undefined", const unsigned int
type=OBGenericDataType::UndefinedData, const DataOrigin OBGenericData
source=any)
OBUnitCell() OBUnitCell
OBUnitCell(const OBUnitCell &) OBUnitCell
operator=(const OBUnitCell &) OBUnitCell
Orthorhombic enum value OBUnitCell
Rhombohedral enum value OBUnitCell
SetAttribute(const std::string &v) OBGenericData [inline]
SetData(const double a, const double b, const double c, const double
OBUnitCell [inline]
alpha, const double beta, const double gamma)
SetData(const vector3 v1, const vector3 v2, const vector3 v3) OBUnitCell
SetLatticeType(const LatticeType lt) OBUnitCell [inline]
SetOffset(const vector3 v1) OBUnitCell [inline]
SetOrigin(const DataOrigin s) OBGenericData [inline]
SetSpaceGroup(const SpaceGroup *sg) OBUnitCell [inline]
SetSpaceGroup(const std::string sg) OBUnitCell [inline]
SetSpaceGroup(const int sg) OBUnitCell [inline]
Tetragonal enum value OBUnitCell
Triclinic enum value OBUnitCell
Undefined enum value OBUnitCell
[inline,
~OBGenericData() OBGenericData
virtual]
~OBUnitCell() OBUnitCell [inline]
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBUnitCell
#include <openbabel/generic.h>
[legend]
Public Types
enum LatticeType {
Undefined, Triclinic, Monoclinic, Orthorhombic,
Tetragonal, Rhombohedral, Hexagonal, Cubic
}
vector3 GetOffset ()
const SpaceGroup * GetSpaceGroup ()
const std::string GetSpaceGroupName ()
LatticeType GetLatticeType (int spacegroup)
LatticeType GetLatticeType ()
std::vector< vector3 > GetCellVectors ()
matrix3x3 GetCellMatrix ()
matrix3x3 GetOrthoMatrix ()
matrix3x3 GetFractionalMatrix ()
int GetSpaceGroupNumber (std::string name="")
double GetCellVolume ()
void SetAttribute (const std::string &v)
void SetOrigin (const DataOrigin s)
virtual const std::string & GetAttribute () const
unsigned int GetDataType () const
virtual const std::string & GetValue () const
virtual DataOrigin GetOrigin () const
Protected Attributes
double _a
double _b
double _c
double _alpha
double _beta
double _gamma
vector3 _offset
vector3 _v1
vector3 _v2
vector3 _v3
std::string _spaceGroupName
const SpaceGroup * _spaceGroup
LatticeType _lattice
std::string _attr
unsigned int _type
DataOrigin _source
Detailed Description
Used for storing information about periodic boundary conditions with conversion to/from translation vectors
and (a, b, c, alpha, beta, gamma).
enum LatticeType
Enumerator:
Undefined
Triclinic
Monoclinic
Orthorhombic
Tetragonal
Rhombohedral also called trigonal
Hexagonal
Cubic
OBUnitCell ( )
public constructor
~OBUnitCell ( ) [inline]
Parameters:
a The length a
b The length b
c The length c
alpha The angle alpha
The angles and lengths of the unitcell will be calculated from the vectors v1, v2 and v3. Those vectors will
as well be stored internally. Implements blue-obelisk:convertCartesianIntoNotionalCoordinates
Parameters:
v1 The x-vector
v2 The y-vector
v3 The z-vector
See also:
OBUnitCell::GetCellVectors
const
void SetOffset ( v1 ) [inline]
vector3
Set the offset to the origin to v1.
Returns:
vector a
Returns:
vector b
Returns:
vector c
Returns:
angle alpha
Returns:
angle beta
Returns:
angle gamma
Returns:
any offset in the origin of the periodic boundaries
Returns:
the text representation of the space group for this unit cell
Referenced by OBUnitCell::FillUnitCell().
Returns:
the text representation of the space group for this unit cell
Returns:
lattice type (based on the spacegroup)
OBUnitCell::LatticeType GetLatticeType ( )
Returns:
lattice type (based on angles and distances)
Referenced by OBUnitCell::GetCellVolume().
Returns:
v1, v2, v3 cell vectors
matrix3x3 GetCellMatrix ( )
Returns:
v1, v2, v3 cell vectors as a 3x3 matrix
matrix3x3 GetOrthoMatrix ( )
Implements blue-obelisk:calculateOrthogonalisationMatrix.
Returns:
The orthogonalization matrix, used for converting from fractional to Cartesian coords.
matrix3x3 GetFractionalMatrix ( )
Returns:
The fractionalization matrix, used for converting from Cartesian to fractional coords.
Referenced by OBUnitCell::FillUnitCell().
Returns:
The numeric value of the given spacegroup
double GetCellVolume ( )
Returns:
The cell volume (in Angstroms^3)
[inline,
void SetAttribute ( const std::string & v )
inherited]
Set the attribute (key), which can be used to retrieve this data.
[inline,
void SetOrigin ( const DataOrigin s )
inherited]
Set the origin of this data, which can be used to filter the data.
Returns:
The attribute (key), which can be used to retrieve this data
Referenced by OBMoleculeFormat::MakeCombinedMolecule().
Returns:
the data type for this object as defined in OBGenericDataType
Base class returns a default value (the attribute type) but should never be called.
double _a [protected]
double _b [protected]
double _c [protected]
Referenced by OBUnitCell::operator=().
The documentation for this class was generated from the following files:
• generic.h
• generic.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBVectorData
#include <openbabel/generic.h>
[legend]
Protected Attributes
vector3 _vec
std::string _attr
unsigned int _type
DataOrigin _source
Detailed Description
Used to hold a 3D vector item (e.g., a dipole moment).
Since:
version 2.2
OBVectorData ( ) [inline]
[inline,
virtual ~OBVectorData ( )
virtual]
[inline,
void SetAttribute ( const std::string & v )
inherited]
Set the attribute (key), which can be used to retrieve this data.
[inline,
void SetOrigin ( const DataOrigin s )
inherited]
Set the origin of this data, which can be used to filter the data.
Returns:
The attribute (key), which can be used to retrieve this data
Referenced by OBMoleculeFormat::MakeCombinedMolecule().
Returns:
the data type for this object as defined in OBGenericDataType
The documentation for this class was generated from the following file:
• generic.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBVibrationData
#include <openbabel/generic.h>
[legend]
Protected Attributes
std::vector< std::vector
< vector3 > > _vLx
std::vector< double > _vFrequencies
std::vector< double > _vIntensities
std::string _attr
unsigned int _type
DataOrigin _source
Detailed Description
Used to hold the normal modes of a molecule, etc.
OBVibrationData ( ) [inline]
[inline,
virtual ~OBVibrationData ( )
virtual]
const std::vector<
void SetData ( std::vector< vLx,
vector3 > > &
const std::vector<
vFrequencies,
double > &
const std::vector<
vIntensities
double > &
)
Assign the data.
Parameters:
vLx Normal modes in 1/sqrt(a.u.)
vFrequencies Harmonic frequencies in inverse centimeters
vIntensities Infrared absorption intensities in KM/Mole
[inline,
void SetAttribute ( const std::string & v )
inherited]
Set the attribute (key), which can be used to retrieve this data.
[inline,
void SetOrigin ( const DataOrigin s )
inherited]
Set the origin of this data, which can be used to filter the data.
Returns:
The attribute (key), which can be used to retrieve this data
Referenced by OBMoleculeFormat::MakeCombinedMolecule().
Returns:
the data type for this object as defined in OBGenericDataType
Referenced by OBVibrationData::SetData().
Referenced by OBVibrationData::SetData().
The documentation for this class was generated from the following files:
• generic.h
• generic.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OBVirtualBond
#include <openbabel/generic.h>
[legend]
Protected Attributes
int _bgn
int _end
int _ord
int _stereo
std::string _attr
unsigned int _type
DataOrigin _source
Detailed Description
Used to temporarily store bonds that reference an atom that has not yet been added to a molecule.
OBVirtualBond ( )
[inline,
void SetAttribute ( const std::string & v )
inherited]
Set the attribute (key), which can be used to retrieve this data.
[inline,
void SetOrigin ( const DataOrigin s )
inherited]
Set the origin of this data, which can be used to filter the data.
Returns:
The attribute (key), which can be used to retrieve this data
Referenced by OBMoleculeFormat::MakeCombinedMolecule().
Returns:
the data type for this object as defined in OBGenericDataType
The documentation for this class was generated from the following files:
• generic.h
• generic.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
[inline,
WorksWith(OBBase *pOb) const OpTransform
virtual]
[inline,
~OBPlugin() OBPlugin
virtual]
~OpTransform() OpTransform [inline]
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::OpTransform
#include <openbabel/optransform.h>
[legend]
Public Types
typedef const std::map
< std::string, std::string > OpMap
typedef std::map< const char
*, OBPlugin *, CharPtrLess > PluginMapType
typedef
PluginMapType::const_iterator PluginIterator
Protected Attributes
const char * _id
Detailed Description
Applies molecular transforms (OBChemTsfm class) read from a datafile.
Since:
version 2.2
Referenced by OpTransform::MakeInstance().
~OpTransform ( ) [inline]
const [inline,
virtual bool WorksWith ( OBBase * pOb )
virtual]
Checks that this op is being applied to the right kind of object(OBMol).
Implements OBOp.
Implements OBOp.
virtual OpTransform* MakeInstance ( const std::vector< std::string > & ) [inline, virtual]
Make a new instance of the class. See OpTransform, OBGroupContrib, SmartsDescriptor classes for derived
versions. Usually, the first parameter is the classname, the next three are parameters(ID, filename, description)
for a constructor, and the rest data.
Returns:
string describing options, for display with -H and to make checkboxes in GUI
Referenced by OBMol::ClassDescription().
Returns:
false indicating object should not be output, if any Do() returns false
Referenced by OBMol::DoTransformations().
Referenced by OBDescriptor::Display().
Referenced by OBConversion::LoadFormatFiles().
Referenced by OBPlugin::ListAsString().
[inline, static,
static PluginIterator Begin ( const char * PluginID )
inherited]
Return an iterator at the start of the map of the plugin types PluginID or, if there is no such map, the end of the
top level plugin map.
Referenced by OBFormat::RegisterFormat().
Referenced by OBFormat::RegisterFormat().
The documentation for this class was generated from the following file:
• optransform.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::SpaceGroup
#include <openbabel/math/spacegroup.h>
Detailed Description
Handle crystallographic space group symmetry.
Since:
version 2.2
See also:
transform3d
SpaceGroup ( )
~SpaceGroup ( )
const
void AddTransform ( std::string s )
&
const
const std::string& GetHallName ( )
[inline]
Referenced by OBUnitCell::FillUnitCell().
char
const SpaceGroup * GetSpaceGroup ( const name ) [static]
*
Referenced by OBUnitCell::SetSpaceGroup().
nb =
void RegisterSpaceGroup ( int
0,
...
)
Referenced by SpaceGroup::Find().
The documentation for this class was generated from the following files:
• spacegroup.h
• spacegroup.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
[inline,
virtual]
[inline,
MakeNewInstance() OBFormat
virtual]
NamespaceURI() const =0 XMLBaseFormat [pure virtual]
nsdecl XMLBaseFormat [protected]
OBFormat() OBFormat [inline]
[inline,
OutputToStream() XMLBaseFormat
protected]
PluginIterator typedef OBPlugin
[inline,
PluginMap() OBPlugin protected,
static]
PluginMapType typedef OBPlugin
[inline,
ReadChemObject(OBConversion *) OBFormat
virtual]
[inline,
reader() const XMLBaseFormat
protected]
[inline,
ReadMolecule(OBBase *, OBConversion *) OBFormat
virtual]
RegisterFormat(const char *ID, const char *MIME=NULL) OBFormat
[inline,
SkipObjects(int n, OBConversion *pConv) XMLBaseFormat protected,
virtual]
[inline,
SpecificationURL() OBFormat
virtual]
TargetClassDescription() OBFormat [virtual]
TypeID() OBFormat [inline]
[inline,
WriteChemObject(OBConversion *) OBFormat
virtual]
[inline,
WriteMolecule(OBBase *, OBConversion *) OBFormat
virtual]
[inline,
writer() const XMLBaseFormat
protected]
[inline,
~OBPlugin() OBPlugin
virtual]
~XMLBaseFormat() XMLBaseFormat [inline]
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::XMLBaseFormat
#include <openbabel/xml.h>
[legend]
Public Types
typedef std::map< const char
*, OBPlugin *, CharPtrLess > PluginMapType
typedef
PluginMapType::const_iterator PluginIterator
Protected Attributes
XMLConversion * _pxmlConv
std::string _prefix
int baseindent
int ind
std::string nsdecl
int _embedlevel
const char * _id
Detailed Description
Abstract class containing common functionality for XML formats.
~XMLBaseFormat ( ) [inline]
const [pure
virtual const char* NamespaceURI ( )
virtual]
Referenced by XMLBaseFormat::SkipObjects().
const [inline,
xmlTextReaderPtr reader ( )
protected]
Referenced by OBFormat::RegisterFormat().
Reads a single object. Does not make a new object on the heap; can be used with a pointer to an chem object
on the heap or the stack.
Reimplemented in XMLMoleculeFormat.
[inline, virtual,
virtual bool ReadChemObject ( OBConversion * )
inherited]
The "Convert" interface Read function.
Possibly reads multiple new objects on the heap and subjects them to its DoTransformations() function, which
may delete them again. Sends result to pConv->AddChemObject()
Referenced by OBConversion::Convert().
Writes a single object Does not delete the object; can be used with a pointer to an chem object on the heap or
the stack.
Returns:
false on error.
Returns:
false on error
Must be provided by each format class. Can include a list of command line Options. These may be used to
construction check boxes, radio buttons etc for GUI interface.
If not provided, the object type used by the default format is used (usually OBMol).
Referenced by OBConversion::ReportNumberConverted().
Returns:
the type of chemical object used by the format. Defaults to that used by the default format. Useful for
checking that a format can handle a particular object.
Referenced by OBFormat::Display().
[inline, virtual,
virtual OBFormat* MakeNewInstance ( )
inherited]
Returns:
a pointer to a new instance of the format, or NULL if fails. Normally a single global instance is used
but this may cause problems if there are member variables and the format is used in more than one
place in the program.
Referenced by OBConversion::RegisterFormat().
Provides a description in txt of the format specified by itr. If param starts with "in", read", "out" or "write"
only the appropriate formats are output. The others return false. If param contains "verbose", the whole
description is output.
[static,
OBFormat * FormatFromMIME ( const char * MIME )
inherited]
Referenced by OBConversion::FormatFromMIME().
Referenced by OBConversion::LoadFormatFiles().
Referenced by OBConversion::LoadFormatFiles().
Referenced by OBPlugin::ListAsString().
[inline, static,
static PluginIterator Begin ( const char * PluginID )
inherited]
Return an iterator at the start of the map of the plugin types PluginID or, if there is no such map, the end of the
top level plugin map.
Referenced by OBFormat::RegisterFormat().
Referenced by XMLMoleculeFormat::ReadMolecule().
Referenced by OBFormat::RegisterFormat().
The documentation for this class was generated from the following file:
• xml.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
_SkipNextRead XMLConversion
AddChemObject(OBBase *pOb) OBConversion
AddOption(const char *opt, Option_type opttyp=OUTOPTIONS,
OBConversion
const char *txt=NULL)
ALL enum value OBConversion
[protected,
BatchFileName(std::string &BaseName, std::string &InFile) OBConversion
static]
CheckedForGzip OBConversion [protected]
CheckForUnintendedBatch(const std::string &infile, const std::string [protected,
OBConversion
&outfile) static]
CloseOutFile() OBConversion
Convert(std::istream *is, std::ostream *os) OBConversion
Convert() OBConversion
CopyOptions(OBConversion *pSourceConv, Option_type typ=ALL) OBConversion
Count OBConversion [protected]
Description() OBConversion [static]
EndNumber OBConversion [protected]
FindFormat(const char *ID) OBConversion [static]
[protected,
FormatFilesLoaded OBConversion
static]
FormatFromExt(const char *filename) OBConversion [static]
FormatFromMIME(const char *MIME) OBConversion [static]
FullConvert(std::vector< std::string > &FileList, std::string
OBConversion
&OutputFileName, std::vector< std::string > &OutputFileList)
GENOPTIONS enum value OBConversion
GetAttribute(const char *attrname) XMLConversion
GetAuxConv() const OBConversion [inline]
GetChemObject() OBConversion
GetContent() XMLConversion
GetContentDouble(double &value) XMLConversion
GetContentInt(int &value) XMLConversion
[inline,
GetDefaultFormat() OBConversion
static]
[inline,
GetDefaultXMLClass() XMLConversion
static]
GetDerived(OBConversion *pConv, bool ForReading=true) XMLConversion [static]
GetInFilename() const OBConversion [inline]
GetInFormat() const OBConversion [inline]
GetInLen() const OBConversion [inline]
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::XMLConversion
#include <openbabel/xml.h>
[legend]
Option handling
enum Option_type { INOPTIONS, OUTOPTIONS, GENOPTIONS, ALL }
const char * IsOption (const char *opt, Option_type opttyp=OUTOPTIONS)
const std::map< std::string,
std::string > * GetOptions (Option_type opttyp)
void AddOption (const char *opt, Option_type opttyp=OUTOPTIONS, const char
*txt=NULL)
bool RemoveOption (const char *opt, Option_type optype)
void SetOptions (const char *options, Option_type opttyp)
static void RegisterOptionParam (std::string name, OBFormat *pFormat, int
numberParams=0, Option_type typ=OUTOPTIONS)
static int GetOptionParams (std::string name, Option_type typ)
Convenience functions
bool Write (OBBase *pOb, std::ostream *pout=NULL)
std::string WriteString (OBBase *pOb, bool trimWhitespace=false)
bool WriteFile (OBBase *pOb, std::string filePath)
void CloseOutFile ()
bool Read (OBBase *pOb, std::istream *pin=NULL)
bool ReadString (OBBase *pOb, std::string input)
bool ReadFile (OBBase *pOb, std::string filePath)
bool OpenInAndOutFiles (std::string infilepath, std::string outfilepath)
void ReportNumberConverted (int count, OBFormat *pFormat=NULL)
static OBFormat * GetDefaultFormat ()
static std::string BatchFileName (std::string &BaseName, std::string &InFile)
static std::string IncrementedFileName (std::string &BaseName, const int Count)
static bool CheckForUnintendedBatch (const std::string &infile, const std::string &outfile)
void InstallStreamFilter ()
Public Types
typedef std::map< std::string,
XMLBaseFormat * > NsMapType
Public Attributes
bool _SkipNextRead
Protected Types
typedef std::map< std::string,
int > OPAMapType
typedef
FilteringInputStreambuf
< LineEndingExtractor > LErdbuf
Protected Attributes
std::string InFilename
std::istream * pInStream
std::ostream * pOutStream
OBFormat * pInFormat
OBFormat * pOutFormat
std::map< std::string,
std::string > OptionsArray [3]
int Index
unsigned int StartNumber
unsigned int EndNumber
int Count
bool m_IsFirstInput
bool m_IsLast
bool MoreFilesToCome
bool OneObjectOnly
bool ReadyToInput
bool CheckedForGzip
bool NeedToFreeInStream
bool NeedToFreeOutStream
LErdbuf * pLineEndBuf
OBBase * pOb1
std::streampos wInpos
std::streampos rInpos
size_t wInlen
size_t rInlen
OBConversion * pAuxConv
std::vector< std::string > SupportedInputFormat
std::vector< std::string > SupportedOutputFormat
Detailed Description
A subclass for conversion of XML formats.
An extended OBConversion class which includes a libxml2 reader for use with XML formats. Copies an
OBConversion and then extends it with a XML parser. Instances made on the heap are deleted when the
original OBConversion object is.
This class is not intended to be used externally -- instead use OBConversion which will find both XML and
non-XML OBFormats.
Instead, this subclass also has support for handling specific needs in XML formats. For example, an XML file
may include multiple namespaces, and the conversion should call appropriate XMLBaseFormat formats as
needed.
Enumerator:
INOPTIONS
OUTOPTIONS
GENOPTIONS
ALL
~XMLConversion ( )
Frees reader and writer if necessary.
bool SetupReader ( )
opens libxml2 reader
bool SetupWriter ( )
opens libxml2 writer
Referenced by XMLMoleculeFormat::ReadMolecule().
Referenced by XMLBaseFormat::SkipObjects().
Because OBConversion::Convert is still using the unextended OBConversion object we need to obtain the
conversion paramters from it when requested
const
xmlTextReaderPtr GetReader ( )
[inline]
Referenced by XMLBaseFormat::reader().
const
xmlTextWriterPtr GetWriter ( )
[inline]
Referenced by XMLBaseFormat::writer().
Referenced by XMLBaseFormat::OutputToStream().
std::string GetContent ( )
Sets value to element content. Returns false if there is no content.
double
bool GetContentDouble ( value )
&
Sets value to element content as an double. Returns false if there is no content.
Class information on formats is collected by making an instance of the class derived from OBFormat(only one
is usually required). RegisterFormat() is called from its constructor.
If the compiled format is stored separately, like in a DLL or shared library, the initialization code makes an
instance of the imported OBFormat class.
[static,
OBFormat * FindFormat ( const char * ID )
inherited]
Searches registered formats.
[static,
OBFormat * FormatFromExt ( const char * filename )
inherited]
Searches registered formats for an ID the same as the file extension.
Referenced by OBConversion::OpenAndSetFormat().
[static,
OBFormat * FormatFromMIME ( const char * MIME )
inherited]
Searches registered formats for a MIME the same as the chemical MIME type passed.
Referenced by OBConversion::FullConvert().
[inline,
void SetOutStream ( std::ostream * pOut )
inherited]
Referenced by OBConversion::FullConvert().
Sets the formats from their ids, e g CML. If inID is NULL, the input format is left unchanged. Similarly for
outID Returns true if both formats have been successfully set at sometime
OBFormat
bool SetInAndOutFormats ( pIn,
*
OBFormat
pOut
*
) [inherited]
Referenced by OBConversion::SetInAndOutFormats().
Referenced by OBMoleculeFormat::OutputDeferredMols().
const [inline,
std::streampos GetInPos ( )
inherited]
Get the position in the input stream of the object being read.
Returns:
a default title which is the filename
const [inline,
OBConversion* GetAuxConv ( )
inherited]
Extension method: deleted in ~OBConversion().
[inline,
void SetAuxConv ( OBConversion * pConv )
inherited]
Returns:
NULL if option not and a pointer to the associated text if it is
[inline,
const std::map<std::string,std::string>* GetOptions ( Option_type opttyp )
inherited]
Access the map with option name as key and any associated text as value.
Returns:
the number of parameters registered for the option, or 0 if not found
Actions the "convert" interface. Calls the OBFormat class's ReadMolecule() which
AddChemObject does not save the object passed to it if it is NULL (as a result of a DoTransformation()) or if
the number of the object is outside the range defined by StartNumber and EndNumber.This means the start
and end counts apply to all chemical objects found whether or not they are output.
std::vector<
int FullConvert ( FileList,
std::string > &
std::string & OutputFileName,
std::vector<
OutputFileList
std::string > &
) [inherited]
Conversion with multiple input/output files: makes input and output streams, and carries out normal, batch,
aggregation, and splitting conversion.
Makes input and output streams, and carries out normal, batch, aggregation, and splitting conversion.
Normal Done if FileList contains a single file name and OutputFileName does not contain a *.
Aggregation Done if FileList has more than one file name and OutputFileName does not contain * . All the
chemical objects are converted and sent to the single output file.
Splitting Done if FileList contains a single file name and OutputFileName contains a * . Each chemical object
in the input file is converted and sent to a separate file whose name is OutputFileName with the replaced by 1,
2, 3, etc. OutputFileName must have at least one character other than the * before the extension. For example,
if OutputFileName is NEW*.smi then the output files are NEW1.smi, NEW2.smi, etc.
Batch Conversion Done if FileList has more than one file name and contains a * . Each input file is converted
to an output file whose name is OutputFileName with the * replaced by the inputfile name without its path
and extension. So if the input files were inpath/First.cml, inpath/Second.cml and OutputFileName was
NEW*.mol, the output files would be NEWFirst.mol, NEWSecond.mol.
If FileList is empty, the input stream that has already been set (usually in the constructor) is used. If
OutputFileName is empty, the output stream already set is used.
Called by ReadMolecule() to deliver an object it has read from an input stream. Used in two modes:
• When Count is negative it is left negative and the routine is just a store for an OBBase object. The
negative value returned tells the calling routine that no more objects are required.
• When count is >=0, probably set by Convert(), it acts as a queue of 2: writing the currently stored
value before accepting the supplied one. This delay allows output routines to respond differently
when the written object is the last. Count is incremented with each call, even if pOb=NULL. Objects
are not added to the queue if the count is outside the range StartNumber to EndNumber. There is no
upper limit if EndNumber is zero. The return value is Count ((>0) or 0 if WriteChemObject returned
false.
Referenced by OBMoleculeFormat::ReadChemObjectImpl().
Referenced by OBMoleculeFormat::WriteChemObjectImpl().
Returns the number of objects which have been output or are currently being output. The outputindex is
incremented when an object for output is fetched by GetChemObject(). So the function will return 1 if called
from WriteMolecule() during output of the first object.
Referenced by XMLConversion::GetOutputIndex().
Referenced by OBConversion::FullConvert().
Part of "API" interface. The output stream can be specified and the change is retained in the OBConversion
instance
Writes the object pOb but does not delete it afterwards. The output stream is lastingly changed if pos is not
NULL Returns true if successful.
Part of "API" interface. The output stream is temporarily changed to the string and then restored This method
is primarily intended for scripting languages without "stream" classes The optional "trimWhitespace"
parameter allows trailing whitespace to be removed (e.g., in a SMILES string or InChI, etc.)
Writes the object pOb but does not delete it afterwards. The output stream not changed (since we cannot write
to this string later) Returns true if successful.
Part of "API" interface. The output stream is changed to the supplied file and the change is retained in the
OBConversion instance. This method is primarily intended for scripting languages without "stream" classes
Writes the object pOb but does not delete it afterwards. The output stream is lastingly changed to point to the
file Returns true if successful.
Since:
version 2.1
Part of "API" interface. The input stream can be specified and the change is retained in the OBConversion
instance
Returns:
false and pOb=NULL on error
Part of "API" interface. The input stream can be specified and the change is retained in the OBConversion
instance
Returns:
NULL on error Part of "API" interface.
false and pOb=NULL on error This method is primarily intended for scripting languages without
"stream" classes
Part of "API" interface. The output stream is changed to the supplied file and the change is retained in the
OBConversion instance.
Returns:
false and pOb=NULL on error This method is primarily intended for scripting languages without
"stream" classes
Returns:
false if unsucessful.
Referenced by OBConversion::FullConvert().
Referenced by OBConversion::FullConvert().
Referenced by OBConversion::FullConvert().
Referenced by OBConversion::Convert().
Referenced by OBConversion::OBConversion().
Referenced by OBConversion::FullConvert().
bool _SkipNextRead
Referenced by OBConversion::OBConversion().
The documentation for this class was generated from the following file:
• xml.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::XMLMoleculeFormat
#include <openbabel/xml.h>
[legend]
Public Types
typedef std::map< const char
*, OBPlugin *, CharPtrLess > PluginMapType
typedef
PluginMapType::const_iterator PluginIterator
Protected Attributes
OBMol * _pmol
XMLConversion * _pxmlConv
std::string _prefix
int baseindent
int ind
std::string nsdecl
int _embedlevel
const char * _id
Detailed Description
Abstract class for XML formats which represent molecules.
~XMLMoleculeFormat ( ) [inline]
[inline,
virtual bool ReadChemObject ( OBConversion * )
virtual]
The "Convert" interface Read function.
Possibly reads multiple new objects on the heap and subjects them to its DoTransformations() function, which
may delete them again. Sends result to pConv->AddChemObject()
Returns:
false on error
Reads a single object. Does not make a new object on the heap; can be used with a pointer to an chem object
on the heap or the stack.
[inline,
const std::type_info& GetType ( void )
virtual]
Returns:
the type of chemical object used by the format. Defaults to that used by the default format. Useful for
checking that a format can handle a particular object.
virtual bool DoElement ( const std::string & ElName ) [inline, virtual, inherited]
virtual bool EndElement ( const std::string & ElName ) [inline, virtual, inherited]
Referenced by XMLBaseFormat::SkipObjects().
Referenced by OBFormat::RegisterFormat().
Writes a single object Does not delete the object; can be used with a pointer to an chem object on the heap or
the stack.
Returns:
false on error.
Must be provided by each format class. Can include a list of command line Options. These may be used to
construction check boxes, radio buttons etc for GUI interface.
If not provided, the object type used by the default format is used (usually OBMol).
Referenced by OBConversion::ReportNumberConverted().
Referenced by OBFormat::Display().
[inline, virtual,
virtual OBFormat* MakeNewInstance ( )
inherited]
Returns:
a pointer to a new instance of the format, or NULL if fails. Normally a single global instance is used
but this may cause problems if there are member variables and the format is used in more than one
place in the program.
Referenced by OBConversion::RegisterFormat().
[static,
OBFormat * FormatFromMIME ( const char * MIME )
inherited]
Referenced by OBConversion::FormatFromMIME().
Referenced by OBConversion::LoadFormatFiles().
Referenced by OBConversion::LoadFormatFiles().
Referenced by OBPlugin::ListAsString().
[inline, static,
static PluginIterator Begin ( const char * PluginID )
inherited]
Return an iterator at the start of the map of the plugin types PluginID or, if there is no such map, the end of the
top level plugin map.
Referenced by OBFormat::RegisterFormat().
Referenced by XMLMoleculeFormat::ReadMolecule().
Referenced by XMLMoleculeFormat::ReadMolecule().
Referenced by OBFormat::RegisterFormat().
The documentation for this class was generated from the following file:
• xml.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::matrix3x3
#include <openbabel/math/matrix3x3.h>
[legend]
Friends
vector3 operator* (const matrix3x3 &, const vector3 &)
matrix3x3 operator* (const matrix3x3 &, const matrix3x3 &)
std::ostream & operator<< (std::ostream &, const matrix3x3 &)
Detailed Description
Represents a real 3x3 matrix.
Rotating points in space can be performed by a vector-matrix multiplication. The matrix3x3 class is designed
as a helper to the vector3 class for rotating points in space. The rotation matrix may be initialised by passing
in the array of floating point values, by passing euler angles, or a rotation vector and angle of rotation about
that vector. Once set, the matrix3x3 class can be used to rotate vectors by the overloaded multiplication
operator. The following demonstrates the usage of the matrix3x3 class:
matrix3x3 mat;
mat.SetupRotMat(0.0,180.0,0.0); //rotate theta by 180 degrees
vector3 v = VX;
v *= mat; //apply the rotation
The first index represents the row, the second index the column
~matrix3x3 ( ) [inline]
Destructor.
Writes the matrix into the 1-dimensional array m, row by row. The array must be able to hold 9 doubles,
otherwise your program will segfault.
Returns:
a constant reference to an element of the matrix. row and column must be between 0 and 2. No check
is done.
Returns:
a non-constant reference to an element of the matrix. row and column must be between 0 and 2. No
check is done.
This method checks if the absolute value of the determinant is smaller than 1e-6. If so, nothing is done and an
exception is thrown. Otherwise, the inverse matrix is calculated and returned. *this is not changed.
Warning:
If the determinant is close to zero, but not == 0.0, this method may behave in unexpected ways and
return almost random results; details may depend on your particular floating point implementation.
The use of this method is therefore highly discouraged, unless you are certain that the determinant is
in a reasonable range, away from 0.0 (Stefan Kebekus)
The axis of the rotation will be uniformly distributed on the unit sphere and the angle will be uniformly
distributed in the interval 0..360 degrees.
Returns:
The determinant of the matrix
Referenced by OpenBabel::signed_volume().
Returns:
False if there are indices i,j such that fabs(*this[i][j]-*this[j][i]) > 1e-6. Otherwise, it returns true.
Referenced by matrix3x3::findEigenvectorsIfSymmetric().
const
bool isOrthogonal ( void )
[inline]
Checks if a matrix is orthogonal.
This method checks if a matrix is orthogonal, i.e. if all column vectors are normalized and are mutually
orthogonal. A matrix is orthogonal if, and only if the transformation it describes is orthonormal. An
orthonormal transformation is a transformation that preserves length and angle.
*this * transpose()
Returns:
if a matrix is diagonal
This method returns true if and only if the matrix is (approximately) a diagonal matrix. The precision used by
this function is 1e-6.
Referenced by matrix3x3::isUnitMatrix().
Returns:
if a matrix is the unit matrix
This method returns true if and only if the matrix is (approximately) equal to the identity matrix. The
precision used by this function is 1e-6.
Warning:
row or column are not in the range 0..2, zero is returned !
Deprecated:
use the constant operator() instead
Referenced by vector3::operator*=().
Warning:
if row or column are not in the range 0..2, nothing will happen !
Deprecated:
use the non-constant operator() instead
Referenced by OBUnitCell::GetFractionalMatrix().
Warning:
If column is not in the range 0..2, the vector remains unchanged and an exception is thrown.
Referenced by matrix3x3::PlaneReflection().
Warning:
If column is not in the range 0..2, the vector remains unchanged and an exception is thrown.
Warning:
If col is not in the range 0..2, an exception is thrown.
Warning:
If row is not in the range 0..2, an exception is thrown.
Referenced by OBBuilder::Connect().
Replaces *this with a matrix that represents reflection on the plane through 0 which is given by the normal
vector norm.
Warning:
If the vector norm has length zero, this method will generate the 0-matrix. If the length of the axis is
close to zero, but not == 0.0, this method may behave in unexpected ways and return almost random
results; details may depend on your particular floating point implementation. The use of this method
is therefore highly discouraged, unless you are certain that the length is in a reasonable range, away
from 0.0 (Stefan Kebekus)
Deprecated:
This method will probably replaced by a safer algorithm in the future.
Todo:
Replace this method with a more fool-proof version.
Parameters:
norm specifies the normal to the plane
const
void RotAboutAxisByAngle ( vector3 v,
&
const
angle
double
)
Calculates a rotation matrix, rotating around the specified axis by the specified angle (in degrees).
Replaces *this with a matrix that represents rotation about the axis by a an angle.
Warning:
If the vector axis has length zero, this method will generate the 0-matrix. If the length of the axis is
close to zero, but not == 0.0, this method may behave in unexpected ways and return almost random
results; details may depend on your particular floating point implementation. The use of this method
is therefore highly discouraged, unless you are certain that the length is in a reasonable range, away
from 0.0 (Stefan Kebekus)
Deprecated:
This method will probably replaced by a safer algorithm in the future.
Todo:
Replace this method with a more fool-proof version.
Parameters:
v specifies the axis of the rotation
angle angle in degrees (0..360)
double gamma,
double a,
double b,
double c
)
Calculate an orthogonalisation matrix for a unit cell specified by the parameters alpha, beta, gamma, a, b, c
where alpha, beta, and gamma are the cell angles (in degrees) and a, b, and c are the cell vector lengths Used
by OBUnitCell
Referenced by OBUnitCell::GetOrthoMatrix().
This method employs the static method matrix3x3::jacobi(...) to find the eigenvalues and eigenvectors of a
symmetric matrix. On entry it is checked if the matrix really is symmetric: if isSymmetric() returns 'false', an
OBError is thrown.
Note:
The jacobi algorithm is should work great for all symmetric 3x3 matrices. If you need to find the
eigenvectors of a non-symmetric matrix, you might want to resort to the sophisticated routines of
LAPACK.
Parameters:
eigenvals a reference to a vector3 where the eigenvalues will be stored. The eigenvalues are ordered
so that eigenvals[0] <= eigenvals[1] <= eigenvals[2].
Returns:
an orthogonal matrix whose ith column is an eigenvector for the eigenvalue eigenvals[i]. Here
'orthogonal' means that all eigenvectors have length one and are mutually orthogonal. The ith
eigenvector can thus be conveniently accessed by the GetColumn() method, as in the following
example.
// Calculate eigenvectors and -values
vector3 eigenvals;
matrix3x3 eigenmatrix = somematrix.findEigenvectorsIfSymmetric(eigenvals);
) [static]
Eigenvalue calculation.
This static function computes the eigenvalues and eigenvectors of a SYMMETRIC nxn matrix. This method
is used internally by OpenBabel, but may be useful as a general eigenvalue finder.
The algorithm uses Jacobi transformations. It is described e.g. in Wilkinson, Reinsch "Handbook for
automatic computation, Volume II: Linear Algebra", part II, contribution II/1. The implementation is also
similar to the implementation in this book. This method is adequate to solve the eigenproblem for small
matrices, of size perhaps up to 10x10. For bigger problems, you might want to resort to the sophisticated
routines of LAPACK.
Note:
If you plan to find the eigenvalues of a symmetric 3x3 matrix, you will probably prefer to use the
more convenient method findEigenvectorsIfSymmetric()
Parameters:
n the size of the matrix that should be diagonalized
a array of size n^2 which holds the symmetric matrix whose eigenvectors are to be computed. The
convention is that the entry in row r and column c is addressed as a[n*r+c] where, of course, 0 <= r
< n and 0 <= c < n. There is no check that the matrix is actually symmetric. If it is not, the
behaviour of this function is undefined. On return, the matrix is overwritten with junk.
d pointer to a field of at least n doubles which will be overwritten. On return of this function, the
entries d[0]..d[n-1] will contain the eigenvalues of the matrix.
v an array of size n^2 where the eigenvectors will be stored. On return, the columns of this matrix
will contain the eigenvectors. The eigenvectors are normalized and mutually orthogonal.
Calculates the product m*v of the matrix m and the column vector represented by v
const
matrix3x3 operator* ( matrix3x3 A,
&
const
matrix3x3 B
&
) [friend]
Matrix-matrix multiplication.
std::ostream
std::ostream& operator<< ( co,
&
const
m
matrix3x3 &
) [friend]
Output a text representation of a matrix.
The documentation for this class was generated from the following files:
• matrix3x3.h
• matrix3x3.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::obLogBuf
#include <openbabel/oberror.h>
Public
Member
Functions
virtual ~obLogBuf ()
Protected
Member
Functions
int sync ()
Detailed Description
A minimal streambuf derivative to wrap calls to cerr into calls to OBMessageHandler as needed.
This class is used for internal use, via OBMessageHandler::StartErrorWrap() To use this class, use the global
OBMessageHandler object obErrorLog:
The documentation for this class was generated from the following file:
• oberror.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::patty
#include <openbabel/patty.h>
Detailed Description
Programmable Atom Typer.
Deprecated:
This code is currently not used by the Open Babel library. Instead, OBAtomTyper and
OBAromaticTyper are used. Unless there is interest in retaining this independent class, it will be
removed in the future.
Patty stands for programmable atom typer. The patty class was kindly donated by W. Patrick Walters. The
patty class provides a more flexible means for atom typing than the OBAtomTyper. The behavior of patty is
similar to the OBAtomTyper in that rules apply only to the first atom in the SMARTS pattern. The patty class
can read any free format ASCII file which contains SMARTS patterns associated with user defined atom type.
The following is an example of a valid patty rule
O=C hbacceptor
The following is a code sample that demonstrates the use of patty class:
OBMol mol;
The array indices in the vector<string> into which the result values are placed match the corresponding atom
numbers. Since atoms are numbered beginning from one, the first element in the vector<string> is empty, and
the values are placed in [1...mol.NumAtoms()].
patty ( ) [inline]
~patty ( ) [inline]
Referenced by patty::assign_types().
return null if the type does not exist, the type position otherwise the first position start at 1
The documentation for this class was generated from the following files:
• patty.h
• patty.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
first quad
first_type typedef quad
fourth quad
fourth_type typedef quad
quad() quad [inline]
quad(const T1 &a, const T2 &b, const T3 &c, const T4 &d) quad [inline]
quad(const quad< U, V, W, X > &q) quad [inline]
second quad
second_type typedef quad
third quad
third_type typedef quad
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
[inline,
AsArray() const vector3
private]
CanBeNormalized() const vector3 [private]
createOrthoVector(vector3 &v) const vector3 [private]
DescribeAsString() const transform3d
DescribeAsValues() const transform3d
determinant() const matrix3x3 [private]
[inline,
distSq(const vector3 &vv) const vector3
private]
FillOrth(double alpha, double beta, double gamma, double a, double b,
matrix3x3 [private]
double c)
findEigenvectorsIfSymmetric(vector3 &eigenvals) const matrix3x3 [private]
[inline,
OpenBabel::Get(int row, int column) const matrix3x3
private]
[inline,
OpenBabel::vector3::Get(double *c) vector3
private]
[inline,
GetArray(double *m) matrix3x3
private]
GetColumn(unsigned int col) const matrix3x3 [private]
GetRow(unsigned int row) const matrix3x3 [private]
inverse(void) const matrix3x3 [private]
IsApprox(const vector3 &other, const double &precision) const vector3 [private]
isDiagonal(void) const matrix3x3 [private]
[inline,
isOrthogonal(void) const matrix3x3
private]
isSymmetric(void) const matrix3x3 [private]
isUnitMatrix(void) const matrix3x3 [private]
[private,
jacobi(unsigned int n, double *a, double *d, double *v) matrix3x3
static]
[inline,
length() const vector3
private]
[inline,
length_2() const vector3
private]
[inline,
matrix3x3(void) matrix3x3
private]
[inline,
matrix3x3(double s) matrix3x3
private]
[inline,
matrix3x3(vector3 row1, vector3 row2, vector3 row3) matrix3x3
private]
matrix3x3(double d[3][3]) matrix3x3
[inline,
private]
Normalize() transform3d
normalize() vector3 [private]
[inline,
operator!=(const vector3 &other) const vector3
private]
[inline,
operator()(int row, int column) const matrix3x3
private]
[inline,
operator()(int row, int column) matrix3x3
private]
operator*(const vector3 &) transform3d
operator*(const transform3d &) transform3d
OpenBabel::matrix3x3::operator*(const matrix3x3 &, const vector3 &) matrix3x3 [friend]
OpenBabel::matrix3x3::operator*(const matrix3x3 &, const matrix3x3
matrix3x3 [friend]
&)
[inline,
OpenBabel::operator*=(const double &c) matrix3x3
private]
[inline,
OpenBabel::vector3::operator*=(const double &c) vector3
private]
OpenBabel::vector3::operator*=(const matrix3x3 &) vector3 [private]
[inline,
operator+=(const vector3 &v) vector3
private]
[inline,
operator+=(const double *f) vector3
private]
[inline,
operator-=(const vector3 &v) vector3
private]
[inline,
operator-=(const double *f) vector3
private]
[inline,
OpenBabel::operator/=(const double &c) matrix3x3
private]
[inline,
OpenBabel::vector3::operator/=(const double &c) vector3
private]
operator<<(std::ostream &, const matrix3x3 &) matrix3x3 [friend]
[inline,
operator=(const vector3 &v) vector3
private]
operator==(const vector3 &) const vector3 [private]
operator[](unsigned int i) const vector3 [private]
PlaneReflection(const vector3 &norm) matrix3x3 [private]
randomRotation(OBRandom &rnd) matrix3x3 [private]
randomUnitVector(OBRandom *oeRand=NULL) vector3 [private]
RotAboutAxisByAngle(const vector3 &axis, const double angle) matrix3x3 [private]
[inline,
OpenBabel::Set(int row, int column, double v) matrix3x3
private]
OpenBabel::vector3::Set(const double inX, const double inY, const vector3 [inline,
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::transform3d
#include <openbabel/math/transform3d.h>
[legend]
Friends
vector3 operator* (const matrix3x3 &, const vector3 &)
matrix3x3 operator* (const matrix3x3 &, const matrix3x3 &)
std::ostream & operator<< (std::ostream &, const matrix3x3 &)
Detailed Description
Handle 3D transformations, such as space group definitions.
Since:
version 2.2
See also:
SpaceGroup
Referenced by transform3d::operator*().
The first index represents the row, the second index the column
const
vector3 operator* ( vector3 v )
&
void Normalize ( )
Calculates the product m*v of the matrix m and the column vector represented by v
The documentation for this class was generated from the following files:
• transform3d.h
• transform3d.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
first triple
first_type typedef triple
second triple
second_type typedef triple
third triple
third_type typedef triple
triple() triple [inline]
triple(const T1 &a, const T2 &b, const T3 &c) triple [inline]
triple(const triple< U, V, W > &t) triple [inline]
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::vector3
#include <openbabel/math/vector3.h>
[legend]
double & y ()
double & z ()
int operator== (const vector3 &) const
int operator!= (const vector3 &other) const
bool IsApprox (const vector3 &other, const double &precision) const
double distSq (const vector3 &vv) const
bool createOrthoVector (vector3 &v) const
Detailed Description
Represents a vector in 3-dimensional real space.
The vector3 class was designed to simplify operations with floating point coordinates. To this end many of the
common operations have been overloaded for simplicity. Vector addition, subtraction, scalar multiplication,
dot product, cross product, magnitude and a number of other utility functions are built in to the vector class.
For a full description of the class member functions please consult the documentation. The following code
demonstrates several of the functions of the vector class:
vector3 v1,v2,v3;
v1 = VX;
v2 = VY;
v3 = cross(v1,v2);
v3 *= 2.5;
v3.normalize();
~vector3 ( ) [inline]
Destructor.
const
void Set ( double c ) [inline]
*
Set x,y and z-component of a vector from c[0]..c[2].
const
void SetY ( inY ) [inline]
double
Access function to get the y-coordinate of the vector.
const
void SetZ ( inZ ) [inline]
double
Access function to get the z-coordinate of the vector.
Warning:
No error checking is performed
Referenced by OBForceField::VectorBondDerivative().
This (slow) method allows to access the elements of the vector as if it were an array of doubles. If the index is
> 2, then a warning is printed and 0.0 is returned. Otherwise, if i is 0, 1 or 2, then a reference to x, y or z is
returned, respectively.
Warning:
This method is primarily designed to facilitate the integration ('Open Babelization') of code that uses
arrays of doubles rather than the vector class. Due to the error checks the method is of course very
slow and should therefore be avoided in production code.
const
const double* AsArray ( )
[inline]
Returns:
the vector as a const double *
Returns:
*this + v
const
vector3& operator-= ( vector3 v ) [inline]
&
Vector subtraction (subtract v from *this).
Returns:
*this - v
Returns:
*this + f
const
vector3& operator-= ( double f ) [inline]
*
Scalar subtraction (subtract f from *this).
Returns:
*this - f
Returns:
*this * c
const
vector3& operator/= ( double c ) [inline]
&
Scalar division (divide *this by c).
Returns:
*this divided by c
Returns:
the result (i.e., the updated vector)
Todo:
Currently unimplemented
calculates the product m*(*this) of the matrix m and the column vector represented by *this
Replaces *this with a random unit vector, which is (supposed to be) uniformly distributed over the unit
sphere. Uses the random number generator obRand, or uses the system number generator with a time seed if
obRand == NULL.
Parameters:
obRandP
random number generator to use, or NULL, if the system random number generator
(with time seed) should be used
Returns:
the result (i.e., the normalized vector)
This method normalizes *this. In other words, it divides the x,y,z coords of *this by this->length(). If *this
can't be safely normalized, it remains unchanged. See CanBeNormalized().
Returns:
a reference to *this
Returns:
Whether a vector can be normalized
This method returns true if *this can be safely normalized. Vectors that can't be safely normalized are:
Returns:
The length of the vector squared
Returns:
The vector length
double& x ( ) [inline]
Access function to set the x-coordinate of the vector.
double& y ( ) [inline]
Access function to set the y-coordinate of the vector.
double& z ( ) [inline]
Access function to set the z-coordinate of the vector.
Equivalence of vectors
Deprecated:
This method uses unreliable floating point == comparisons Use vector3::IsApprox() instead.
Returns:
true if every component is equal
Deprecated:
This method uses unreliable floating point == comparisons Use vector3::IsApprox() instead.
Returns:
true if at least one component of the two vectors is !=
Returns:
true if the vector *this is approximately equal to the vector other, to the precision precision.
More specifically, this method works exactly like the OpenBabel::IsApprox() function, replacing the
absolute value for doubles by the norm for vectors.
Parameters:
other The vector for comparison
precision This parameter plays the same role as in OpenBabel::IsApprox().
Referenced by OBAtom::GetNewBondVector().
Returns:
square of the distance between *this and vv
equivalent to length_2(*this-vv)
vector3
bool createOrthoVector ( res ) const
&
Construct a unit vector orthogonal to *this.
Returns:
Whether the method was successful
It requires that *this is normalizable; otherwise it just returns false. See CanBeNormalized()
Parameters:
res reference by which to pass the result.
Returns:
always true. (Return value kept for compatibility, as old versions of OpenBabel used to check for
normalizability).
The documentation for this class was generated from the following files:
• vector3.h
• matrix3x3.cpp
• vector3.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
#include <openbabel/babelconfig.h>
#include <openbabel/data.h>
#include <openbabel/mol.h>
#include <openbabel/locale.h>
#include "element.h"
#include "types.h"
#include "isotope.h"
#include "resdata.h"
Namespaces
namespace OpenBabel
Functions
int strncasecmp (const char *s1, const char *s2,
size_t n)
void Toupper (string &s)
void Tolower (string &s)
Detailed Description
Global data and resource file parsers.
Function Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
00001 /**********************************************************************
00002 data.h - Global data and resource file parsers.
00003
00004 Copyright (C) 1998-2001 by OpenEye Scientific Software, Inc.
00005 Some portions Copyright (C) 2001-2006 by Geoffrey R. Hutchison
00006
00007 This file is part of the Open Babel project.
00008 For more information, see <http://openbabel.sourceforge.net/>
00009
00010 This program is free software; you can redistribute it and/or modify
00011 it under the terms of the GNU General Public License as published by
00012 the Free Software Foundation version 2 of the License.
00013
00014 This program is distributed in the hope that it will be useful,
00015 but WITHOUT ANY WARRANTY; without even the implied warranty of
00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00017 GNU General Public License for more details.
00018 ***********************************************************************/
00019
00020 #ifndef OB_DATA_H
00021 #define OB_DATA_H
00022
00023 #include <openbabel/babelconfig.h>
00024
00025 #include <stdio.h>
00026
00027 #include <fstream>
00028 #include <vector>
00029 #include <string>
00030 #include <cstring>
00031
00032 namespace OpenBabel
00033 {
00034
00035 class OBAtom;
00036 class OBMol;
00037 class OBBitVec;
00038
00049 class OBAPI OBGlobalDataBase
00050 {
00051 protected:
00052 bool _init;
00053 const char *_dataptr;
00054 std::string _filename;
00055 std::string _dir;
00056 std::string _subdir;
00057 std::string _envvar;
00058
00059 public:
00061 OBGlobalDataBase(): _init(false), _dataptr(NULL) { }
00063 virtual ~OBGlobalDataBase() {}
00065 void Init();
00067 virtual unsigned int GetSize() { return 0;}
00069 void SetReadDirectory(char *dir) { _dir = dir; }
00071 void SetEnvironmentVariable(char *var) { _envvar = var; }
data.h 1098
Open Babel: API Documentation
00073 virtual void ParseLine(const char*) {}
00074 };
00075
00082 class OBAPI OBElement
00083 {
00084 int _num;
00085 char _symbol[4];
00086 std::string _name;
00087 double _Rcov,_Rvdw,_mass,_elNeg,_ARENeg,_ionize,_elAffinity;
00088 double _red, _green, _blue;
00089 int _maxbonds;
00090 public:
00092 OBElement() {}
00109 OBElement(int num, const char *sym, double ARENeg, double rcov,
00110 double rvdw, int maxbo, double mass, double elNeg, double ionize,
00111 double elAffin, double red, double green, double blue,
00112 std::string name) :
00113 _num(num), _name(name), _Rcov(rcov), _Rvdw(rvdw), _mass(mass),
00114 _elNeg(elNeg), _ARENeg(ARENeg), _ionize(ionize), _elAffinity(elAffin),
00115 _red(red), _green(green), _blue(blue),
00116 _maxbonds(maxbo)
00117 {
00118 strncpy(_symbol, sym, 4);
00119 }
00120
00122 int GetAtomicNum() { return(_num); }
00124 char *GetSymbol() { return(_symbol); }
00126 double GetCovalentRad() { return(_Rcov); }
00128 double GetVdwRad() { return(_Rvdw); }
00130 double GetMass() { return(_mass); }
00132 int GetMaxBonds() { return(_maxbonds);}
00134 double GetElectroNeg() { return(_elNeg); }
00136 double GetAllredRochowElectroNeg() { return(_ARENeg); }
00138 double GetIonization() { return(_ionize); }
00140 double GetElectronAffinity(){ return(_elAffinity); }
00142 std::string GetName() { return(_name); }
00144 double GetRed() { return(_red); }
00146 double GetGreen() { return(_green); }
00148 double GetBlue() { return(_blue); }
00149 };
00150
00151 // class introduction in data.cpp
00152 class OBAPI OBElementTable : public OBGlobalDataBase
00153 {
00154 std::vector<OBElement*> _element;
00155
00156 public:
00157
00158 OBElementTable(void);
00159 ~OBElementTable();
00160
00161 void ParseLine(const char*);
00162
00164 unsigned int GetNumberOfElements();
00166 unsigned int GetSize() { return GetNumberOfElements(); }
00167
00169 int GetAtomicNum(const char *);
00173 int GetAtomicNum(const char *, int &iso);
00175 const char *GetSymbol(int);
00177 double GetVdwRad(int);
00179 double GetCovalentRad(int);
data.h 1099
Open Babel: API Documentation
00182 double GetMass(int);
00185 double CorrectedBondRad(int,int = 3); // atomic #, hybridization
00188 double CorrectedVdwRad(int,int = 3); // atomic #, hybridization
00190 int GetMaxBonds(int);
00192 double GetElectroNeg(int);
00194 double GetAllredRochowElectroNeg(int);
00196 double GetIonization(int);
00198 double GetElectronAffinity(int);
00200 std::vector<double> GetRGB(int);
00202 std::string GetName(int);
00203 };
00204
00205 // class introduction in data.cpp
00206 class OBAPI OBIsotopeTable : public OBGlobalDataBase
00207 {
00208 std::vector<std::vector<std::pair <unsigned int, double> > > _isotopes;
00209
00210 public:
00211
00212 OBIsotopeTable(void);
00213 ~OBIsotopeTable() {}
00214
00216 unsigned int GetSize() { return _isotopes.size(); }
00217
00218 void ParseLine(const char*);
00221 double GetExactMass(const unsigned int atomicNum,
00222 const unsigned int isotope = 0);
00223 };
00224
00225 // class introduction in data.cpp
00226 class OBAPI OBTypeTable : public OBGlobalDataBase
00227 {
00228 int _linecount;
00229 unsigned int _ncols,_nrows;
00230 int _from,_to;
00231 std::vector<std::string> _colnames;
00232 std::vector<std::vector<std::string> > _table;
00233
00234 public:
00235
00236 OBTypeTable(void);
00237 ~OBTypeTable() {}
00238
00239 void ParseLine(const char*);
00240
00242 unsigned int GetSize() { return _table.size(); }
00243
00245 bool SetFromType(const char*);
00247 bool SetToType(const char*);
00249 bool Translate(char *to, const char *from); // to, from
00252 bool Translate(std::string &to, const std::string &from); // to, from
00255 std::string Translate(const std::string &from);
00256
00258 std::string GetFromType();
00260 std::string GetToType();
00261 };
00262
00268 class OBAPI OBResidueData : public OBGlobalDataBase
00269 {
00270 int _resnum;
00271 std::vector<std::string> _resname;
data.h 1100
Open Babel: API Documentation
00272 std::vector<std::vector<std::string> > _resatoms;
00273 std::vector<std::vector<std::pair<std::string,int> > > _resbonds;
00274
00275 //variables used only temporarily for parsing resdata.txt
00276 std::vector<std::string> _vatmtmp;
00277 std::vector<std::pair<std::string,int> > _vtmp;
00278 public:
00279
00280 OBResidueData();
00281 void ParseLine(const char*);
00282
00284 unsigned int GetSize() { return _resname.size(); }
00285
00289 bool SetResName(const std::string &);
00292 int LookupBO(const std::string &);
00295 int LookupBO(const std::string &, const std::string&);
00299 bool LookupType(const std::string &,std::string&,int&);
00303 bool AssignBonds(OBMol &,OBBitVec &);
00304 };
00305
00306 } // end namespace OpenBabel
00307
00308 #endif //DATA_H
00309
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
data.h 1101
data.h File Reference
Global data and resource file parsers. More...
#include <openbabel/babelconfig.h>
#include <stdio.h>
#include <fstream>
#include <vector>
#include <string>
#include <cstring>
This graph shows which files directly or indirectly include this file:
Namespaces
namespace OpenBabel
Classes
class OBGlobalDataBase
Base data table class, handles reading data files. More...
class OBElement
Individual element data type. More...
class OBElementTable
Periodic Table of the Elements. More...
class OBIsotopeTable
Table of atomic isotope masses. More...
class OBTypeTable
Detailed Description
Global data and resource file parsers.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
Classes 1103
Deprecated List
Member OpenBabel::OBAtom::GetNextAtom ()
Use any of the other iterator methods. This method will be removed in the future.
Member OpenBabel::OBBond::SetKSingle ()
Use SetBondOrder() instead
Member OpenBabel::OBBond::SetKTriple ()
Use SetBondOrder() instead
Member OpenBabel::OBBond::IsKSingle ()
Use IsSingle() instead
Member OpenBabel::OBBond::IsKDouble ()
Use IsDouble() instead
Member OpenBabel::OBBond::IsKTriple ()
Use IsTriple() instead
Member OpenBabel::OBBond::Visit
Use OBBitVec objects instead to be fully thread-safe.
Member OpenBabel::OBElement::OBElement ()
Not used. Instead, initialize element properties
Member OpenBabel::OBFloatGrid::GetVals ()
Will be removed.
Member OpenBabel::OBGridData::SetLimits (const double origin[3], const double x[3], const double y[3],
const double z[3])
Will be removed.
Class OBProxGrid
May be removed in the future, since docking is not a key feature
Member OpenBabel::OBRotorList::IgnoreSymmetryRemoval ()
Currently has no effect
Class OBScoreGrid
Will disappear in future versions. Use your own code.
Member OpenBabel::OBSmartsPattern::_growbond
(Not used)
Class patty
Member ThrowError
Throw an error through the OpenBabel::OBMessageHandler class
Member ThrowError
Throw an error through the OpenBabel::OBMessageHandler class
Member IsNear
Use IsApprox() instead
Member IsNearZero
Member vectorAngle
This method will probably replaced by a safer algorithm in the future.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
#include <openbabel/babelconfig.h>
#include <openbabel/oberror.h>
#include <openbabel/generic.h>
#include <openbabel/base.h>
#include <openbabel/descriptor.h>
Namespaces
namespace OpenBabel
Detailed Description
Base class for molecular descriptors.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
00001 /**********************************************************************
00002 descriptor.h - Base class for molecular descriptors
00003
00004 Copyright (C) 2007 by Chris Morley
00005
00006 This file is part of the Open Babel project.
00007 For more information, see <http://openbabel.sourceforge.net/>
00008
00009 This program is free software; you can redistribute it and/or modify
00010 it under the terms of the GNU General Public License as published by
00011 the Free Software Foundation version 2 of the License.
00012
00013 This program is distributed in the hope that it will be useful,
00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00016 GNU General Public License for more details.
00017 ***********************************************************************/
00018
00019 #ifndef OB_DESCRIPTOR_H
00020 #define OB_DESCRIPTOR_H
00021
00022 #include <string>
00023 #include <sstream>
00024 #include <limits>
00025
00026 #include <openbabel/plugin.h>
00027
00028 namespace OpenBabel
00029 {
00030 class OBBase; //Forward declaration; used only as pointer.
00031
00032 // Class introduction in descriptor.cpp
00033 class OBAPI OBDescriptor : public OBPlugin
00034 {
00035 MAKE_PLUGIN(OBDescriptor)
00036
00037 public:
00038 const char* TypeID(){return "descriptors";};
00039
00041 virtual double Predict(OBBase* pOb){return std::numeric_limits<double>::quiet_NaN();}
00042
00044 double PredictAndSave(OBBase* pOb);
00045
00047 virtual double GetStringValue(OBBase* pOb, std::string& svalue);
00048
00050 virtual bool Compare(OBBase* pOb, std::istream& ss, bool noEval);
00051
00055 virtual bool Display(std::string&txt, const char* param, const char* ID=NULL);
00056
00058 static bool FilterCompare(OBBase* pOb, std::istream& ss, bool noEval);
00059
00061 static void AddProperties(OBBase* pOb, const std::string& DescrList);
00062
00064 static void DeleteProperties(OBBase* pOb, const std::string& DescrList);
00065
descriptor.h 1111
Open Babel: API Documentation
00068 static std::string GetValues(OBBase* pOb, const std::string& DescrList);
00069
00070 protected:
00072 static std::string GetIdentifier(std::istream& optionText);
00073
00074 static double ParsePredicate(std::istream& optionText, char& ch1, char& ch2, std::strin
00075
00078 static bool ReadStringFromFilter(std::istream& ss, std::string& result);
00079
00082 static bool CompareStringWithFilter(std::istream& optionText, std::string& s, bool noEv
00083
00084 // Treats _ as not a punctuation character
00085 static bool ispunctU(char ch)
00086 {
00087 return ispunct(ch) && ch!='_';
00088 }
00089
00091 static bool MatchPairData(OBBase* pOb, std::string& s);
00092
00093 };
00094
00095 template <class T>
00096 static bool DoComparison(char ch1, char ch2, T& val, T& filterval)
00097 {
00098 switch(ch1)
00099 {
00100 case (0): //no comparison operator is same as =
00101 case('='):
00102 return val==filterval; //**needs a better floating point comparison**
00103 case('!'):
00104 return val!=filterval; //**needs a better floating point comparison**
00105 case('>'):
00106 if(ch2=='=')
00107 return val>=filterval;
00108 else
00109 return val>filterval;
00110 case('<'):
00111 if(ch2=='=')
00112 return val<=filterval;
00113 else
00114 return val<filterval;
00115 }
00116 return false;
00117 }
00118
00119 }//namespace
00120 #endif
00121
This file is part of the documentation for Open Babel, version 2.2.0.
descriptor.h 1112
Open Babel: API Documentation
Documentation copyright © 1998-2007, the Open Babel Developers.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
descriptor.h 1113
descriptor.h File Reference
Base class for molecular descriptors. More...
#include <string>
#include <sstream>
#include <limits>
#include <openbabel/plugin.h>
This graph shows which files directly or indirectly include this file:
Namespaces
namespace OpenBabel
Classes
class OBDescriptor
Base class for molecular properties, descriptors or features. More...
Functions
template<class T>
static bool DoComparison (char ch1, char ch2, T &val, T &filterval)
Detailed Description
Base class for molecular descriptors.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
00001 /**********************************************************************
00002 dlhandler.h - Dynamic loader for file format modules.
00003
00004 Copyright (C) 2004-2005 by Chris Morley
00005
00006 This file is part of the Open Babel project.
00007 For more information, see <http://openbabel.sourceforge.net/>
00008
00009 This program is free software; you can redistribute it and/or modify
00010 it under the terms of the GNU General Public License as published by
00011 the Free Software Foundation version 2 of the License.
00012
00013 This program is distributed in the hope that it will be useful,
00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00016 GNU General Public License for more details.
00017 ***********************************************************************/
00018
00019 #ifndef OB_DLHANDLER_H
00020 #define OB_DLHANDLER_H
00021
00022 #include <openbabel/babelconfig.h>
00023
00024 #include <string>
00025 #include <vector>
00026
00027 // These macros are used in DLL builds. If they have not
00028 // been set in babelconfig.h, define them as nothing.
00029 #ifndef OBERROR
00030 #define OBERROR
00031 #endif
00032 #ifndef OBDLL
00033 #define OBDLL
00034 #endif
00035
00046 class OBERROR DLHandler
00047 {
00048 public:
00049
00054 static bool getConvDirectory(std::string& convPath);
00055
00065 static int findFiles (std::vector <std::string>& file_list,
00066 const std::string& pattern, const std::string& path);
00067
00074 static int findFiles (std::vector<std::string>& file_list,const std::string &file
00075
00077 static bool openLib(const std::string& lib_name);
00078
00080 static const char* getFormatFilePattern();
00081
00083 static char getSeparator();
00084
00086 static void Sleep(int n);
00087
00088 };
dlhandler.h 1116
Open Babel: API Documentation
00089
00090 #endif /* DLHANDLER_H*/
00091
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
dlhandler.h 1117
dlhandler.h File Reference
Dynamic loader for file format modules. More...
#include <openbabel/babelconfig.h>
#include <string>
#include <vector>
This graph shows which files directly or indirectly include this file:
Classes
class DLHandler
Interface for dynamic libraries. More...
Detailed Description
Dynamic loader for file format modules.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
#include <openbabel/dlhandler.h>
#include <openbabel/babelconfig.h>
#include <unistd.h>
#include <dirent.h>
#include <sys/stat.h>
#include <dlfcn.h>
#include <cstring>
#include <cstdlib>
Namespaces
namespace OpenBabel
Defines
#define BUFF_SIZE 32768
Functions
OBERROR bool tokenize (std::vector< std::string > &, const char *buf, const char *delimstr=" \t\n\r")
int matchFiles (SCANDIR_CONST struct dirent *entry_p)
Detailed Description
Dynamic loader for UNIX (handles file format shared obj.).
Define Documentation
Function Documentation
Referenced by DLHandler::findFiles().
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
#include <openbabel/babelconfig.h>
#include <cstdarg>
#include <iostream>
#include <windows.h>
#include <openbabel/dlhandler.h>
Defines
#define VC_EXTRALEAN
Detailed Description
Dynamic loader for Win32 (handles file format DDLs).
Define Documentation
#define VC_EXTRALEAN
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• File List
• File Members
OBGenericData class to for atom alias data (e.g., in 2D drawing programs for
alias.cpp
"COOH")
OBGenericData class to for atom alias data (e.g., in 2D drawing programs for
alias.h [code]
"COOH")
atom.cpp Handle OBAtom class
atom.h [code] Handle atoms
atomclass.h [code] Handle atom classes in reaction SMILES/SMIRKS
base.cpp Implementation of base classes
base.h [code] Base classes to build a graph
bitvec.cpp Fast and efficient bitstring class
bitvec.h [code] Fast and efficient bitstring class
bond.cpp Handle OBBond class
bond.h [code] Handle bonds
bondtyper.cpp Bond typer to perceive connectivity and bond orders/types
bondtyper.h [code] Bond typer to perceive connectivity and bond orders/types
builder.cpp Handle OBBuilder class
builder.h [code] Class to build 3D structures
canon.cpp Canonical numbering of SMILES, molecules and fragments
canon.h [code] Canonical numbering of SMILES, molecules and fragments
chains.cpp Parse for macromolecule chains and residues
chains.h [code] Parse for macromolecule chains and residues
chiral.cpp Detect chiral atoms and molecules
chiral.h [code] Detect chiral atoms and molecules
data.cpp Global data and resource file parsers
data.h [code] Global data and resource file parsers
descriptor.cpp Base class for molecular descriptors
descriptor.h [code] Base class for molecular descriptors
dlhandler.h [code] Dynamic loader for file format modules
dlhandler_unix.cpp Dynamic loader for UNIX (handles file format shared obj.)
dlhandler_win32.cpp Dynamic loader for Win32 (handles file format DDLs)
fingerprint.cpp Definitions for OBFingerprint base class and fastsearch classes
fingerprint.h [code] Declaration of OBFingerprint base class and fastsearch classes
forcefield.cpp Handle OBForceField class
forcefield.h [code] Handle forcefields
format.cpp Base class OBFormat for file formats
format.h [code] Declarations for OBFormat
generic.cpp Handle OBGenericData classes. Custom data for atoms, bonds, etc
generic.h [code] Handle generic data classes. Custom data for atoms, bonds, etc
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
#include <openbabel/babelconfig.h>
#include <vector>
#include <algorithm>
#include <iosfwd>
#include <fstream>
#include <openbabel/fingerprint.h>
#include <openbabel/oberror.h>
Namespaces
namespace OpenBabel
Detailed Description
Definitions for OBFingerprint base class and fastsearch classes.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
00001 /**********************************************************************
00002 fingerprint.h - Base class for fingerprints and fast searching
00003
00004 Copyright (C) 2005 by Chris Morley
00005
00006 This file is part of the Open Babel project.
00007 For more information, see <http://openbabel.sourceforge.net/>
00008
00009 This program is free software; you can redistribute it and/or modify
00010 it under the terms of the GNU General Public License as published by
00011 the Free Software Foundation version 2 of the License.
00012
00013 This program is distributed in the hope that it will be useful,
00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00016 GNU General Public License for more details.
00017 ***********************************************************************/
00018
00019 #ifndef OB_FINGERPRINT_H
00020 #define OB_FINGERPRINT_H
00021
00022 #include <list>
00023 #include <map>
00024 #include <set>
00025 #include <vector>
00026 #include <string>
00027
00028 #include <openbabel/plugin.h>
00029
00030 #ifndef OBFPRT
00031 #define OBFPRT
00032 #endif
00033
00034 namespace OpenBabel
00035 {
00036 class OBBase; //Forward declaration; used only as pointer.
00037
00039 class OBFPRT OBFingerprint : public OBPlugin
00040 {
00041 //see end of cpp file for detailed documentation
00042
00043 MAKE_PLUGIN(OBFingerprint)
00044
00045 const char* TypeID()
00046 {
00047 return "fingerprints";
00048 }
00049
00050 //Rest of OBFingerprints declarations
00051 public:
00052
00053 virtual ~OBFingerprint(){}
00054
00056 void SetBit(std::vector<unsigned int>& vec, const unsigned int n);
00057
fingerprint.h 1129
Open Babel: API Documentation
00059 bool GetBit(const std::vector<unsigned int>& vec, const unsigned int n);
00060
00062 void Fold(std::vector<unsigned int>& vec, unsigned int nbits);
00063
00065 virtual bool GetFingerprint(OBBase* pOb, std::vector<unsigned int>& fp, int nbits=0)=0;
00066
00068 enum FptFlag{FPT_UNIQUEBITS=1};
00069 virtual unsigned int Flags() { return 0;};
00070
00073 virtual std::string DescribeBits(const std:: vector<unsigned int> fp, bool bSet=true)
00074 {
00075 std::string txt("");
00076 return txt;
00077 }
00078
00080 static double Tanimoto(const std::vector<unsigned int>& vec1, const std::vector<unsigne
00081
00083 static double Tanimoto(const std::vector<unsigned int>& vec1, const unsigned int* p2)
00084 {
00086 int andbits=0, orbits=0;
00087 unsigned int i;
00088 for (i=0;i<vec1.size();++i)
00089 {
00090 int andfp = vec1[i] & p2[i];
00091 int orfp = vec1[i] | p2[i];
00092 // Count bits
00093 #ifdef __GNUC__
00094 andbits += __builtin_popcount(andfp);
00095 orbits += __builtin_popcount(orfp);
00096 #else
00097 for(;andfp;andfp=andfp<<1)
00098 if(andfp<0) ++andbits;
00099 for(;orfp;orfp=orfp<<1)
00100 if(orfp<0) ++orbits;
00101 #endif
00102 }
00103 return((double)andbits/(double)orbits);
00104 };
00105
00106 static unsigned int Getbitsperint(){ return bitsperint; }
00107
00108 private:
00110 struct bit_or
00111 {
00112 unsigned int operator()(const unsigned int a, const unsigned int b)
00113 {
00114 return a | b;
00115 }
00116 };
00117
00118
00119 public:
00122 static OBFingerprint* FindFingerprint(const char* ID){ return FindType(ID);}
00123
00124 private:
00125 static const unsigned int bitsperint;// = 8 * sizeof(unsigned int);
00126 };
00127
00128 //Fast search routines
00131 struct OBFPRT FptIndexHeader
00132 {
fingerprint.h 1130
Open Babel: API Documentation
00133 unsigned int headerlength;
00134 unsigned int nEntries;
00135 unsigned int words;
00136 char fpid[16];
00137 char datafilename[256];
00138 };
00139
00142 struct OBFPRT FptIndex
00143 {
00144 FptIndexHeader header;
00145 std::vector<unsigned int> fptdata;
00146 std::vector<unsigned int> seekdata;
00147 bool Read(std::istream* pIndexstream);
00149 OBFingerprint* CheckFP();
00150 };
00151
00154 class OBFPRT FastSearch
00155 {
00156 //see end of cpp file for detailed documentation
00157 public:
00159 std::string ReadIndexFile(std::string IndexFilename);
00160 std::string ReadIndex(std::istream* pIndexstream);
00161
00162 virtual ~FastSearch(){};
00163
00165 bool Find(OBBase* pOb, std::vector<unsigned int>& SeekPositions, unsigned int MaxCand
00166
00169 bool FindMatch(OBBase* pOb, std::vector<unsigned int>& SeekPositions,
00170 unsigned int MaxCandidates);
00171
00174 bool FindSimilar(OBBase* pOb, std::multimap<double, unsigned int>& SeekposMap,
00175 double MinTani);
00176
00179 bool FindSimilar(OBBase* pOb, std::multimap<double, unsigned int>& SeekposMap,
00180 int nCandidates=0);
00181
00183 OBFingerprint* GetFingerprint() const{ return _pFP;};
00184
00186 const FptIndexHeader& GetIndexHeader() const{ return _index.header;};
00187
00188 private:
00189 FptIndex _index;
00190 OBFingerprint* _pFP;
00191 };
00192
00195 class OBFPRT FastSearchIndexer
00196 {
00197 //see end of cpp file for detailed documentation
00198 public:
00200 FastSearchIndexer(std::string& datafilename, std::ostream* os, std::string& fpid,
00201 int FptBits=0);
00202
00204 FastSearchIndexer(FptIndex* pindex, std::ostream* os);
00205
00206 ~FastSearchIndexer();
00207
00209 bool Add(OBBase* pOb, std::streampos seekpos);
00210
00211 private:
00212 std::ostream* _indexstream;
00213 FptIndex* _pindex;
fingerprint.h 1131
Open Babel: API Documentation
00214 OBFingerprint* _pFP;
00215 int _nbits;
00216 };
00217
00218 } //namespace OpenBabel
00219 #endif
00220
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
fingerprint.h 1132
fingerprint.h File Reference
Declaration of OBFingerprint base class and fastsearch classes. More...
#include <list>
#include <map>
#include <set>
#include <vector>
#include <string>
#include <openbabel/plugin.h>
This graph shows which files directly or indirectly include this file:
Namespaces
namespace OpenBabel
Classes
class OBFingerprint
The base class for fingerprints. More...
struct OBFingerprint::bit_or
Function object to set bits.
struct FptIndexHeader
Header for fastsearch index file. More...
struct FptIndex
Structure of fastsearch index files. More...
class FastSearch
Class to search fingerprint index files. More...
class FastSearchIndexer
Class to prepare fingerprint index files See FastSearch class for details. More...
Detailed Description
Declaration of OBFingerprint base class and fastsearch classes.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
#include <openbabel/babelconfig.h>
#include <openbabel/forcefield.h>
#include <openbabel/mol.h>
#include <openbabel/atom.h>
#include <openbabel/bond.h>
#include <openbabel/obiter.h>
#include <openbabel/math/matrix3x3.h>
#include <openbabel/rotamer.h>
#include <openbabel/rotor.h>
Namespaces
namespace OpenBabel
Functions
void Reweight (std::vector< std::vector< double > > &rotorWeights, std::vector< int > rotorKey,
double bonus)
Detailed Description
Handle OBForceField class.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
00001 /**********************************************************************
00002 forcefield.h - Handle OBForceField class.
00003
00004 Copyright (C) 2006-2007 by Tim Vandermeersch <tim.vandermeersch@gmail.com>
00005
00006 This file is part of the Open Babel project.
00007 For more information, see <http://openbabel.sourceforge.net/>
00008
00009 This program is free software; you can redistribute it and/or modify
00010 it under the terms of the GNU General Public License as published by
00011 the Free Software Foundation version 2 of the License.
00012
00013 This program is distributed in the hope that it will be useful,
00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00016 GNU General Public License for more details.
00017 ***********************************************************************/
00018
00019 #ifndef OB_FORCEFIELD_H
00020 #define OB_FORCEFIELD_H
00021
00022 #include <vector>
00023 #include <string>
00024 #include <map>
00025
00026 #include <list>
00027 #include <set>
00028 #include <openbabel/babelconfig.h>
00029 #include <openbabel/base.h>
00030 #include <openbabel/mol.h>
00031 #include <openbabel/plugin.h>
00032 #include <openbabel/grid.h>
00033 #include <openbabel/griddata.h>
00034 #include <float.h>
00035
00036 namespace OpenBabel
00037 {
00038 // log levels
00039 #define OBFF_LOGLVL_NONE 0
00040 #define OBFF_LOGLVL_LOW 1
00041 #define OBFF_LOGLVL_MEDIUM 2
00042 #define OBFF_LOGLVL_HIGH 3
00043
00044 // terms
00045 #define OBFF_ENERGY (1 << 0)
00046 #define OBFF_EBOND (1 << 1)
00047 #define OBFF_EANGLE (1 << 2)
00048 #define OBFF_ESTRBND (1 << 3)
00049 #define OBFF_ETORSION (1 << 4)
00050 #define OBFF_EOOP (1 << 5)
00051 #define OBFF_EVDW (1 << 6)
00052 #define OBFF_EELECTROSTATIC (1 << 7)
00053
00054 // constraint types
00055 #define OBFF_CONST_IGNORE (1 << 0)
forcefield.h 1137
Open Babel: API Documentation
00056 #define OBFF_CONST_ATOM (1 << 1)
00057 #define OBFF_CONST_ATOM_X (1 << 2)
00058 #define OBFF_CONST_ATOM_Y (1 << 3)
00059 #define OBFF_CONST_ATOM_Z (1 << 4)
00060 #define OBFF_CONST_DISTANCE (1 << 5)
00061 #define OBFF_CONST_ANGLE (1 << 6)
00062 #define OBFF_CONST_TORSION (1 << 7)
00063 #define OBFF_CONST_CHIRAL (1 << 8)
00064
00065 // mode arguments for SteepestDescent, ConjugateGradients, ...
00066 #define OBFF_NUMERICAL_GRADIENT (1 << 0)
00067 #define OBFF_ANALYTICAL_GRADIENT (1 << 1)
00068
00069 #define KCAL_TO_KJ 4.1868
00070
00071 // inline if statements for logging.
00072 #define IF_OBFF_LOGLVL_LOW if(_loglvl >= OBFF_LOGLVL_LOW)
00073 #define IF_OBFF_LOGLVL_MEDIUM if(_loglvl >= OBFF_LOGLVL_MEDIUM)
00074 #define IF_OBFF_LOGLVL_HIGH if(_loglvl >= OBFF_LOGLVL_HIGH)
00075
00077 struct LineSearchType
00078 {
00079 enum {
00080 Simple, Newton2Num
00081 };
00082 };
00083 /*
00084 struct ConstraintType
00085 {
00086 enum {
00087 Ignore, Atom, AtomX, AtomY, AtomZ, Distance, Angle, Torsion, Chiral
00088 };
00089 };
00090 */
00091
00094 class OBFPRT OBFFParameter {
00095 public:
00097 int a, b, c, d;
00099 std::string _a, _b, _c, _d;
00100
00102 std::vector<int> _ipar;
00104 std::vector<double> _dpar;
00105
00107 OBFFParameter& operator=(const OBFFParameter &ai)
00108 {
00109 if (this != &ai) {
00110 a = ai.a;
00111 b = ai.b;
00112 c = ai.c;
00113 d = ai.d;
00114 _a = ai._a;
00115 _b = ai._b;
00116 _c = ai._c;
00117 _d = ai._d;
00118 _ipar = ai._ipar;
00119 _dpar = ai._dpar;
00120 }
00121
00122 return *this;
00123 }
00124
forcefield.h 1138
Open Babel: API Documentation
00126 void clear ()
00127 {
00128 a = b = c = d = 0;
00129 _ipar.clear();
00130 _dpar.clear();
00131 }
00132 }; // class OBFFParameter
00133
00134 // specific class introductions in forcefieldYYYY.cpp (for YYYY calculations)
00135
00138 class OBFPRT OBFFCalculation2
00139 {
00140 public:
00142 double energy;
00144 OBAtom *a, *b;
00146 int idx_a, idx_b;
00148 double *pos_a, *pos_b;
00150 double force_a[3], force_b[3];
00152 virtual ~OBFFCalculation2()
00153 {
00154 }
00157 virtual void SetupPointers()
00158 {
00159 if (!a || !b) return;
00160 pos_a = a->GetCoordinate();
00161 idx_a = a->GetIdx();
00162 pos_b = b->GetCoordinate();
00163 idx_b = b->GetIdx();
00164 }
00165 };
00166
00169 class OBFPRT OBFFCalculation3: public OBFFCalculation2
00170 {
00171 public:
00173 OBAtom *c;
00175 int idx_c;
00177 double *pos_c;
00179 double force_c[3];
00181 virtual ~OBFFCalculation3()
00182 {
00183 }
00186 virtual void SetupPointers()
00187 {
00188 if (!a || !b || !c) return;
00189 pos_a = a->GetCoordinate();
00190 idx_a = a->GetIdx();
00191 pos_b = b->GetCoordinate();
00192 idx_b = b->GetIdx();
00193 pos_c = c->GetCoordinate();
00194 idx_c = c->GetIdx();
00195 }
00196 };
00197
00200 class OBFPRT OBFFCalculation4: public OBFFCalculation3
00201 {
00202 public:
00204 OBAtom *d;
00206 int idx_d;
00208 double *pos_d;
00210 double force_d[3];
00212 virtual ~OBFFCalculation4()
forcefield.h 1139
Open Babel: API Documentation
00213 {
00214 }
00217 void SetupPointers()
00218 {
00219 if (!a || !b || !c || !d) return;
00220 pos_a = a->GetCoordinate();
00221 idx_a = a->GetIdx();
00222 pos_b = b->GetCoordinate();
00223 idx_b = b->GetIdx();
00224 pos_c = c->GetCoordinate();
00225 idx_c = c->GetIdx();
00226 pos_d = d->GetCoordinate();
00227 idx_d = d->GetIdx();
00228 }
00229 };
00230
00234 class OBFPRT OBFFConstraint
00235 {
00236 public:
00238 double factor, constraint_value;
00239 double rab0, rbc0;
00241 int type, ia, ib, ic, id;
00243 OBAtom *a, *b, *c, *d;
00245 vector3 grada, gradb, gradc, gradd;
00246
00248 OBFFConstraint()
00249 {
00250 a = b = c = d = NULL;
00251 ia = ib = ic = id = 0;
00252 constraint_value = 0.0;
00253 factor = 0.0;
00254 }
00256 ~OBFFConstraint()
00257 {
00258 }
00259
00260 vector3 GetGradient(int a)
00261 {
00262 if (a == ia)
00263 return grada;
00264 else if (a == ib)
00265 return gradb;
00266 else if (a == ic)
00267 return gradc;
00268 else if (a == id)
00269 return gradd;
00270 else
00271 return VZero;
00272 }
00273 };
00274
00278 class OBFPRT OBFFConstraints
00279 {
00280 public:
00282 OBFFConstraints();
00284 ~OBFFConstraints()
00285 {
00286 _constraints.clear();
00287 _ignored.Clear();
00288 _fixed.Clear();
00289 _Xfixed.Clear();
forcefield.h 1140
Open Babel: API Documentation
00290 _Yfixed.Clear();
00291 _Zfixed.Clear();
00292 }
00294 void Clear();
00296 double GetConstraintEnergy();
00298 vector3 GetGradient(int a);
00300 OBFFConstraints& operator=(const OBFFConstraints &ai)
00301 {
00302 if (this != &ai) {
00303 _constraints = ai._constraints;
00304 _ignored = ai._ignored;
00305 _fixed = ai._fixed;
00306 _Xfixed = ai._Xfixed;
00307 _Yfixed = ai._Yfixed;
00308 _Zfixed = ai._Zfixed;
00309 }
00310 return *this;
00311 }
00312
00316 void Setup(OBMol &mol);
00317
00319 // Set Constraints //
00322
00323
00324 void SetFactor(double factor);
00326 void AddIgnore(int a);
00328 void AddAtomConstraint(int a);
00330 void AddAtomXConstraint(int a);
00332 void AddAtomYConstraint(int a);
00334 void AddAtomZConstraint(int a);
00336 void AddDistanceConstraint(int a, int b, double length);
00338 void AddAngleConstraint(int a, int b, int c, double angle);
00340 void AddTorsionConstraint(int a, int b, int c, int d, double torsion);
00343 void DeleteConstraint(int index);
00345
00346 // Get Constraints //
00349
00350
00351 double GetFactor();
00353 int Size() const;
00363 int GetConstraintType(int index) const;
00367 double GetConstraintValue(int index) const;
00370 int GetConstraintAtomA(int index) const;
00373 int GetConstraintAtomB(int index) const;
00376 int GetConstraintAtomC(int index) const;
00379 int GetConstraintAtomD(int index) const;
00382 bool IsIgnored(int a);
00385 bool IsFixed(int a);
00388 bool IsXFixed(int a);
00391 bool IsYFixed(int a);
00394 bool IsZFixed(int a);
00398 OBBitVec GetIgnoredBitVec() { return _ignored; }
00400
00401 private:
00402 std::vector<OBFFConstraint> _constraints;
00403 OBBitVec _ignored;
00404 OBBitVec _fixed;
00405 OBBitVec _Xfixed;
00406 OBBitVec _Yfixed;
00407 OBBitVec _Zfixed;
00408 double _factor;
forcefield.h 1141
Open Babel: API Documentation
00409 };
00410
00411 // Class OBForceField
00412 // class introduction in forcefield.cpp
00413 class OBFPRT OBForceField : public OBPlugin
00414 {
00415 MAKE_PLUGIN(OBForceField)
00416
00417 protected:
00418
00460 OBFFParameter* GetParameter(int a, int b, int c, int d, std::vector<OBFFParameter> &p
00462 OBFFParameter* GetParameter(const char* a, const char* b, const char* c, const char* d
00463 std::vector<OBFFParameter> ¶meter);
00465 int GetParameterIdx(int a, int b, int c, int d, std::vector<OBFFParameter> ¶meter
00466
00475 vector3 NumericalDerivative(OBAtom *a, int terms = OBFF_ENERGY);
00477 vector3 NumericalSecondDerivative(OBAtom *a, int terms = OBFF_ENERGY);
00478
00479 /*
00480 * NEW gradients functions
00481 */
00482
00485 void SetGradient(double *grad, int idx)
00486 {
00487 const int coordIdx = (idx - 1) * 3;
00488 for (unsigned int i = 0; i < 3; ++i) {
00489 _gradientPtr[coordIdx + i] = grad[i];
00490 }
00491 }
00492
00495 void AddGradient(double *grad, int idx)
00496 {
00497 const int coordIdx = (idx - 1) * 3;
00498 for (unsigned int i = 0; i < 3; ++i) {
00499 _gradientPtr[coordIdx + i] += grad[i];
00500 }
00501 }
00502
00505 virtual vector3 GetGradient(OBAtom *a, int /*terms*/ = OBFF_ENERGY)
00506 {
00507 const int coordIdx = (a->GetIdx() - 1) * 3;
00508 return _gradientPtr + coordIdx;
00509 }
00510
00513 double* GetGradientPtr()
00514 {
00515 return _gradientPtr;
00516 }
00517
00520 virtual void ClearGradients()
00521 {
00522 // We cannot use memset because IEEE floating point representations
00523 // are not guaranteed by C/C++ standard, but this loop can be
00524 // unrolled or vectorized by compilers
00525 for (unsigned int i = 0; i < _ncoords; ++i)
00526 _gradientPtr[i] = 0.0;
00527 // memset(_gradientPtr, '\0', sizeof(double)*_ncoords);
00528 }
00529
00537 bool IsInSameRing(OBAtom* a, OBAtom* b);
00538
forcefield.h 1142
Open Babel: API Documentation
00539 // general variables
00540 OBMol _mol;
00541 bool _init;
00542 std::string _parFile;
00543 bool _validSetup;
00544 double *_gradientPtr;
00545 // logging variables
00546 std::ostream* _logos;
00547 char _logbuf[BUFF_SIZE+1];
00548 int _loglvl;
00549 int _origLogLevel;
00550 // conformer genereation (rotor search) variables
00551 int _current_conformer;
00552 std::vector<double> _energies;
00553 // minimization variables
00554 double _econv, _e_n1;
00555 int _cstep, _nsteps;
00556 double *_grad1;
00557 unsigned int _ncoords;
00558 int _linesearch;
00559 // molecular dynamics variables
00560 double _timestep;
00561 double _temp;
00562 double *_velocityPtr;
00563 // contraint varibles
00564 static OBFFConstraints _constraints;
00565 static int _fixAtom;
00566 static int _ignoreAtom;
00567 // cut-off variables
00568 bool _cutoff;
00569 double _rvdw;
00570 double _rele;
00571 OBBitVec _vdwpairs;
00572 OBBitVec _elepairs;
00573 int _pairfreq;
00574 // group variables
00575 std::vector<OBBitVec> _intraGroup;
00576 std::vector<OBBitVec> _interGroup;
00577 std::vector<std::pair<OBBitVec, OBBitVec> > _interGroups;
00578
00579 public:
00583 virtual OBForceField* MakeNewInstance()=0;
00584
00586 virtual ~OBForceField()
00587 {
00588 if (_grad1 != NULL) {
00589 delete [] _grad1;
00590 _grad1 = NULL;
00591 }
00592 }
00593
00595 const char* TypeID()
00596 {
00597 return "forcefields";
00598 }
00599
00603 static OBForceField* FindForceField(const std::string& ID)
00604 {
00605 return FindType(ID.c_str());
00606 }
00610 static OBForceField* FindForceField(const char *ID)
forcefield.h 1143
Open Babel: API Documentation
00611 {
00612 return FindType(ID);
00613 }
00614 /*
00615 *
00616 */
00617 void SetParameterFile(const std::string &filename)
00618 {
00619 _parFile = filename;
00620 _init = false;
00621 }
00624 virtual std::string GetUnit() { return std::string("au"); }
00625 /* Does this force field have analytical gradients defined for all
00626 * calculation components (bonds, angles, non-bonded, etc.)
00627 * If this is true, code should default to using OBFF_ANALYTICAL_GRADIENT
00628 * for SteepestDescent() or ConjugateGradients().
00629 * \return True if all analytical gradients are implemented.
00630 */
00631 virtual bool HasAnalyticalGradients() { return false; }
00636 bool Setup(OBMol &mol);
00642 bool Setup(OBMol &mol, OBFFConstraints &constraints);
00646 // move to protected in future version
00647 virtual bool ParseParamFile() { return false; }
00651 // move to protected in future version
00652 virtual bool SetTypes() { return false; }
00656 // move to protected in future version
00657 virtual bool SetFormalCharges() { return false; }
00661 // move to protected in future version
00662 virtual bool SetPartialCharges() { return false; }
00666 // move to protected in future version
00667 virtual bool SetupCalculations() { return false; }
00672 // move to protected in future version
00673 virtual bool SetupPointers() { return false; }
00679 bool IsSetupNeeded(OBMol &mol);
00695 bool GetAtomTypes(OBMol &mol);
00711 bool GetPartialCharges(OBMol &mol);
00712
00713
00714
00719 bool GetCoordinates(OBMol &mol);
00721 bool UpdateCoordinates(OBMol &mol) {return GetCoordinates(mol); }
00726 bool GetConformers(OBMol &mol);
00728 bool UpdateConformers(OBMol &mol) { return GetConformers(mol); }
00733 bool SetCoordinates(OBMol &mol);
00738 bool SetConformers(OBMol &mol);
00748 OBGridData *GetGrid(double step, double padding, const char *type, double pchg);
00749
00751 // Interacting groups //
00753
00755
00756
00760 void AddIntraGroup(OBBitVec &group);
00765 void AddInterGroup(OBBitVec &group);
00773 void AddInterGroups(OBBitVec &group1, OBBitVec &group2);
00776 void ClearGroups();
00779 bool HasGroups();
00781
00783 // Cut-off //
00785
00787
00788
forcefield.h 1144
Open Babel: API Documentation
00791 void EnableCutOff(bool enable)
00792 {
00793 _cutoff = enable;
00794 }
00797 bool IsCutOffEnabled()
00798 {
00799 return _cutoff;
00800 }
00804 void SetVDWCutOff(double r)
00805 {
00806 _rvdw = r;
00807 }
00811 double GetVDWCutOff()
00812 {
00813 return _rvdw;
00814 }
00819 void SetElectrostaticCutOff(double r)
00820 {
00821 _rele = r;
00822 }
00826 double GetElectrostaticCutOff()
00827 {
00828 return _rele;
00829 }
00835 void SetUpdateFrequency(int f)
00836 {
00837 _pairfreq = f;
00838 }
00842 int GetUpdateFrequency()
00843 {
00844 return _pairfreq;
00845 }
00850 void UpdatePairsSimple();
00851
00852 //void UpdatePairsGroup(); TODO
00853
00857 unsigned int GetNumPairs();
00861 void EnableAllPairs()
00862 {
00863 // TODO: OBBitVec doesn't seem to be allocating it's memory correctly
00864 //_vdwpairs.SetRangeOn(0, _numpairs-1);
00865 //_elepairs.SetRangeOn(0, _numpairs-1);
00866 }
00868
00870 // Energy Evaluation //
00872
00874
00875
00884 virtual double Energy(bool = true) { return 0.0f; }
00891 virtual double E_Bond(bool = true) { return 0.0f; }
00898 virtual double E_Angle(bool = true) { return 0.0f; }
00905 virtual double E_StrBnd(bool = true) { return 0.0f; }
00912 virtual double E_Torsion(bool = true) { return 0.0f; }
00919 virtual double E_OOP(bool = true) { return 0.0f; }
00926 virtual double E_VDW(bool = true) { return 0.0f; }
00933 virtual double E_Electrostatic(bool = true) { return 0.0f; }
00935
00937 // Logging //
00939
00941
00942
forcefield.h 1145
Open Babel: API Documentation
00944 void PrintTypes();
00948 void PrintFormalCharges();
00951 void PrintPartialCharges();
00954 void PrintVelocities();
00959 bool SetLogFile(std::ostream *pos);
00984 bool SetLogLevel(int level);
00987 int GetLogLevel() { return _loglvl; }
00991 void OBFFLog(std::string msg)
00992 {
00993 if (!_logos)
00994 return;
00995
00996 *_logos << msg;
00997 }
01001 void OBFFLog(const char *msg)
01002 {
01003 if (!_logos)
01004 return;
01005
01006 *_logos << msg;
01007 }
01009
01011 // Structure Generation //
01013
01015
01016
01017 void DistanceGeometry();
01037 void SystematicRotorSearch(unsigned int geomSteps = 2500);
01055 int SystematicRotorSearchInitialize(unsigned int geomSteps = 2500);
01060 bool SystematicRotorSearchNextConformer(unsigned int geomSteps = 2500);
01081 void RandomRotorSearch(unsigned int conformers, unsigned int geomSteps = 2500);
01099 void RandomRotorSearchInitialize(unsigned int conformers, unsigned int geomSteps = 250
01104 bool RandomRotorSearchNextConformer(unsigned int geomSteps = 2500);
01126 void WeightedRotorSearch(unsigned int conformers, unsigned int geomSteps);
01127
01129 // Energy Minimization //
01131
01133
01134
01137 void SetLineSearchType(int type)
01138 {
01139 _linesearch = type;
01140 }
01144 int GetLineSearchType()
01145 {
01146 return _linesearch;
01147 }
01151 vector3 LineSearch(OBAtom *atom, vector3 &direction);
01165 double LineSearch(double *currentCoords, double *direction);
01178 double Newton2NumLineSearch(double *direction);
01184 void LineSearchTakeStep(double *origCoords, double *direction, double step);
01200 void SteepestDescent(int steps, double econv = 1e-6f, int method = OBFF_ANALYTICAL_GR
01227 void SteepestDescentInitialize(int steps = 1000, double econv = 1e-6f, int method = O
01242 bool SteepestDescentTakeNSteps(int n);
01258 void ConjugateGradients(int steps, double econv = 1e-6f, int method = OBFF_ANALYTICAL
01286 void ConjugateGradientsInitialize(int steps = 1000, double econv = 1e-6f, int method
01302 bool ConjugateGradientsTakeNSteps(int n);
01304
01306 // Molecular Dynamics //
01308
01310
forcefield.h 1146
Open Babel: API Documentation
01311
01313 void GenerateVelocities();
01333 void CorrectVelocities();
01349 void MolecularDynamicsTakeNSteps(int n, double T, double timestep = 0.001, int method
01351
01353 // Constraints //
01355
01357
01358
01361 OBFFConstraints& GetConstraints();
01365 void SetConstraints(OBFFConstraints& constraints);
01373 void SetFixAtom(int index);
01377 void UnsetFixAtom();
01386 void SetIgnoreAtom(int index);
01390 void UnsetIgnoreAtom();
01391
01393 static bool IgnoreCalculation(int a, int b);
01395 static bool IgnoreCalculation(int a, int b, int c);
01397 static bool IgnoreCalculation(int a, int b, int c, int d);
01399
01400
01402 // Validation //
01404
01406
01407
01408 bool DetectExplosion();
01410 vector3 ValidateLineSearch(OBAtom *atom, vector3 &direction);
01412 void ValidateSteepestDescent(int steps);
01414 void ValidateConjugateGradients(int steps);
01416 virtual bool Validate() { return false; }
01421 virtual bool ValidateGradients() { return false; }
01426 vector3 ValidateGradientError(vector3 &numgrad, vector3 &anagrad);
01428
01430 // Vector Analysis //
01432
01434
01435
01443 static double VectorBondDerivative(double *pos_a, double *pos_b,
01444 double *force_a, double *force_b);
01448 static double VectorDistanceDerivative(const double* const pos_i, const double* const
01449 double *force_i, double *force_j);
01451 static double VectorLengthDerivative(vector3 &a, vector3 &b);
01452
01463 static double VectorAngleDerivative(double *pos_a, double *pos_b, double *pos_c,
01464 double *force_a, double *force_b, double *force_c
01466 static double VectorAngleDerivative(vector3 &a, vector3 &b, vector3 &c);
01479 static double VectorOOPDerivative(double *pos_a, double *pos_b, double *pos_c, double
01480 double *force_a, double *force_b, double *force_c,
01482 static double VectorOOPDerivative(vector3 &a, vector3 &b, vector3 &c, vector3 &d);
01494 static double VectorTorsionDerivative(double *pos_a, double *pos_b, double *pos_c, do
01495 double *force_a, double *force_b, double *force
01497 static double VectorTorsionDerivative(vector3 &a, vector3 &b, vector3 &c, vector3 &d)
01498
01504 static void VectorSubtract(double *i, double *j, double *result)
01505 {
01506 for (unsigned int c = 0; c < 3; ++c)
01507 result[c] = i[c] - j[c];
01508 }
01509
01510 static void VectorSubtract(const double* const i, const double* const j, double *resu
01511 {
forcefield.h 1147
Open Babel: API Documentation
01512 for (unsigned int c = 0; c < 3; ++c)
01513 result[c] = i[c] - j[c];
01514 }
01515
01521 static void VectorAdd(double *i, double *j, double *result)
01522 {
01523 for (unsigned int c = 0; c < 3; ++c)
01524 result[c] = i[c] + j[c];
01525 }
01526
01532 static void VectorDivide(double *i, double n, double *result)
01533 {
01534 for (unsigned int c = 0; c < 3; ++c)
01535 result[c] = i[c] / n;
01536 }
01537
01543 static void VectorMultiply(double *i, double n, double *result)
01544 {
01545 for (unsigned int c = 0; c < 3; ++c)
01546 result[c] = i[c] * n;
01547 }
01548
01549 static void VectorMultiply(const double* const i, const double n, double *result)
01550 {
01551 for (unsigned int c = 0; c < 3; ++c)
01552 result[c] = i[c] * n;
01553 }
01554
01559 static void VectorSelfMultiply(double *i, double n)
01560 {
01561 for (unsigned int c = 0; c < 3; ++c)
01562 i[c] *= n;
01563 }
01564
01568 static void VectorNormalize(double *i)
01569 {
01570 double length = VectorLength(i);
01571 for (unsigned int c = 0; c < 3; ++c)
01572 i[c] /= length;
01573 }
01574
01579 static void VectorCopy(double *from, double *to)
01580 {
01581 for (unsigned int c = 0; c < 3; ++c)
01582 to[c] = from[c];
01583 }
01584
01589 static double VectorLength(double *i)
01590 {
01591 return sqrt( i[0]*i[0] + i[1]*i[1] + i[2]*i[2] );
01592 }
01593
01594 static double VectorDistance(double *pos_i, double *pos_j)
01595 {
01596 double ij[3];
01597 VectorSubtract(pos_i, pos_j, ij);
01598 const double rij = VectorLength(ij);
01599 return rij;
01600 }
01601
01608 static double VectorAngle(double *i, double *j, double *k);
forcefield.h 1148
Open Babel: API Documentation
01609
01617 static double VectorTorsion(double *i, double *j, double *k, double *l);
01618
01626 static double VectorOOP(double *i, double *j, double *k, double *l);
01627
01631 static void VectorClear(double *i)
01632 {
01633 for (unsigned int c = 0; c < 3; ++c)
01634 i[c] = 0.0;
01635 }
01636
01642 static double VectorDot(double *i, double *j)
01643 {
01644 double result = 0.0;
01645 // Written as a loop for vectorization
01646 // Loop will be unrolled by compiler otherwise
01647 for (unsigned int c = 0; c < 3; ++c)
01648 result += i[c]*j[c];
01649 return result;
01650 }
01651
01657 static void VectorCross(double *i, double *j, double *result)
01658 {
01659 result[0] = i[1]*j[2] - i[2]*j[1];
01660 result[1] = - i[0]*j[2] + i[2]*j[0];
01661 result[2] = i[0]*j[1] - i[1]*j[0];
01662 }
01663
01664 static void PrintVector(double *i)
01665 {
01666 std::cout << "<" << i[0] << ", " << i[1] << ", " << i[2] << ">" << std::endl;
01667 }
01669
01670 }; // class OBForceField
01671
01672 }// namespace OpenBabel
01673
01674 #endif // OB_FORCEFIELD_H
01675
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
forcefield.h 1149
Open Babel: API Documentation
• Related Pages
• Namespaces
• Classes
• Files
forcefield.h 1150
forcefield.h File Reference
Handle forcefields. More...
#include <vector>
#include <string>
#include <map>
#include <list>
#include <set>
#include <openbabel/babelconfig.h>
#include <openbabel/base.h>
#include <openbabel/mol.h>
#include <openbabel/plugin.h>
#include <openbabel/grid.h>
#include <openbabel/griddata.h>
#include <float.h>
This graph shows which files directly or indirectly include this file:
Namespaces
namespace OpenBabel
Classes
struct LineSearchType
The type of line search to be used for optimization -- simple or Newton numeric. More...
class OBFFParameter
Internal class for OBForceField to hold forcefield parameters. More...
class OBFFCalculation2
Internal class for OBForceField to hold energy and gradient calculations on specific force fields.
More...
class OBFFCalculation3
Internal class for OBForceField to hold energy and gradient calculations on specific force fields.
More...
class OBFFCalculation4
Internal class for OBForceField to hold energy and gradient calculations on specific force fields.
More...
class OBFFConstraint
Internal class for OBForceField to hold constraints. More...
class OBFFConstraints
Internal class for OBForceField to handle constraints. More...
class OBForceField
Base class for molecular mechanics force fields. More...
Defines
#define OBFF_LOGLVL_NONE 0
#define OBFF_LOGLVL_LOW 1
#define OBFF_LOGLVL_MEDIUM 2
#define OBFF_LOGLVL_HIGH 3
#define OBFF_ENERGY (1 << 0)
#define OBFF_EBOND (1 << 1)
#define OBFF_EANGLE (1 << 2)
#define OBFF_ESTRBND (1 << 3)
#define OBFF_ETORSION (1 << 4)
#define OBFF_EOOP (1 << 5)
#define OBFF_EVDW (1 << 6)
#define OBFF_EELECTROSTATIC (1 << 7)
#define OBFF_CONST_IGNORE (1 << 0)
#define OBFF_CONST_ATOM (1 << 1)
#define OBFF_CONST_ATOM_X (1 << 2)
#define OBFF_CONST_ATOM_Y (1 << 3)
#define OBFF_CONST_ATOM_Z (1 << 4)
#define OBFF_CONST_DISTANCE (1 << 5)
#define OBFF_CONST_ANGLE (1 << 6)
#define OBFF_CONST_TORSION (1 << 7)
#define OBFF_CONST_CHIRAL (1 << 8)
#define OBFF_NUMERICAL_GRADIENT (1 << 0)
#define OBFF_ANALYTICAL_GRADIENT (1 << 1)
#define KCAL_TO_KJ 4.1868
#define IF_OBFF_LOGLVL_LOW if(_loglvl >= OBFF_LOGLVL_LOW)
#define IF_OBFF_LOGLVL_MEDIUM if(_loglvl >= OBFF_LOGLVL_MEDIUM)
#define IF_OBFF_LOGLVL_HIGH if(_loglvl >= OBFF_LOGLVL_HIGH)
Detailed Description
Handle forcefields.
Define Documentation
#define OBFF_LOGLVL_NONE 0
no output
Referenced by OBForceField::RandomRotorSearchInitialize(),
OBForceField::RandomRotorSearchNextConformer(),
OBForceField::SystematicRotorSearchNextConformer(), and OBForceField::WeightedRotorSearch().
Classes 1152
Open Babel: API Documentation
#define OBFF_LOGLVL_LOW 1
SteepestDescent progress... (no output from Energy()).
#define OBFF_LOGLVL_MEDIUM 2
individual energy terms
#define OBFF_LOGLVL_HIGH 3
individual calculations and parameters
vdw term
Referenced by OBForceField::ConjugateGradientsInitialize(),
OBForceField::ConjugateGradientsTakeNSteps(), OBForceField::DistanceGeometry(),
OBForceField::PrintFormalCharges(), OBForceField::PrintPartialCharges(), OBForceField::PrintTypes(),
OBForceField::PrintVelocities(), OBForceField::RandomRotorSearchInitialize(),
OBForceField::RandomRotorSearchNextConformer(), OBForceField::SteepestDescentInitialize(),
OBForceField::SteepestDescentTakeNSteps(), OBForceField::SystematicRotorSearchInitialize(),
OBForceField::SystematicRotorSearchNextConformer(), OBForceField::ValidateConjugateGradients(),
OBForceField::ValidateSteepestDescent(), and OBForceField::WeightedRotorSearch().
Referenced by OBForceField::WeightedRotorSearch().
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
#include <openbabel/babelconfig.h>
#include <openbabel/format.h>
#include <typeinfo>
Namespaces
namespace OpenBabel
Detailed Description
Base class OBFormat for file formats.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
00001 /**********************************************************************
00002 obconversion.cpp - Declarations for OBFormat
00003
00004 Copyright (C) 2004-2007 by Chris Morley
00005 Some portions Copyright (C) 2005-2007 by Geoffrey Hutchison
00006
00007 This file is part of the Open Babel project.
00008 For more information, see <http://openbabel.sourceforge.net/>
00009
00010 This program is free software; you can redistribute it and/or modify
00011 it under the terms of the GNU General Public License as published by
00012 the Free Software Foundation version 2 of the License.
00013
00014 This program is distributed in the hope that it will be useful,
00015 but WITHOUT ANY WARRANTY; without even the implied warranty of
00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00017 GNU General Public License for more details.
00018 ***********************************************************************/
00019 #ifndef OB_FORMAT_H
00020 #define OB_FORMAT_H
00021 #include <openbabel/babelconfig.h>
00022 #include <openbabel/plugin.h>
00023
00024 namespace OpenBabel
00025 {
00026 class OBBase;
00027 class OBConversion;
00028
00030 #define NOTREADABLE 0x01
00031 #define READONEONLY 0x02
00032 #define READBINARY 0x04
00033 #define ZEROATOMSOK 0x08
00034 #define NOTWRITABLE 0x10
00035 #define WRITEONEONLY 0x20
00036 #define WRITEBINARY 0x40
00037 #define READXML 0x80
00038 #define DEFAULTFORMAT 0x4000
00039
00041 // class introduction in obconversion.cpp
00042 class OBCONV OBFormat : public OBPlugin
00043 {
00044 //Macro to include functions to handle plugin operations
00045 MAKE_PLUGIN(OBFormat);
00046
00047 public:
00048
00050 OBFormat(){}
00051
00052 const char* TypeID(){ return "formats"; }
00053
00055
00059 virtual bool ReadMolecule(OBBase* /*pOb*/, OBConversion* /*pConv*/)
00060 { std::cerr << "Not a valid input format"; return false;}
00061
00063
format.h 1158
Open Babel: API Documentation
00067 virtual bool ReadChemObject(OBConversion* /*pConv*/)
00068 { std::cerr << "Not a valid input format"; return false;}
00069
00071
00076 virtual bool WriteMolecule(OBBase* /*pOb*/, OBConversion* /*pConv*/)
00077 { std::cerr << "Not a valid output format"; return false;}
00078
00080
00084 virtual bool WriteChemObject(OBConversion* /*pConv*/)
00085 { std::cerr << "Not a valid output format"; return false;}
00086
00088
00092 virtual const char* Description()=0;
00093
00095
00097 virtual const char* TargetClassDescription();
00098
00100
00103 virtual const std::type_info& GetType();
00104
00106 virtual const char* SpecificationURL() { return ""; }
00107
00109 const char* GetMIMEType() { return pMime; }
00110
00112
00116 virtual unsigned int Flags() { return 0;};
00117
00119
00121 virtual int SkipObjects(int /*n*/, OBConversion* /*pConv*/)
00122 {
00123 return 0; //shows not implemented in the format class
00124 };
00125
00127
00131 virtual OBFormat* MakeNewInstance()
00132 {
00133 return NULL; //shows not implemented in the format class
00134 }
00135
00136 //New functions since OBFormat is derived from OBPlugin
00137 //\brief Called from, and an alternative to, OBConversion::RegisterFormat();
00138 int RegisterFormat(const char* ID, const char* MIME = NULL);
00139
00144 virtual bool Display(std::string& txt, const char* param, const char* ID=NULL);
00145
00146 static OBFormat* FormatFromMIME(const char* MIME);
00147
00148 private:
00149 static PluginMapType &FormatsMIMEMap()
00150 {
00151 static PluginMapType m;
00152 return m;
00153 }
00154
00155 const char* pMime;
00156
00157 /* Functions provided by the MAKE_PLUGIN macro
00158
00160 Not currently used for formats
00161 OBFormat(const char* ID, bool IsDefault=false);
00162
format.h 1159
Open Babel: API Documentation
00164 static OBFormat* FindType(const char* ID);
00165
00166 */};
00167
00168 }//namespace
00169 #endif
00170
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
format.h 1160
format.h File Reference
Declarations for OBFormat. More...
#include <openbabel/babelconfig.h>
#include <openbabel/plugin.h>
This graph shows which files directly or indirectly include this file:
Namespaces
namespace OpenBabel
Classes
class OBFormat
Base class for file formats. More...
Defines
#define NOTREADABLE 0x01
#define READONEONLY 0x02
#define READBINARY 0x04
#define ZEROATOMSOK 0x08
#define NOTWRITABLE 0x10
#define WRITEONEONLY 0x20
#define WRITEBINARY 0x40
#define READXML 0x80
#define DEFAULTFORMAT 0x4000
Detailed Description
Declarations for OBFormat.
Define Documentation
Referenced by OBConversion::Convert().
Referenced by OBMoleculeFormat::ReadChemObjectImpl().
Referenced by OBConversion::AddChemObject().
Referenced by OBConversion::InstallStreamFilter().
Referenced by OBFormat::RegisterFormat().
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•j
Here is a list of all class members with links to the classes they belong to:
-_-
-_- 1164
Open Babel: API Documentation
• _dimension : OBMol
• _dir : OBGlobalDataBase
• _dpar : OBFFParameter
• _dst : OBInternalCoord
• _e_n1 : OBForceField
• _econv : OBForceField
• _ele : OBAtom
• _elepairs : OBForceField
• _embedlevel : XMLBaseFormat
• _end : OBBond , OBVirtualBond
• _energies : OBForceField
• _energy : OBMol
• _envvar : OBGlobalDataBase
• _errorMsg : OBError
• _expandedatoms : AliasData
• _explanation : OBError
• _fcharge : OBAtom
• _filename : OBGlobalDataBase
• _filterStreamBuf : OBMessageHandler
• _fixAtom : OBForceField
• _flags : OBAtom , OBBond , OBMol
• _gamma : OBUnitCell
• _grad1 : OBForceField
• _gradientPtr : OBForceField
• _gridtype : OBProxGrid
• _growbond : OBSmartsPattern
• _halfSpace : OBFloatGrid
• _hetatm : OBResidue
• _hyb : OBAtom
• _id : OBPlugin
• _idx : OBAtom , OBBond , OBResidue
• _ignoreAtom : OBForceField
• _impval : OBAtom
• _inc : OBProxGrid
• _init : OBGlobalDataBase , OBForceField
• _interGroup : OBForceField
• _interGroups : OBForceField
• _internals : OBMol
• _intraGroup : OBForceField
• _inv_spa : OBFloatGrid
• _inWrapStreamBuf : OBMessageHandler
• _ipar : OBFFParameter
• _isotope : OBAtom
• _ival : OBFloatGrid
• _lattice : OBUnitCell
• _level : OBError
• _linesearch : OBForceField
• _logbuf : OBForceField
• _logging : OBMessageHandler
• _loglvl : OBForceField
• _logos : OBForceField
-_- 1165
Open Babel: API Documentation
• _map : OBAtomClassData , OBSSMatch
• _matrix : OBMatrixData
• _maxEntries : OBMessageHandler
• _maxinc : OBProxGrid
• _messageCount : OBMessageHandler
• _messageList : OBMessageHandler
• _method : OBError
• _midx : OBFloatGrid
• _midy : OBFloatGrid
• _midz : OBFloatGrid
• _mlist : OBSmartsPattern
• _mod : OBMol
• _mol : OBForceField , OBSSMatch
• _natoms : OBMol
• _nbonds : OBMol
• _ncoords : OBForceField
• _nsteps : OBForceField
• _nxinc : OBProxGrid
• _nyinc : OBProxGrid
• _nzinc : OBProxGrid
• _offset : OBUnitCell
• _ord : OBVirtualBond
• _order : OBBond
• _origLogLevel : OBForceField
• _outputLevel : OBMessageHandler
• _outputStream : OBMessageHandler
• _pairfreq : OBForceField
• _parent : OBAtom , OBBond
• _parFile : OBForceField
• _pat : OBSmartsPattern , OBSSMatch
• _path : OBRing
• _pathset : OBRing
• _pcharge : OBAtom
• _pmol : XMLMoleculeFormat
• _pointGroup : OBSymmetryData
• _possibleCause : OBError
• _prefix : XMLBaseFormat
• _pxmlConv : XMLBaseFormat
• _radians : OBAngle
• _rele : OBForceField
• _residue : OBAtom , OBMol
• _reskey : OBResidue
• _resname : OBResidue
• _resnum : OBResidue
• _rvdw : OBForceField
• _serialMap : OBSerialNums
• _sernum : OBResidue
• _SkipNextRead : XMLConversion
• _source : OBGenericData
• _spaceGroup : OBUnitCell , OBSymmetryData
• _spaceGroupName : OBUnitCell
-_- 1166
Open Babel: API Documentation
• _spacing : OBFloatGrid
• _spinmultiplicity : OBAtom
• _stereo : OBVirtualBond
• _str : OBSmartsPattern
• _subdir : OBGlobalDataBase
• _suggestedRemedy : OBError
• _temp : OBForceField
• _termini : OBAngle
• _timestep : OBForceField
• _title : OBMol
• _tor : OBInternalCoord
• _torsions : OBTorsionData
• _totalCharge : OBMol
• _totalSpin : OBMol
• _type : OBGenericData , OBAtom
• _uatoms : OBSSMatch
• _v : OBAtom
• _v1 : OBUnitCell
• _v2 : OBUnitCell
• _v3 : OBUnitCell
• _validSetup : OBForceField
• _value : OBPairData , OBPairTemplate
• _values : OBFloatGrid
• _vatom : OBMol
• _vbond : OBAtom , OBMol
• _vconf : OBMol
• _vdata : OBSetData
• _vData : OBConformerData
• _vdata : OBBase
• _vDimension : OBConformerData
• _vDisplace : OBConformerData
• _vdwpairs : OBForceField
• _vec : OBVectorData
• _velocityPtr : OBForceField
• _vEnergies : OBConformerData
• _vertex : OBAngle
• _vexbnd : OBExternalBondData
• _vForces : OBConformerData
• _vFrequencies : OBVibrationData
• _vIntensities : OBVibrationData
• _vLx : OBVibrationData
• _vr : OBRingData
• _vVelocity : OBConformerData
• _xAxis : OBFloatGrid
• _xdim : OBFloatGrid
• _xmax : OBGrid
• _xmin : OBGrid
• _yAxis : OBFloatGrid
• _ydim : OBFloatGrid
• _ymax : OBGrid
• _ymin : OBGrid
-_- 1167
Open Babel: API Documentation
• _zAxis : OBFloatGrid
• _zdim : OBFloatGrid
• _zmax : OBGrid
• _zmin : OBGrid
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•j
-_- 1168
Open Babel: API Documentation
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
•~
Here is a list of all class members with links to the classes they belong to:
-j-
• jacobi() : matrix3x3
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
-j- 1169
Open Babel: API Documentation
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•j
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
•~
Here is a list of all class members with links to the classes they belong to:
-k-
• KBOSum() : OBAtom
• Kekulize() : OBMol
-k- 1170
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•j
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
-k- 1171
Open Babel: API Documentation
•x
•y
•z
•~
Here is a list of all class members with links to the classes they belong to:
-l-
• Lap() : OBStopwatch
• LatticeType : OBUnitCell
• leaf : _BondExpr , _AtomExpr
• length() : vector3
• length_2() : vector3
• LErdbuf : OBConversion
• lft : _AtomExpr , _BondExpr
• LINDERMANN : OBRateData
• LINEAR : OBRotationData
• LineSearch() : OBForceField
• LineSearchTakeStep() : OBForceField
• LipoGrid() : OBProxGrid
• List() : OBPlugin
• ListAsString() : OBPlugin
• ListAsVector() : OBPlugin
• lo : DoubleType
• LoadFormatFiles() : OBConversion
• LoadFragments() : OBBuilder
• LookForNamespace() : XMLConversion
• LookupBO() : OBResidueData
• LookupType() : OBResidueData
• LoRates : OBRateData
• LoT : OBNasaThermoData
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
-l- 1172
Open Babel: API Documentation
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•j
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
•~
Here is a list of all class members with links to the classes they belong to:
-l- 1173
Open Babel: API Documentation
-m-
• m_IsFirstInput : OBConversion
• m_IsLast : OBConversion
• MakeCombinedMolecule() : OBMoleculeFormat
• MakeInstance() : OBGroupContrib , OpTransform , OBPlugin
• MakeNewInstance() : OBFormat , OBForceField
• Match() : OBSmartsPattern , OBSSMatch
• MatchesSMARTS() : OBAtom
• MatchPairData() : OBDescriptor
• matrix3x3() : matrix3x3
• MemberOfRingCount() : OBAtom
• MemberOfRingSize() : OBAtom
• message() : OBError
• MidT : OBNasaThermoData
• MolecularDynamicsTakeNSteps() : OBForceField
• mon : _BondExpr , _AtomExpr
• Monoclinic : OBUnitCell
• MoreFilesToCome : OBConversion
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
-m- 1174
Open Babel: API Documentation
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•j
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
•~
Here is a list of all class members with links to the classes they belong to:
-n-
• n : OBRateData
• NameIndexType : OBMoleculeFormat
• Namespaces() : XMLConversion
• NamespaceURI() : XMLBaseFormat
• NeedToFreeInStream : OBConversion
• NeedToFreeOutStream : OBConversion
• Negate() : OBBitVec
• nEntries : FptIndexHeader
• NewAtom() : OBMol
• NewBond() : OBMol
• NewPerceiveKekuleBonds() : OBMol
• NewResidue() : OBAtom , OBMol
• Newton2Num : LineSearchType
-n- 1175
Open Babel: API Documentation
• Newton2NumLineSearch() : OBForceField
• next() : OBMolAtomDFSIter
• Next() : OBRotorKeys
• NextAtom() : OBMol , OBResidue
• NextBit() : OBBitVec
• NextBond() : OBAtom , OBMol
• NextConformer() : OBMol
• NextFloat() : OBRandom
• NextInt() : OBRandom
• NextInternalCoord() : OBMol
• NextNbrAtom() : OBAtom
• NextResidue() : OBMol
• NextRing() : OBRingData
• NextRotor() : OBRotorList
• NextTransform() : SpaceGroup
• normalize() : vector3
• Normalize() : transform3d
• nsdecl : XMLBaseFormat
• NsMapType : XMLConversion
• NumAtoms() : OBMol , OBSmartsPattern , OBRotamerList
• NumBaseCoordinateSets() : OBRotamerList
• NumBonds() : OBMol , OBSmartsPattern
• NumConformers() : OBMol
• NumericalDerivative() : OBForceField
• NumericalSecondDerivative() : OBForceField
• NumHvyAtoms() : OBMol
• NumKeys() : OBRotorKeys
• NumMatches() : OBSmartsPattern
• NumProducts() : OBReaction
• NumReactants() : OBReaction
• NumResidues() : OBMol
• NumRotamers() : OBRotamerList
• NumRotors() : OBRotamerList , OBMol
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
-n- 1176
Open Babel: API Documentation
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•j
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
•~
Here is a list of all class members with links to the classes they belong to:
-n- 1177
Open Babel: API Documentation
-o-
• OBAngle() : OBAngle
• OBAngleData : OBAngle , OBAngleData
• OBAromaticTyper() : OBAromaticTyper
• OBAtom : OBChiralData , OBAtom
• OBAtomAtomIter() : OBAtomAtomIter
• OBAtomBondIter() : OBAtomBondIter
• OBAtomClassData() : OBAtomClassData
• OBAtomTyper() : OBAtomTyper
• OBBitVec() : OBBitVec
• OBBond() : OBBond
• OBBondTyper() : OBBondTyper
• OBChainsParser() : OBChainsParser
• OBChemTsfm() : OBChemTsfm
• OBChiralData() : OBChiralData
• OBCommentData() : OBCommentData
• OBConformerData() : OBConformerData
• OBConversion() : OBConversion
• OBElement() : OBElement
• OBElementTable() : OBElementTable
• OBError() : OBError
• OBExternalBond() : OBExternalBond
• OBExternalBondData() : OBExternalBondData
• OBFFConstraint() : OBFFConstraint
• OBFFConstraints() : OBFFConstraints
• OBFFLog() : OBForceField
• OBFloatGrid() : OBFloatGrid
• OBFormat() : OBFormat
• OBGastChrg() : OBGastChrg
• OBGenericData() : OBGenericData
• OBGlobalDataBase() : OBGlobalDataBase
• OBGrid() : OBGrid
• OBGridData() : OBGridData
• OBGroupContrib() : OBGroupContrib
• OBInternalCoord() : OBInternalCoord
• OBIsotopeTable() : OBIsotopeTable
• OBLocale() : OBLocale
• OBMatrixData() : OBMatrixData
• OBMessageHandler() : OBMessageHandler
• OBMol : OBChiralData , OBMol , OBTorsion , OBTorsionData , OBAngle , OBAngleData
• OBMolAngleIter() : OBMolAngleIter
• OBMolAtomBFSIter() : OBMolAtomBFSIter
• OBMolAtomDFSIter() : OBMolAtomDFSIter
• OBMolAtomIter() : OBMolAtomIter
• OBMolBondIter() : OBMolBondIter
• OBMoleculeFormat() : OBMoleculeFormat
• OBMolPairIter() : OBMolPairIter
• OBMolRingIter() : OBMolRingIter
• OBMolTorsionIter() : OBMolTorsionIter
• OBNasaThermoData() : OBNasaThermoData
-o- 1178
Open Babel: API Documentation
• OBPairData() : OBPairData
• OBPairTemplate() : OBPairTemplate
• OBPhModel() : OBPhModel
• OBPointGroup() : OBPointGroup
• OBProxGrid() : OBProxGrid
• OBRandom() : OBRandom
• OBRateData() : OBRateData
• OBReaction() : OBReaction
• OBResidue() : OBResidue
• OBResidueAtomIter() : OBResidueAtomIter
• OBResidueData() : OBResidueData
• OBResidueIter() : OBResidueIter
• OBRing() : OBRing
• OBRingData() : OBRingData
• OBRingSearch() : OBRingSearch
• OBRingTyper() : OBRingTyper
• OBRotamerList() : OBRotamerList
• OBRotationData() : OBRotationData
• OBRotor() : OBRotor
• OBRotorKeys() : OBRotorKeys
• OBRotorList() : OBRotorList
• OBRotorRule() : OBRotorRule
• OBRotorRules() : OBRotorRules
• OBRTree() : OBRTree
• OBScoreGrid() : OBScoreGrid
• OBSerialNums() : OBSerialNums
• OBSetData() : OBSetData
• OBSmartsPattern() : OBSmartsPattern
• OBSqrtTbl() : OBSqrtTbl
• OBSSMatch() : OBSSMatch
• OBSymmetryData() : OBSymmetryData
• OBTorsion() : OBTorsion
• OBTorsionData : OBTorsion , OBTorsionData
• OBTypeTable() : OBTypeTable
• OBUnitCell() : OBUnitCell
• OBVectorData() : OBVectorData
• OBVibrationData() : OBVibrationData
• OBVirtualBond() : OBVirtualBond
• OneObjectOnly : OBConversion
• OPAMapType : OBConversion
• OpenAndSetFormat() : OBConversion
• OpenInAndOutFiles() : OBConversion
• openLib() : DLHandler
• operator & : OBBitVec
• operator &=() : OBBitVec
• operator bool() : OBMolAngleIter , OBAtomAtomIter , OBMolAtomIter , OBMolAtomDFSIter ,
OBMolAtomBFSIter , OBMolBondIter , OBAtomBondIter , OBResidueIter , OBResidueAtomIter ,
OBMolTorsionIter , OBMolPairIter , OBMolRingIter
• operator!=() : SpaceGroup , vector3
• operator()() : LineEndingExtractor , CharPtrLess , matrix3x3
-o- 1179
Open Babel: API Documentation
• operator*() : OBMolAtomIter , OBMolAtomDFSIter , OBMolBondIter , OBAtomAtomIter ,
OBAtomBondIter , transform3d , OBResidueAtomIter , OBMolAngleIter , OBMolTorsionIter ,
OBMolPairIter , OBMolRingIter , matrix3x3 , transform3d , OBResidueIter , OBMolAtomBFSIter
• operator*=() : matrix3x3 , vector3
• operator++() : OBAtomBondIter , OBMolPairIter , OBMolBondIter , OBAtomBondIter ,
OBMolTorsionIter , OBResidueIter , OBAtomAtomIter , OBMolAtomDFSIter , OBAtomAtomIter ,
OBMolAtomIter , OBMolAtomBFSIter , OBMolBondIter , OBMolAtomDFSIter , OBResidueIter ,
OBResidueAtomIter , OBMolAngleIter , OBMolRingIter , OBResidueAtomIter , OBMolRingIter
• operator+=() : vector3 , OBBitVec , OBMol , vector3
• operator- : OBBitVec
• operator-=() : vector3 , OBBitVec , vector3
• operator->() : OBMolRingIter , OBAtomAtomIter , OBAtomBondIter , OBResidueIter ,
OBMolAtomIter , OBMolAtomBFSIter , OBMolAtomDFSIter , OBMolBondIter ,
OBResidueAtomIter
• operator/=() : matrix3x3 , vector3
• operator< : OBBitVec
• operator<< : OBBitVec , OBError , OBFloatGrid , matrix3x3
• operator=() : OBAtom , OBMolAtomBFSIter , OBSmartsPattern , OBFFParameter ,
OBAtomBondIter , OBConformerData , OBResidueAtomIter , OBResidue , OBRing ,
OBVibrationData , OBRingData , OBMolBondIter , OBMolTorsionIter , OBMolAtomDFSIter ,
OBSymmetryData , OBMol , OBMolAngleIter , OBResidueIter , OBMolPairIter , OBFFConstraints ,
vector3 , OBAtomAtomIter , OBChiralData , OBTorsionData , OBAngle , OBUnitCell ,
OBMolAtomIter , OBBitVec , OBMolRingIter , OBCommentData , OBAngleData , OBTorsion
• operator== : OBBitVec , vector3 , OBError , OBAngle , SpaceGroup
• operator>> : OBFloatGrid , OBBitVec
• operator[]() : vector3 , OBBitVec
• operator^ : OBBitVec
• operator^=() : OBBitVec
• operator| : OBBitVec
• operator|=() : OBBitVec
• OpMap : OBOp
• OpOptions() : OBOp
• Option_type : OBConversion
• OptionParamArray() : OBConversion
• OptionsArray : OBConversion
• OpTransform() : OpTransform
• Orthorhombic : OBUnitCell
• OTHER : OBGridData
• OUTOPTIONS : OBConversion
• OutputDeferredMols() : OBMoleculeFormat
• OutputToStream() : XMLConversion , XMLBaseFormat
• overflow() : FilteringInputStreambuf
-o- 1180
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•j
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
-o- 1181
Open Babel: API Documentation
•x
•y
•z
•~
Here is a list of all class members with links to the classes they belong to:
-z-
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•_
•a
•b
•c
-z- 1182
Open Babel: API Documentation
•d
•e
•f
•g
•h
•i
•j
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
•~
Here is a list of all class members with links to the classes they belong to:
-~-
• ~FastSearch() : FastSearch
• ~FastSearchIndexer() : FastSearchIndexer
• ~FilteringInputStreambuf() : FilteringInputStreambuf
• ~GasteigerState() : GasteigerState
• ~matrix3x3() : matrix3x3
• ~OBAngle() : OBAngle
• ~OBAromaticTyper() : OBAromaticTyper
• ~OBAtom() : OBAtom
• ~OBAtomAtomIter() : OBAtomAtomIter
• ~OBAtomBondIter() : OBAtomBondIter
• ~OBAtomTyper() : OBAtomTyper
• ~OBBase() : OBBase
• ~OBBond() : OBBond
• ~OBBondTyper() : OBBondTyper
• ~OBChainsParser() : OBChainsParser
• ~OBChemTsfm() : OBChemTsfm
• ~OBChiralData() : OBChiralData
• ~OBConformerData() : OBConformerData
• ~OBConversion() : OBConversion
• ~OBElementTable() : OBElementTable
• ~OBExternalBond() : OBExternalBond
• ~OBFFCalculation2() : OBFFCalculation2
-~- 1183
Open Babel: API Documentation
• ~OBFFCalculation3() : OBFFCalculation3
• ~OBFFCalculation4() : OBFFCalculation4
• ~OBFFConstraint() : OBFFConstraint
• ~OBFFConstraints() : OBFFConstraints
• ~OBFingerprint() : OBFingerprint
• ~OBFloatGrid() : OBFloatGrid
• ~OBForceField() : OBForceField
• ~OBGastChrg() : OBGastChrg
• ~OBGenericData() : OBGenericData
• ~OBGlobalDataBase() : OBGlobalDataBase
• ~OBGridData() : OBGridData
• ~OBIsotopeTable() : OBIsotopeTable
• ~OBLocale() : OBLocale
• ~obLogBuf() : obLogBuf
• ~OBMatrixData() : OBMatrixData
• ~OBMessageHandler() : OBMessageHandler
• ~OBMol() : OBMol
• ~OBMolAngleIter() : OBMolAngleIter
• ~OBMolAtomBFSIter() : OBMolAtomBFSIter
• ~OBMolAtomDFSIter() : OBMolAtomDFSIter
• ~OBMolAtomIter() : OBMolAtomIter
• ~OBMolBondIter() : OBMolBondIter
• ~OBMolPairIter() : OBMolPairIter
• ~OBMolRingIter() : OBMolRingIter
• ~OBMolTorsionIter() : OBMolTorsionIter
• ~OBPhModel() : OBPhModel
• ~OBPlugin() : OBPlugin
• ~OBPointGroup() : OBPointGroup
• ~OBProxGrid() : OBProxGrid
• ~OBResidue() : OBResidue
• ~OBResidueAtomIter() : OBResidueAtomIter
• ~OBResidueIter() : OBResidueIter
• ~OBRingData() : OBRingData
• ~OBRingSearch() : OBRingSearch
• ~OBRingTyper() : OBRingTyper
• ~OBRotamerList() : OBRotamerList
• ~OBRotationData() : OBRotationData
• ~OBRotor() : OBRotor
• ~OBRotorList() : OBRotorList
• ~OBRotorRule() : OBRotorRule
• ~OBRotorRules() : OBRotorRules
• ~OBRTree() : OBRTree
• ~OBScoreGrid() : OBScoreGrid
• ~OBSmartsPattern() : OBSmartsPattern
• ~OBSqrtTbl() : OBSqrtTbl
• ~OBSSMatch() : OBSSMatch
• ~OBSymmetryData() : OBSymmetryData
• ~OBTorsion() : OBTorsion
• ~OBTypeTable() : OBTypeTable
• ~OBUnitCell() : OBUnitCell
• ~OBVectorData() : OBVectorData
-~- 1184
Open Babel: API Documentation
• ~OBVibrationData() : OBVibrationData
• ~OpTransform() : OpTransform
• ~patty() : patty
• ~SpaceGroup() : SpaceGroup
• ~vector3() : vector3
• ~XMLBaseFormat() : XMLBaseFormat
• ~XMLConversion() : XMLConversion
• ~XMLMoleculeFormat() : XMLMoleculeFormat
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•_
•a
•b
•c
•d
•e
•f
-~- 1185
Open Babel: API Documentation
•g
•h
•i
•j
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
•~
Here is a list of all class members with links to the classes they belong to:
-a-
• A : OBRateData
• a : OBFFParameter , OBFFConstraint , GasteigerState , OBFFCalculation2
• aalloc : Pattern
• acount : Pattern
• Add() : OBAtomClassData , FastSearchIndexer
• AddAgent() : OBReaction
• AddAngleConstraint() : OBFFConstraints
• AddAtom() : OBMol , OBResidue
• AddAtomConstraint() : OBFFConstraints
• AddAtomRef() : OBChiralData
• AddAtomXConstraint() : OBFFConstraints
• AddAtomYConstraint() : OBFFConstraints
• AddAtomZConstraint() : OBFFConstraints
• AddBond() : OBAtom , OBMol
• AddChemObject() : OBConversion
• AddConformer() : OBMol
• AddData() : OBSetData
• AddDistanceConstraint() : OBFFConstraints
• AddGradient() : OBForceField
• AddHydrogens() : OBMol
• AddIgnore() : OBFFConstraints
• AddInterGroup() : OBForceField
• AddInterGroups() : OBForceField
• AddIntraGroup() : OBForceField
• AddNbrs() : OBBuilder
-a- 1186
Open Babel: API Documentation
• AddOption() : OBConversion
• AddPolarHydrogens() : OBMol
• AddProduct() : OBReaction
• AddProperties() : OBDescriptor
• AddReactant() : OBReaction
• AddResidue() : OBAtom , OBMol
• AddRingFromClosure() : OBRingSearch
• AddRotamer() : OBRotamerList
• AddRotamers() : OBRotamerList
• AddRotor() : OBRotorKeys
• AddTorsion() : OBTorsion
• AddTorsionConstraint() : OBFFConstraints
• AddTransform() : SpaceGroup
• AliasData() : AliasData
• Align() : OBMol
• ALL : OBConversion
• ANGSTROM : OBGridData
• Apply() : OBChemTsfm
• arg : _BondExpr , _AtomExpr
• ARRHENIUS : OBRateData
• AsArray() : vector3
• assign_rules() : patty
• assign_types() : patty
• AssignAromaticFlags() : OBAromaticTyper
• AssignBonds() : OBResidueData
• AssignFunctionalGroupBonds() : OBBondTyper
• AssignHyb() : OBAtomTyper
• AssignImplicitValence() : OBAtomTyper
• AssignPartialCharges() : OBGastChrg
• AssignSeedPartialCharge() : OBPhModel
• AssignSpinMultiplicity() : OBMol
• AssignTorVals() : OBRotorList
• AssignTypes() : OBAtomTyper , OBRingTyper
• ASYMMETRIC : OBRotationData
• atom : Pattern
• AutomaticFormalCharge() : OBMol
• AutomaticPartialCharge() : OBMol
• AverageBondAngle() : OBAtom
This file is part of the documentation for Open Babel, version 2.2.0.
-a- 1187
Open Babel: API Documentation
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•j
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
-a- 1188
Open Babel: API Documentation
•~
Here is a list of all class members with links to the classes they belong to:
-b-
This file is part of the documentation for Open Babel, version 2.2.0.
-b- 1189
Open Babel: API Documentation
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•j
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•x
•y
-b- 1190
Open Babel: API Documentation
•z
•~
Here is a list of all class members with links to the classes they belong to:
-c-
-c- 1191
Open Babel: API Documentation
• ConvertDativeBonds() : OBMol
• CoordsToIndex() : OBFloatGrid
• CopyConformer() : OBMol
• CopyOptions() : OBConversion
• CorrectAromaticNitrogens() : OBAtomTyper
• CorrectedBondRad() : OBElementTable
• CorrectedVdwRad() : OBElementTable
• CorrectForPH() : OBPhModel , OBMol
• CorrectStereoAtoms() : OBBuilder
• CorrectStereoBonds() : OBBuilder
• CorrectVelocities() : OBForceField
• Count : OBConversion
• CountBits() : OBBitVec
• CountBondsOfOrder() : OBAtom
• CountFreeOxygens() : OBAtom
• CountRingBonds() : OBAtom
• CreateAtom() : OBMol
• CreateBond() : OBMol
• CreateConformerList() : OBRotamerList
• createOrthoVector() : vector3
• CreateResidue() : OBMol
• Cubic : OBUnitCell
• CurrentDepth() : OBMolAtomBFSIter
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
-c- 1192
Open Babel: API Documentation
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•j
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
•~
Here is a list of all class members with links to the classes they belong to:
-d-
-d- 1193
Open Babel: API Documentation
• DeleteConformer() : OBMol
• DeleteConstraint() : OBFFConstraints
• DeleteData() : OBBase , OBSetData
• DeleteDeferredMols() : OBMoleculeFormat
• DeleteHydrogen() : OBMol
• DeleteHydrogens() : OBMol
• DeleteNonPolarHydrogens() : OBMol
• DeleteProperties() : OBDescriptor
• DeleteResidue() : OBAtom , OBMol
• denom : GasteigerState
• DescribeAsString() : transform3d
• DescribeAsValues() : transform3d
• DescribeBits() : OBFingerprint
• Description() : OBFormat , OBGroupContrib , OBConversion , OpTransform , OBPlugin
• DestroyAtom() : OBMol
• DestroyBond() : OBMol
• DestroyResidue() : OBMol
• DetectExplosion() : OBForceField
• determinant() : matrix3x3
• Display() : OBFormat , OBPlugin , OBDescriptor
• DistanceGeometry() : OBForceField
• distSq() : vector3
• Do() : OBOp , OpTransform
• DoElement() : XMLBaseFormat
• DoOps() : OBOp
• DoTransformations() : OBMol , OBBase
• dst : BondSpec
• Duplicate() : OBAtom
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
-d- 1194
Open Babel: API Documentation
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•j
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
•~
Here is a list of all class members with links to the classes they belong to:
-e-
• E : OBRateData
• E_Angle() : OBForceField
• E_Bond() : OBForceField
• E_Electrostatic() : OBForceField
• E_OOP() : OBForceField
-e- 1195
Open Babel: API Documentation
• E_StrBnd() : OBForceField
• E_Torsion() : OBForceField
• E_VDW() : OBForceField
• Efficiencies : OBRateData
• Elapsed() : OBStopwatch
• Empty() : OBBitVec , OBTorsion , OBMol , OBSmartsPattern
• EnableAllPairs() : OBForceField
• EnableCutOff() : OBForceField
• End() : OBPlugin
• EndAtoms() : OBMol , OBResidue
• EndBit() : OBBitVec
• EndBonds() : OBAtom , OBMol
• EndData() : OBBase
• EndElement() : XMLBaseFormat
• EndMList() : OBSmartsPattern
• EndModify() : OBMol
• EndNumber : OBConversion
• EndResidues() : OBMol
• EndRings() : OBRingData , OBRingSearch
• EndRotamer() : OBRotamerList
• EndRotors() : OBRotorList
• EndTag() : XMLBaseFormat
• EndTorIncrement() : OBRotor
• Energy() : OBForceField
• energy : OBFFCalculation2
• Eval() : OBScoreGrid
• ExcludeSmallRing() : OBAromaticTyper
• Expand() : AliasData
• expand_kekulize() : OBMol
• ExpandConformerList() : OBRotamerList
• expandcycle() : OBMol
• ExplicitHydrogenCount() : OBAtom
• expr : BondSpec , AtomSpec
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
-e- 1196
Open Babel: API Documentation
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•j
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
•~
Here is a list of all class members with links to the classes they belong to:
-e- 1197
Open Babel: API Documentation
-f-
• factor : OBFFConstraint
• FastSearchIndexer() : FastSearchIndexer
• FillAngleArray() : OBAngleData
• FillOrth() : matrix3x3
• FillTorsionArray() : OBTorsionData
• FillUnitCell() : OBUnitCell
• FilterCompare() : OBDescriptor
• FilteringInputStreambuf() : FilteringInputStreambuf
• finalize() : LineEndingExtractor
• Find() : FastSearch , SpaceGroup
• FindAngles() : OBMol
• findCenterAndNormal() : OBRing
• FindChildren() : OBMol
• FindChiralCenters() : OBMol
• findEigenvectorsIfSymmetric() : matrix3x3
• findFiles() : DLHandler
• FindFingerprint() : OBFingerprint
• FindForceField() : OBForceField
• FindFormat() : OBConversion
• FindLargestFragment() : OBMol
• FindMatch() : FastSearch
• FindRingAtomsAndBonds() : OBMol
• FindRotors() : OBRotorList
• FindSimilar() : FastSearch
• FindSSSR() : OBMol
• FindTorsions() : OBMol
• first : triple , quad
• first_type : triple , quad
• FirstBit() : OBBitVec
• FirstLine() : OBPlugin
• Flags() : OBFingerprint , OBFormat
• Fold() : OBBitVec , OBFingerprint
• force_a : OBFFCalculation2
• force_b : OBFFCalculation2
• force_c : OBFFCalculation3
• force_d : OBFFCalculation4
• ForceImplH() : OBAtom
• ForceNoH() : OBAtom
• FormatFilesLoaded : OBConversion
• FormatFromExt() : OBConversion
• FormatFromMIME() : OBConversion , OBFormat
• fourth : quad
• fourth_type : quad
• fpid : FptIndexHeader
• FPT_UNIQUEBITS : OBFingerprint
• fptdata : FptIndex
• FptFlag : OBFingerprint
• FromString() : OBBitVec
• FromVecInt() : OBBitVec
-f- 1198
Open Babel: API Documentation
• FullConvert() : OBConversion
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•j
•k
•l
•m
-f- 1199
Open Babel: API Documentation
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
•~
Here is a list of all class members with links to the classes they belong to:
-g-
• GasteigerState() : GasteigerState
• GenerateVelocities() : OBForceField
• GENOPTIONS : OBConversion
• Get() : matrix3x3 , vector3
• GetA() : OBUnitCell
• GetADs() : OBTorsion
• GetAgent() : OBReaction
• GetAlias() : AliasData
• GetAllData() : OBBase
• GetAllredRochowElectroNeg() : OBElement , OBElementTable
• GetAlpha() : OBUnitCell
• GetAminoAcidProperty() : OBResidue
• GetAngle() : OBAtom , OBTorsion , OBAngle , OBMol , OBAtom
• GetArray() : matrix3x3
• GetAtom() : OBExternalBond , OBMol
• GetAtom4Refs() : OBChiralData
• GetAtomicMass() : OBAtom
• GetAtomicNum() : OBAtom , OBElement , OBElementTable , OBSmartsPattern
• GetAtomID() : OBResidue
• GetAtomIdx() : OBRTree
• GetAtomProperty() : OBResidue
• GetAtomRef() : OBChiralData
• GetAtoms() : OBAngle , OBResidue
• GetAtomTypes() : OBForceField
• GetAttribute() : OBGenericData , XMLConversion
• GetAuditMessageCount() : OBMessageHandler
• GetAuxConv() : OBConversion
• GetAxes() : OBGridData
• GetB() : OBUnitCell
• GetBaseCoordinateSet() : OBRotamerList
• GetBC() : OBTorsion
• GetBegin() : OBSetData
-g- 1200
Open Babel: API Documentation
• GetBeginAtom() : OBBond
• GetBeginAtomIdx() : OBBond
• GetBeta() : OBUnitCell
• GetBgn() : OBVirtualBond
• GetBit() : OBFingerprint
• Getbitsperint() : OBFingerprint
• GetBlue() : OBElement
• GetBO() : OBBond
• GetBond() : OBAtom , OBExternalBond , OBMol , OBSmartsPattern , OBRotor
• GetBondIdx() : OBTorsion
• GetBondOrder() : OBBond
• GetBonds() : OBResidue
• GetC() : OBUnitCell
• GetCellMatrix() : OBUnitCell
• GetCellVectors() : OBUnitCell
• GetCellVolume() : OBUnitCell
• GetChain() : OBResidue
• GetChainNum() : OBResidue
• GetCharge() : OBSmartsPattern
• GetChemObject() : OBConversion
• GetCIdx() : OBAtom
• GetClass() : OBAtomClassData
• GetClassString() : OBAtomClassData
• GetCoeff() : OBNasaThermoData
• GetColumn() : matrix3x3
• GetComment() : OBReaction
• GetConformer() : OBMol
• GetConformers() : OBForceField , OBMol
• GetConstraintAtomA() : OBFFConstraints
• GetConstraintAtomB() : OBFFConstraints
• GetConstraintAtomC() : OBFFConstraints
• GetConstraintAtomD() : OBFFConstraints
• GetConstraintEnergy() : OBFFConstraints
• GetConstraints() : OBForceField
• GetConstraintType() : OBFFConstraints
• GetConstraintValue() : OBFFConstraints
• GetContent() : XMLConversion
• GetContentDouble() : XMLConversion
• GetContentInt() : XMLConversion
• getConvDirectory() : DLHandler
• GetCoordinate() : OBAtom
• GetCoordinateIdx() : OBAtom
• GetCoordinates() : OBForceField , OBMol
• GetCovalentRad() : OBElement , OBElementTable
• GetData() : OBBase , OBCommentData , OBExternalBondData , OBSetData , OBRingData ,
OBConformerData , OBTorsionData , OBAngleData , OBSerialNums , OBVectorData ,
OBMatrixData
• GetDataType() : OBGenericData
• GetDataVector() : OBFloatGrid
• GetDebugMessageCount() : OBMessageHandler
• GetDefaultFormat() : OBConversion
-g- 1201
Open Babel: API Documentation
• GetDefaultXMLClass() : XMLConversion
• GetDelta() : OBRotorRule , OBRotor
• GetDerived() : XMLConversion
• GetDihedralAtoms() : OBRotor
• GetDim() : OBFloatGrid
• GetDimension() : OBConformerData , OBMol
• GetDisplacements() : OBConformerData
• GetDistance() : OBAtom
• GetEfficiency() : OBRateData
• GetElectronAffinity() : OBElement , OBElementTable
• GetElectroNeg() : OBElement , OBElementTable
• GetElectrostaticCutOff() : OBForceField
• GetEnd() : OBSetData , OBVirtualBond
• GetEndAtom() : OBBond
• GetEndAtomIdx() : OBBond
• GetEnergies() : OBConformerData , OBMol
• GetEnergy() : OBMol
• GetEquibLength() : OBBond
• GetError() : OBError
• GetErrorMessageCount() : OBMessageHandler
• GetEvalAtoms() : OBRotor
• GetExactMass() : OBAtom , OBIsotopeTable , OBMol
• GetExpandedAtoms() : AliasData
• GetExplanation() : OBError
• GetFactor() : OBFFConstraints
• GetFingerprint() : OBFingerprint , FastSearch
• GetFirstAtom() : OBMol
• GetFixedAtoms() : OBRotor
• GetFlag() : OBAtom
• GetFlags() : OBBond , OBMol
• GetForces() : OBConformerData
• GetFormalCharge() : OBAtom
• getFormatFilePattern() : DLHandler
• GetFormula() : OBMol
• GetFractionalMatrix() : OBUnitCell
• GetFragment() : OBBuilder
• GetFrequencies() : OBVibrationData
• GetFromType() : OBTypeTable
• GetGamma() : OBUnitCell
• GetGenericValue() : OBPairTemplate
• GetGIDVector() : OBMol
• GetGIVector() : OBMol
• GetGradient() : OBFFConstraint , OBFFConstraints , OBForceField
• GetGradientPtr() : OBForceField
• GetGreen() : OBElement
• GetGrid() : OBForceField
• GetGTDVector() : OBMol
• GetHalfSpace() : OBFloatGrid
• GetHallName() : SpaceGroup
• GetHeteroValence() : OBAtom
• GetHiT() : OBNasaThermoData
-g- 1202
Open Babel: API Documentation
• GetHMName() : SpaceGroup
• GetHvyValence() : OBAtom
• GetHyb() : OBAtom
• GetId() : SpaceGroup
• GetID() : OBPlugin
• GetIdentifier() : OBDescriptor
• GetIdx() : OBAtom , OBBond , OBExternalBond , OBResidue , OBRotor
• GetIgnoredBitVec() : OBFFConstraints
• GetImplicitValence() : OBAtom
• GetIndexHeader() : FastSearch
• GetInFilename() : OBConversion
• GetInfoMessageCount() : OBMessageHandler
• GetInFormat() : OBConversion
• GetInLen() : OBConversion
• GetInPos() : OBConversion
• GetInStream() : OBConversion
• GetIntensities() : OBVibrationData
• GetInternalCoord() : OBMol
• GetIonization() : OBElement , OBElementTable
• GetIsotope() : OBAtom
• GetKey() : OBRotorKeys
• GetLatticeType() : OBUnitCell
• GetLength() : OBBond
• GetLevel() : OBError
• GetLineSearchType() : OBForceField
• GetLogLevel() : OBForceField
• GetLoRate() : OBRateData
• GetLoT() : OBNasaThermoData
• GetLx() : OBVibrationData
• GetMap() : OBPlugin
• GetMapList() : OBSmartsPattern
• GetMass() : OBElement , OBElementTable
• GetMax() : OBFloatGrid
• GetMaxBonds() : OBElementTable , OBElement
• GetMaxLogEntries() : OBMessageHandler
• GetMaxValue() : OBGridData
• GetMaxVector() : OBGridData
• GetMessagesOfLevel() : OBMessageHandler
• GetMessageSummary() : OBMessageHandler
• GetMethod() : OBError
• GetMidpointVector() : OBFloatGrid
• GetMidT() : OBNasaThermoData
• GetMIMEType() : OBFormat
• GetMin() : OBFloatGrid
• GetMinValue() : OBGridData
• GetMod() : OBMol
• GetMolWt() : OBMol
• GetName() : OBElementTable , OBElement , OBResidue
• GetNbrAtom() : OBBond
• GetNbrAtomIdx() : OBBond
• GetNewBondVector() : OBAtom , OBBuilder
-g- 1203
Open Babel: API Documentation
• GetNextAtom() : OBAtom
• GetNextEff() : OBRateData
• GetNextFormat() : OBConversion
• GetNextFragment() : OBMol
• GetNum() : OBResidue
• GetNumAtoms() : OBResidue
• GetNumberOfElements() : OBElementTable
• GetNumberOfFrequencies() : OBVibrationData
• GetNumberOfPoints() : OBGridData
• GetNumberOfSteps() : OBGridData
• GetNumPairs() : OBForceField
• GetNumString() : OBResidue
• GetNumSymmetries() : OBGridData
• GetOffset() : OBUnitCell
• GetOptionParams() : OBConversion
• GetOptions() : OBConversion
• getorden() : OBMol
• GetOrder() : OBVirtualBond
• GetOrigin() : OBGenericData
• GetOriginVector() : OBGridData
• GetOrthoMatrix() : OBUnitCell
• GetOutFormat() : OBConversion
• GetOutputIndex() : OBConversion , XMLConversion
• GetOutputLevel() : OBMessageHandler
• GetOutputStream() : OBMessageHandler
• GetOutStream() : OBConversion
• GetParameter() : OBForceField
• GetParameterIdx() : OBForceField
• GetParent() : OBAtom , OBRing , OBBond
• GetPartialCharge() : OBAtom
• GetPartialCharges() : OBForceField
• GetPhase() : OBNasaThermoData
• GetPlugin() : OBPlugin
• GetPointGroup() : OBSymmetryData
• GetPossibleCause() : OBError
• GetProduct() : OBReaction
• GetProxVector() : OBProxGrid
• GetRate() : OBRateData
• GetReactant() : OBReaction
• GetReader() : XMLConversion
• GetRed() : OBElement
• GetReferenceArray() : OBRotamerList
• GetReferenceAtoms() : OBRotorRule
• GetResidue() : OBMol , OBAtom
• GetResidueProperty() : OBResidue
• GetResKey() : OBResidue
• GetResolution() : OBRotor
• GetRGB() : OBElementTable
• GetRootAtom() : OBRing
• GetRotAtoms() : OBRotor
• GetRotConsts() : OBRotationData
-g- 1204
Open Babel: API Documentation
• GetRotorIncrements() : OBRotorRules
• GetRotorType() : OBRotationData
• GetRow() : matrix3x3
• GetScale() : OBFloatGrid
• getSeparator() : DLHandler
• GetSerialNum() : OBResidue
• GetSize() : OBTypeTable , OBResidueData , OBGlobalDataBase , OBBitVec , OBBondTyper ,
OBIsotopeTable , OBChiralData , OBTorsionData , OBRotorRules , OBRingTyper , OBPhModel ,
OBAromaticTyper , OBAtomTyper , OBTorsion , OBAngleData , OBElementTable
• GetSMARTS() : OBSmartsPattern
• GetSmartsPattern() : OBRotorRule
• GetSmartsString() : OBRotorRule
• GetSource() : FilteringInputStreambuf
• GetSpacedFormula() : OBMol
• GetSpaceGroup() : SpaceGroup , OBSymmetryData , SpaceGroup , OBUnitCell
• GetSpaceGroupName() : OBUnitCell
• GetSpaceGroupNumber() : OBUnitCell
• GetSpacing() : OBFloatGrid
• GetSpinMultiplicity() : OBAtom
• GetSSSR() : OBMol
• GetStereo() : OBVirtualBond
• GetStringValue() : OBDescriptor
• GetSuggestedRemedy() : OBError
• GetSupportedInputFormat() : OBConversion
• GetSupportedOutputFormat() : OBConversion
• GetSymbol() : OBElementTable , OBElement
• GetSymmetryNumber() : OBRotationData
• GetTitle() : OBConversion , OBMol , OBReaction
• GetTorsion() : OBMol
• GetTorsions() : OBTorsion
• GetTorsionVals() : OBRotorRule
• GetTotalCharge() : OBMol
• GetTotalSpinMultiplicity() : OBMol
• GetToType() : OBTypeTable
• GetTransitionState() : OBReaction
• GetTroeParam() : OBRateData
• GetType() : OBFormat , OBMoleculeFormat , OBRing , OBScoreGrid , XMLMoleculeFormat ,
OBAtom
• GetTypeMap() : OBPlugin
• GetUMapList() : OBSmartsPattern
• GetUnit() : OBForceField , OBGridData
• GetUnrestricted() : OBGridData
• GetUpdateFrequency() : OBForceField
• GetValence() : OBAtom
• GetVals() : OBFloatGrid
• GetValue() : OBGenericData , OBFloatGrid , OBGridData , OBCommentData , OBPairData
• GetValues() : OBDescriptor , OBGridData
• GetVDWCutOff() : OBForceField
• GetVdwRad() : OBElementTable , OBElement
• GetVector() : OBAtom
• GetVectorBinding() : OBSmartsPattern
-g- 1205
Open Babel: API Documentation
• GetVelocities() : OBConformerData
• GetWarningMessageCount() : OBMessageHandler
• GetWords() : OBBitVec
• GetWriter() : XMLConversion
• GetX() : OBAtom
• GetXAxis() : OBFloatGrid , OBGridData
• GetXdim() : OBFloatGrid
• GetXmax() : OBGrid
• GetXmin() : OBGrid
• GetY() : OBAtom
• GetYAxis() : OBGridData , OBFloatGrid
• GetYdim() : OBFloatGrid
• GetYmax() : OBGrid
• GetYmin() : OBGrid
• GetZ() : OBAtom
• GetZAxis() : OBGridData , OBFloatGrid
• GetZdim() : OBFloatGrid
• GetZmax() : OBGrid
• GetZmin() : OBGrid
• grada : OBFFConstraint
• gradb : OBFFConstraint
• gradc : OBFFConstraint
• gradd : OBFFConstraint
• gridtype : OBScoreGrid
• grow : BondSpec
• GSVResize() : OBGastChrg
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
-g- 1206
Open Babel: API Documentation
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•j
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
•~
Here is a list of all class members with links to the classes they belong to:
-h-
• Has2D() : OBMol
• Has3D() : OBMol
• HasAlphaBetaUnsat() : OBAtom
• HasAnalyticalGradients() : OBForceField
• HasAromaticBond() : OBAtom
• HasAromaticCorrected() : OBMol
• HasAromaticPerceived() : OBMol
-h- 1207
Open Babel: API Documentation
• HasAtomTypesPerceived() : OBMol
• HasBondOfOrder() : OBAtom
• HasChainsPerceived() : OBMol
• HasChiralityPerceived() : OBMol
• HasChiralitySpecified() : OBAtom
• HasChiralVolume() : OBAtom
• HasClass() : OBAtomClassData
• HasClosureBondsPerceived() : OBMol
• HasData() : OBBase
• HasDoubleBond() : OBAtom
• hasExplicitH : Pattern
• HasFixedAtoms() : OBRotorList
• HasFlag() : OBAtom , OBBond , OBMol
• HasGroups() : OBForceField
• HasHybridizationPerceived() : OBMol
• HasHydrogensAdded() : OBMol
• HasImplHForced() : OBAtom
• HasImplicitValencePerceived() : OBMol
• HasKekulePerceived() : OBMol
• HasNoHForced() : OBAtom
• HasNonSingleBond() : OBAtom
• HasNonZeroCoords() : OBMol
• HasPartialChargesPerceived() : OBMol
• HasResidue() : OBAtom
• HasRingAtomsAndBondsPerceived() : OBMol
• HasRingTypesPerceived() : OBMol
• HasSingleBond() : OBAtom
• HasSpinMultiplicityAssigned() : OBMol
• HasSSSRPerceived() : OBMol
• header : FptIndex
• headerlength : FptIndexHeader
• Hexagonal : OBUnitCell
• hi : DoubleType
• HiT : OBNasaThermoData
• HtoMethyl() : OBAtom
This file is part of the documentation for Open Babel, version 2.2.0.
-h- 1208
Open Babel: API Documentation
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•j
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
•~
Here is a list of all class members with links to the classes they belong to:
-h- 1209
Open Babel: API Documentation
-i-
• ia : OBFFConstraint
• ib : OBFFConstraint
• ic : OBFFConstraint
• id : OBFFConstraint
• IdentifyEvalAtoms() : OBRotorList
• IdentifyPointGroup() : OBPointGroup
• idx_a : OBFFCalculation2
• idx_b : OBFFCalculation2
• idx_c : OBFFCalculation3
• idx_d : OBFFCalculation4
• IgnoreCalculation() : OBForceField
• IgnoreSymmetryRemoval() : OBRotorList
• ImplicitHydrogenCount() : OBAtom
• IncrementedFileName() : OBConversion
• IncrementImplicitValence() : OBAtom
• IncrementMod() : OBMol
• ind : XMLBaseFormat
• Index : OBConversion
• IndexToCoords() : OBFloatGrid
• InFilename : OBConversion
• Init() : OBGlobalDataBase , OBGrid , OBFloatGrid , OBScoreGrid , OBSqrtTbl , OBSmartsPattern ,
OBChemTsfm , OBRotorList
• Inject() : OBFloatGrid
• INOPTIONS : OBConversion
• InsertAtom() : OBMol , OBResidue
• InsertBond() : OBAtom
• InstallStreamFilter() : OBConversion
• Interpolate() : OBFloatGrid
• InterpolateDerivatives() : OBFloatGrid
• inverse() : matrix3x3
• IsAcid() : OBChemTsfm
• IsAmide() : OBBond
• IsAmideNitrogen() : OBAtom
• IsAntiClockwise() : OBAtom
• IsApprox() : vector3
• IsAromatic() : OBAtom , OBBond , OBRing
• IsAromaticNOxide() : OBAtom
• IsAxial() : OBAtom
• IsBase() : OBChemTsfm
• IsCarbon() : OBAtom
• IsCarbonyl() : OBBond
• IsCarboxylOxygen() : OBAtom
• IsChiral() : OBAtom , OBMol
• ischiral : Pattern
• IsClockwise() : OBAtom
• IsClosure() : OBBond
• IsConnected() : OBAtom
• IsCorrectedForPH() : OBMol
• IsCutOffEnabled() : OBForceField
-i- 1210
Open Babel: API Documentation
• isDiagonal() : matrix3x3
• IsDouble() : OBBond
• IsDoubleBondGeometry() : OBBond
• IsDown() : OBBond
• IsEmpty() : OBBitVec
• IsEster() : OBBond
• IsExpanded() : AliasData
• IsFirstInput() : OBConversion
• IsFixed() : OBFFConstraints
• IsFixedBond() : OBRotorList
• IsHash() : OBBond
• IsHbondAcceptor() : OBAtom
• IsHbondDonor() : OBAtom
• IsHbondDonorH() : OBAtom
• IsHetAtom() : OBResidue
• IsHeteroatom() : OBAtom
• IsHydrogen() : OBAtom
• IsIgnored() : OBFFConstraints
• IsInRing() : OBAtom , OBBond , OBRing
• IsInRingSize() : OBAtom
• IsInSameRing() : OBForceField
• IsKDouble() : OBBond
• IsKSingle() : OBBond
• IsKTriple() : OBBond
• IsLast() : OBConversion , XMLConversion
• IsLastFile() : OBConversion
• IsMember() : OBRing
• IsNegativeStereo() : OBAtom
• IsNitrogen() : OBAtom
• IsNitroOxygen() : OBAtom
• IsNonPolarHydrogen() : OBAtom
• IsNotCorH() : OBAtom
• IsOneFour() : OBAtom
• IsOneThree() : OBAtom
• IsOption() : OBConversion
• isOrthogonal() : matrix3x3
• IsOxygen() : OBAtom
• IsPhosphateOxygen() : OBAtom
• IsPhosphorus() : OBAtom
• IsPolarHydrogen() : OBAtom
• IsPositiveStereo() : OBAtom
• IsPrimaryAmide() : OBBond
• IsProtonRotor() : OBTorsion
• ispunctU() : OBDescriptor
• IsResidueType() : OBResidue
• IsReversible() : OBReaction
• IsRotor() : OBBond
• IsSecondaryAmide() : OBBond
• IsSetupNeeded() : OBForceField
• IsSingle() : OBBond
• IsSulfateOxygen() : OBAtom
-i- 1211
Open Babel: API Documentation
• IsSulfur() : OBAtom
• isSymmetric() : matrix3x3
• IsTriple() : OBBond
• Istype() : patty
• isUnitMatrix() : matrix3x3
• IsUp() : OBBond
• IsValid() : OBSmartsPattern , SpaceGroup , OBRotorRule
• IsWedge() : OBBond
• IsXFixed() : OBFFConstraints
• IsYFixed() : OBFFConstraints
• IsZFixed() : OBFFConstraints
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•_
•a
•b
•c
-i- 1212
Open Babel: API Documentation
•d
•e
•f
•g
•h
•i
•j
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
•~
Here is a list of all class members with links to the classes they belong to:
-p-
• parity : OBChiralData
• ParseLine() : OBBondTyper , OBElementTable , OBPhModel , OBRotorRules , OBIsotopeTable ,
OBAtomTyper , OBAromaticTyper , OBGlobalDataBase , OBTypeTable , OBRingTyper ,
OBResidueData
• ParseParamFile() : OBForceField
• ParsePredicate() : OBDescriptor
• part : AtomSpec
• parts : Pattern
• PathSize() : OBRing
• PathToRoot() : OBRTree
• patty() : patty
• pAuxConv : OBConversion
• pDefaultFormat : OBConversion
• PerceiveBondOrders() : OBMol
• PerceiveChains() : OBChainsParser
• PerceiveKekuleBonds() : OBMol
• phase : OBNasaThermoData
• pInFormat : OBConversion
• pInStream : OBConversion
• PlaneReflection() : matrix3x3
• pLineEndBuf : OBConversion
• PluginIterator : OBPlugin
-p- 1213
Open Babel: API Documentation
• PluginMap() : OBPlugin
• PluginMapType : OBPlugin
• pOb1 : OBConversion
• PointIsInBox() : OBGrid
• PolarGrid() : OBProxGrid
• pos_a : OBFFCalculation2
• pos_b : OBFFCalculation2
• pos_c : OBFFCalculation3
• pos_d : OBFFCalculation4
• pOutFormat : OBConversion
• pOutStream : OBConversion
• Precalc() : OBRotor
• Precompute() : OBRotor
• Predict() : OBGroupContrib , OBDescriptor
• PredictAndSave() : OBDescriptor
• PrintFormalCharges() : OBForceField
• PrintPartialCharges() : OBForceField
• PrintTypes() : OBForceField
• PrintVector() : OBForceField
• PrintVelocities() : OBForceField
• prop : _BondExpr , _AtomExpr
• PropagatePotentialAromatic() : OBAromaticTyper
• PushBack() : OBRingData
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
-p- 1214
Open Babel: API Documentation
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•j
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
•~
Here is a list of all class members with links to the classes they belong to:
-q-
• q : GasteigerState
• quad() : quad
• Quiet() : OBRotorRules
-q- 1215
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•j
•k
•l
•m
•n
•o
-q- 1216
Open Babel: API Documentation
•p
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
•~
Here is a list of all class members with links to the classes they belong to:
-r-
• rab0 : OBFFConstraint
• randomRotation() : matrix3x3
• RandomRotorSearch() : OBForceField
• RandomRotorSearchInitialize() : OBForceField
• RandomRotorSearchNextConformer() : OBForceField
• randomUnitVector() : vector3
• rate_type : OBRateData
• Rates : OBRateData
• rbc0 : OBFFConstraint
• reaction_type : OBRateData
• ReactionType : OBRateData
• Read() : FptIndex , OBScoreGrid , OBConversion
• read_rules() : patty
• ReadChemObject() : OBFormat , OBMoleculeFormat , XMLMoleculeFormat
• ReadChemObjectImpl() : OBMoleculeFormat
• reader() : XMLBaseFormat
• ReadFile() : OBConversion
• ReadIndex() : FastSearch
• ReadIndexFile() : FastSearch
• ReadMolecule() : OBFormat , XMLMoleculeFormat
• ReadNameIndex() : OBMoleculeFormat
• ReadStream() : XMLConversion
• ReadString() : OBConversion
• ReadStringFromFilter() : OBDescriptor
• ReadXML() : XMLConversion
• ReadyToInput : OBConversion
• recur : _AtomExpr
• RegisterFormat() : OBFormat , OBConversion
• RegisterOptionParam() : OBConversion
• RegisterSpaceGroup() : SpaceGroup
• RegisterXMLFormat() : XMLConversion
• RemoveAtom() : OBResidue
• RemoveOption() : OBConversion
• RemoveRedundant() : OBRingSearch
-r- 1217
Open Babel: API Documentation
• RemoveSymTorsionValues() : OBRotor
• RemoveSymVals() : OBRotorList
• RenumberAtoms() : OBMol
• ReportNumberConverted() : OBConversion
• ReserveAtoms() : OBMol
• Resize() : OBBitVec
• ResizeWords() : OBBitVec
• RestoreLocale() : OBLocale
• RestrictedMatch() : OBSmartsPattern
• rgt : _BondExpr , _AtomExpr
• Rhombohedral : OBUnitCell
• rInlen : OBConversion
• rInpos : OBConversion
• RotAboutAxisByAngle() : matrix3x3
• Rotate() : OBMol
• RotConsts : OBRotationData
• RType : OBRotationData
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
-r- 1218
Open Babel: API Documentation
• Related Functions
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•j
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
•~
Here is a list of all class members with links to the classes they belong to:
-s-
• SaveUniqueRing() : OBRingSearch
• score : OBScoreGrid
• second : quad , triple
• second_type : triple , quad
• Seed() : OBRandom
• seekdata : FptIndex
• seekoff() : FilteringInputStreambuf
• seekpos() : FilteringInputStreambuf
• SelectRootAtoms() : OBAromaticTyper
• Separate() : OBMol
• Set() : OBRotor , matrix3x3 , vector3 , OBBond , OBRotor
• SetAlias() : AliasData
• SetAngle() : OBTorsion , OBAngle
• SetAntiClockwiseStereo() : OBAtom
• SetAromatic() : OBAtom , OBBond
• SetAromaticCorrected() : OBMol
-s- 1219
Open Babel: API Documentation
• SetAromaticPerceived() : OBMol
• SetAtom() : OBExternalBond
• SetAtom4Refs() : OBChiralData
• SetAtomicNum() : OBAtom
• SetAtomID() : OBResidue
• SetAtoms() : OBAngle
• SetAtomTypesPerceived() : OBMol
• SetAttribute() : OBGenericData
• SetAutomaticFormalCharge() : OBMol
• SetAutomaticPartialCharge() : OBMol
• SetAuxConv() : OBConversion
• SetBaseCoordinateSets() : OBRotamerList
• SetBegin() : OBBond
• SetBit() : OBFingerprint
• SetBitOff() : OBBitVec
• SetBitOn() : OBBitVec
• SetBO() : OBBond
• SetBond() : OBExternalBond , OBRotor
• SetBondOrder() : OBBond
• SetChain() : OBResidue
• SetChainNum() : OBResidue
• SetChainsPerceived() : OBMol
• SetChiral() : OBAtom
• SetChiralityPerceived() : OBMol
• SetClockwiseStereo() : OBAtom
• SetClosure() : OBBond
• SetClosureBondsPerceived() : OBMol
• SetCoeff() : OBNasaThermoData
• SetColumn() : matrix3x3
• SetComment() : OBReaction
• SetConformer() : OBMol
• SetConformers() : OBForceField , OBMol
• SetConstraints() : OBForceField
• SetCoordinates() : OBForceField , OBMol
• SetCoordPtr() : OBAtom
• SetCorrectedForPH() : OBMol
• SetCurrentCoordinates() : OBRotamerList
• SetData() : OBBase , OBCommentData , OBExternalBondData , OBSetData , OBRingData ,
OBUnitCell , OBConformerData , OBSymmetryData , OBTorsion , OBTorsionData , OBAngleData ,
OBSerialNums , OBVibrationData , OBRotationData , OBVectorData , OBMatrixData
• SetDelta() : OBRotorRule , OBRotor
• SetDihedralAtoms() : OBRotor
• SetDimension() : OBConformerData , OBMol
• SetDisplacements() : OBConformerData
• SetDown() : OBBond
• SetEfficiency() : OBRateData
• SetElectrostaticCutOff() : OBForceField
• SetEnd() : OBBond
• SetEnergies() : OBConformerData , OBMol
• SetEnergy() : OBMol
• SetEnvironmentVariable() : OBGlobalDataBase
-s- 1220
Open Babel: API Documentation
• SetEvalAtoms() : OBRotor , OBRotorList
• SetExpandedAtoms() : AliasData
• SetFactor() : OBFFConstraints
• SetFilename() : OBRotorRules
• SetFirstInput() : OBConversion
• SetFixAtom() : OBForceField
• SetFixAtoms() : OBRotorList
• SetFixedAtoms() : OBRotor
• SetFlag() : OBAtom , OBBond , OBMol
• SetFlags() : OBMol
• SetForces() : OBConformerData
• SetFormalCharge() : OBAtom
• SetFormalCharges() : OBForceField
• SetFormula() : OBMol
• SetFromType() : OBTypeTable
• SetGradient() : OBForceField
• SetGridType() : OBProxGrid
• SetHallName() : SpaceGroup
• SetHash() : OBBond
• SetHetAtom() : OBResidue
• SetHiT() : OBNasaThermoData
• SetHMName() : SpaceGroup
• SetHyb() : OBAtom
• SetHybAndGeom() : OBAtom
• SetHybridizationPerceived() : OBMol
• SetHydrogensAdded() : OBMol
• SetId() : SpaceGroup
• SetIdx() : OBAtom , OBBond , OBExternalBond , OBResidue , OBRotor
• SetIgnoreAtom() : OBForceField
• SetImplicitValence() : OBAtom
• SetImplicitValencePerceived() : OBMol
• SetInAndOutFormats() : OBConversion
• SetInFormat() : OBConversion
• SetInRing() : OBAtom , OBBond
• SetInStream() : OBConversion
• SetInternalCoord() : OBMol
• SetIsotope() : OBAtom
• SetKDouble() : OBBond
• SetKekulePerceived() : OBMol
• SetKSingle() : OBBond
• SetKTriple() : OBBond
• SetLast() : OBConversion
• SetLatticeType() : OBUnitCell
• SetLength() : OBBond
• SetLimits() : OBFloatGrid , OBGridData
• SetLineSearchType() : OBForceField
• SetLocale() : OBLocale
• SetLogFile() : OBForceField
• SetLogLevel() : OBForceField
• SetLoRate() : OBRateData
• SetLoT() : OBNasaThermoData
-s- 1221
Open Babel: API Documentation
• SetMaxLogEntries() : OBMessageHandler
• SetMidT() : OBNasaThermoData
• SetMoreFilesToCome() : OBConversion
• SetName() : OBResidue
• SetNegativeStereo() : OBAtom
• SetNum() : OBResidue
• SetNumberOfPoints() : OBFloatGrid , OBGridData
• SetNumCoords() : OBRotor
• SetNumSymmetries() : OBGridData
• SetOffset() : OBUnitCell
• SetOneObjectOnly() : OBConversion
• SetOptions() : OBConversion
• SetOrigin() : OBGenericData
• SetOutFormat() : OBConversion
• SetOutputIndex() : OBConversion
• SetOutputLevel() : OBMessageHandler
• SetOutputStream() : OBMessageHandler
• SetOutStream() : OBConversion
• SetParameterFile() : OBForceField
• SetParent() : OBAtom , OBBond , OBRing
• SetPartialCharge() : OBAtom
• SetPartialCharges() : OBForceField
• SetPartialChargesPerceived() : OBMol
• SetPhase() : OBNasaThermoData
• SetPointGroup() : OBSymmetryData
• SetPositiveStereo() : OBAtom
• SetQuiet() : OBRotorList
• SetRangeOff() : OBBitVec
• SetRangeOn() : OBBitVec
• SetRate() : OBRateData
• SetReadDirectory() : OBGlobalDataBase
• SetResidue() : OBAtom
• SetResName() : OBResidueData
• SetReversible() : OBReaction
• SetRingAtomsAndBondsPerceived() : OBMol
• SetRingTypesPerceived() : OBMol
• SetRotAtoms() : OBRotor , OBRotorList
• SetRotAtomsByFix() : OBRotorList
• SetRotor() : OBRotor
• SetRow() : matrix3x3
• SetSerialNum() : OBResidue
• SetSource() : FilteringInputStreambuf
• SetSpaceGroup() : OBUnitCell , OBSymmetryData , OBUnitCell
• SetSpinMultiplicity() : OBAtom
• SetSpinMultiplicityAssigned() : OBMol
• SetSSSRPerceived() : OBMol
• SetStartAndEnd() : OBConversion
• SetTitle() : OBReaction , OBMol
• SetToAngle() : OBRotor
• SetTorsion() : OBMol
• SetTorsionValues() : OBRotor
-s- 1222
Open Babel: API Documentation
• SetTotalCharge() : OBMol
• SetTotalSpinMultiplicity() : OBMol
• SetToType() : OBTypeTable
• SetTransitionState() : OBReaction
• SetTroeParams() : OBRateData
• SetType() : OBAtom , OBRing , OBScoreGrid , OBRing
• SetTypes() : OBForceField
• SetUnit() : OBGridData
• SetUnrestricted() : OBGridData
• Setup() : OBRotamerList , OBRotorList
• SetUp() : OBBond
• Setup() : OBScoreGrid , OBPointGroup , OBForceField , OBRotamerList , OBScoreGrid ,
OBProxGrid , OBFFConstraints , OBProxGrid , OBForceField , OBScoreGrid
• SetupCalculations() : OBForceField
• SetUpdateFrequency() : OBForceField
• SetupPointers() : OBForceField , OBFFCalculation3 , OBFFCalculation4 , OBFFCalculation2
• SetupReader() : XMLConversion
• SetupRotMat() : matrix3x3
• SetupWriter() : XMLConversion
• SetVals() : OBFloatGrid
• SetValue() : OBPairTemplate , OBPairData , OBGridData , OBFloatGrid
• SetValues() : OBGridData , GasteigerState
• SetVDWCutOff() : OBForceField
• SetVector() : OBAtom
• SetVelocities() : OBConformerData
• SetVerbose() : OBScoreGrid
• SetWedge() : OBBond
• SetX() : vector3
• SetXAxis() : OBFloatGrid
• SetY() : vector3
• SetYAxis() : OBFloatGrid
• SetZ() : vector3
• SetZAxis() : OBFloatGrid
• Simple : LineSearchType
• size() : OBAtomClassData
• Size() : OBRotor , OBRotorList , OBFFConstraints , OBRing
• SkipObjects() : OBFormat , XMLBaseFormat
• SkipXML() : XMLConversion
• Sleep() : DLHandler
• SmallestBondAngle() : OBAtom
• SortByIndex() : OBAngle
• SortRings() : OBRingSearch
• SpaceGroup() : SpaceGroup
• SpecificationURL() : OBFormat
• Sqrt() : OBSqrtTbl
• src : BondSpec
• SRI : OBRateData
• Start() : OBStopwatch
• start_kekulize() : OBMol
• StartErrorWrap() : OBMessageHandler
• StartLogging() : OBMessageHandler
-s- 1223
Open Babel: API Documentation
• StartNumber : OBConversion
• SteepestDescent() : OBForceField
• SteepestDescentInitialize() : OBForceField
• SteepestDescentTakeNSteps() : OBForceField
• StopErrorWrap() : OBMessageHandler
• StopLogging() : OBMessageHandler
• StripSalts() : OBMol
• SupportedInputFormat : OBConversion
• SupportedOutputFormat : OBConversion
• Swap() : OBBuilder
• SYMMETRIC : OBRotationData
• SymNum : OBRotationData
• sync() : obLogBuf , FilteringInputStreambuf
• SystematicRotorSearch() : OBForceField
• SystematicRotorSearchInitialize() : OBForceField
• SystematicRotorSearchNextConformer() : OBForceField
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
-s- 1224
Open Babel: API Documentation
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•j
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
•~
Here is a list of all class members with links to the classes they belong to:
-t-
• Tanimoto() : OBFingerprint
• TargetClassDescription() : OBFormat
• Tetragonal : OBUnitCell
• third : triple , quad
• third_type : quad , triple
• THREEBODY : OBRateData
• ThrowError() : OBMessageHandler
• TimeSeed() : OBRandom
• ToInertialFrame() : OBMol
• ToVecInt() : OBBitVec
• Transform() : SpaceGroup
• transform3d() : transform3d
• Translate() : OBTypeTable , OBMol
• transpose() : matrix3x3
• TraverseCycle() : OBAromaticTyper
• Triclinic : OBUnitCell
• triple() : triple
• TROE : OBRateData
-t- 1225
Open Babel: API Documentation
• TroeParams : OBRateData
• type : OBFFConstraint , OBRotationData , _AtomExpr , _BondExpr
• type_to_int() : patty
• TypeID() : OBForceField , OBDescriptor , OBOp , OBFormat
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•j
-t- 1226
Open Babel: API Documentation
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
•~
Here is a list of all class members with links to the classes they belong to:
-u-
• Undefined : OBUnitCell
• underflow() : FilteringInputStreambuf
• Unit : OBGridData
• UNKNOWN : OBRotationData
• UnsetAromatic() : OBAtom , OBBond
• UnsetAromaticPerceived() : OBMol
• UnsetDown() : OBBond
• UnsetFixAtom() : OBForceField
• UnsetFlag() : OBBond , OBMol
• UnsetHash() : OBBond
• UnsetHydrogensAdded() : OBMol
• UnsetIgnoreAtom() : OBForceField
• UnsetImplicitValencePerceived() : OBMol
• UnsetKekule() : OBBond
• UnsetPartialChargesPerceived() : OBMol
• UnsetRingTypesPerceived() : OBMol
• UnsetSSSRPerceived() : OBMol
• UnsetStereo() : OBAtom
• UnsetUp() : OBBond
• UnsetWedge() : OBBond
• UpdateConformers() : OBForceField
• UpdateCoordinates() : OBForceField
• UpdatePairsSimple() : OBForceField
-u- 1227
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•j
•k
•l
•m
•n
•o
-u- 1228
Open Babel: API Documentation
•p
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
•~
Here is a list of all class members with links to the classes they belong to:
-v-
• Validate() : OBForceField
• ValidateConjugateGradients() : OBForceField
• ValidateGradientError() : OBForceField
• ValidateGradients() : OBForceField
• ValidateLineSearch() : OBForceField
• ValidateSteepestDescent() : OBForceField
• value : _BondExpr , _AtomExpr
• vb : AtomSpec
• vector3() : vector3
• VectorAdd() : OBForceField
• VectorAngle() : OBForceField
• VectorAngleDerivative() : OBForceField
• VectorBondDerivative() : OBForceField
• VectorClear() : OBForceField
• VectorCopy() : OBForceField
• VectorCross() : OBForceField
• VectorDistance() : OBForceField
• VectorDistanceDerivative() : OBForceField
• VectorDivide() : OBForceField
• VectorDot() : OBForceField
• VectorLength() : OBForceField
• VectorLengthDerivative() : OBForceField
• VectorMultiply() : OBForceField
• VectorNormalize() : OBForceField
• VectorOOP() : OBForceField
• VectorOOPDerivative() : OBForceField
• VectorSelfMultiply() : OBForceField
• VectorSubtract() : OBForceField
• VectorTorsion() : OBForceField
• VectorTorsionDerivative() : OBForceField
• verbose : OBScoreGrid
• Visit : OBBond
• visit : AtomSpec , BondSpec
• Visit : OBAtom
-v- 1229
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•j
•k
•l
•m
•n
-v- 1230
Open Babel: API Documentation
•o
•p
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
•~
Here is a list of all class members with links to the classes they belong to:
-w-
• WeightedRotorSearch() : OBForceField
• wInlen : OBConversion
• wInpos : OBConversion
• word_vector : OBBitVec
• words : FptIndexHeader
• WorksWith() : OBOp , OpTransform
• Write() : OBScoreGrid , OBConversion
• WriteChemObject() : OBFormat , OBMoleculeFormat , XMLMoleculeFormat
• WriteChemObjectImpl() : OBMoleculeFormat
• WriteFile() : OBConversion
• WriteMapList() : OBSmartsPattern
• WriteMolecule() : OBFormat
• writer() : XMLBaseFormat
• WriteRings() : OBRingSearch
• WriteStream() : XMLConversion
• WriteString() : OBConversion
This file is part of the documentation for Open Babel, version 2.2.0.
-w- 1231
Open Babel: API Documentation
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•j
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
•~
Here is a list of all class members with links to the classes they belong to:
-w- 1232
Open Babel: API Documentation
-x-
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
-x- 1233
Open Babel: API Documentation
•j
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
•~
Here is a list of all class members with links to the classes they belong to:
-y-
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
-y- 1234
Open Babel: API Documentation
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
• FptFlag : OBFingerprint
• LatticeType : OBUnitCell
• Option_type : OBConversion
• rate_type : OBRateData
• reaction_type : OBRateData
• RType : OBRotationData
• Unit : OBGridData
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
-y- 1235
Open Babel: API Documentation
• Enumerations
• Enumerator
• Related Functions
• A : OBRateData
• ALL : OBConversion
• ANGSTROM : OBGridData
• ARRHENIUS : OBRateData
• ASYMMETRIC : OBRotationData
• BOHR : OBGridData
• Cubic : OBUnitCell
• E : OBRateData
• FPT_UNIQUEBITS : OBFingerprint
• GENOPTIONS : OBConversion
• Hexagonal : OBUnitCell
• INOPTIONS : OBConversion
• LINDERMANN : OBRateData
• LINEAR : OBRotationData
• Monoclinic : OBUnitCell
• n : OBRateData
• Newton2Num : LineSearchType
• Orthorhombic : OBUnitCell
• OTHER : OBGridData
• OUTOPTIONS : OBConversion
• Rhombohedral : OBUnitCell
• Simple : LineSearchType
• SRI : OBRateData
• SYMMETRIC : OBRotationData
• Tetragonal : OBUnitCell
• THREEBODY : OBRateData
• Triclinic : OBUnitCell
• TROE : OBRateData
• Undefined : OBUnitCell
• UNKNOWN : OBRotationData
This file is part of the documentation for Open Babel, version 2.2.0.
-y- 1236
Open Babel: API Documentation
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•a
•b
•c
•d
•e
•f
•g
•h
•i
•j
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
•~
-y- 1237
Open Babel: API Documentation
-a-
-a- 1238
Open Babel: API Documentation
• AssignSpinMultiplicity() : OBMol
• AssignTorVals() : OBRotorList
• AssignTypes() : OBRingTyper , OBAtomTyper
• AutomaticFormalCharge() : OBMol
• AutomaticPartialCharge() : OBMol
• AverageBondAngle() : OBAtom
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•a
•b
•c
•d
•e
•f
•g
•h
•i
-a- 1239
Open Babel: API Documentation
•j
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
•~
-j-
• jacobi() : matrix3x3
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
-j- 1240
Open Babel: API Documentation
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•a
•b
•c
•d
•e
•f
•g
•h
•i
•j
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
•~
-k-
• KBOSum() : OBAtom
• Kekulize() : OBMol
-k- 1241
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•a
•b
•c
•d
•e
•f
•g
•h
•i
•j
•k
•l
•m
•n
•o
•p
-k- 1242
Open Babel: API Documentation
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
•~
-l-
• Lap() : OBStopwatch
• length() : vector3
• length_2() : vector3
• LineSearch() : OBForceField
• LineSearchTakeStep() : OBForceField
• LipoGrid() : OBProxGrid
• List() : OBPlugin
• ListAsString() : OBPlugin
• ListAsVector() : OBPlugin
• LoadFormatFiles() : OBConversion
• LoadFragments() : OBBuilder
• LookForNamespace() : XMLConversion
• LookupBO() : OBResidueData
• LookupType() : OBResidueData
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
-l- 1243
Open Babel: API Documentation
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•a
•b
•c
•d
•e
•f
•g
•h
•i
•j
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
•~
-m-
• MakeCombinedMolecule() : OBMoleculeFormat
• MakeInstance() : OBGroupContrib , OBPlugin , OpTransform
• MakeNewInstance() : OBForceField , OBFormat
-m- 1244
Open Babel: API Documentation
• Match() : OBSSMatch , OBSmartsPattern
• MatchesSMARTS() : OBAtom
• MatchPairData() : OBDescriptor
• matrix3x3() : matrix3x3
• MemberOfRingCount() : OBAtom
• MemberOfRingSize() : OBAtom
• message() : OBError
• MolecularDynamicsTakeNSteps() : OBForceField
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•a
•b
•c
•d
•e
•f
•g
-m- 1245
Open Babel: API Documentation
•h
•i
•j
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
•~
-n-
• Namespaces() : XMLConversion
• NamespaceURI() : XMLBaseFormat
• Negate() : OBBitVec
• NewAtom() : OBMol
• NewBond() : OBMol
• NewPerceiveKekuleBonds() : OBMol
• NewResidue() : OBMol , OBAtom
• Newton2NumLineSearch() : OBForceField
• next() : OBMolAtomDFSIter
• Next() : OBRotorKeys
• NextAtom() : OBMol , OBResidue
• NextBit() : OBBitVec
• NextBond() : OBMol , OBAtom
• NextConformer() : OBMol
• NextFloat() : OBRandom
• NextInt() : OBRandom
• NextInternalCoord() : OBMol
• NextNbrAtom() : OBAtom
• NextResidue() : OBMol
• NextRing() : OBRingData
• NextRotor() : OBRotorList
• NextTransform() : SpaceGroup
• Normalize() : transform3d
• normalize() : vector3
• NumAtoms() : OBMol , OBSmartsPattern , OBRotamerList
• NumBaseCoordinateSets() : OBRotamerList
-n- 1246
Open Babel: API Documentation
• NumBonds() : OBMol , OBSmartsPattern
• NumConformers() : OBMol
• NumericalDerivative() : OBForceField
• NumericalSecondDerivative() : OBForceField
• NumHvyAtoms() : OBMol
• NumKeys() : OBRotorKeys
• NumMatches() : OBSmartsPattern
• NumProducts() : OBReaction
• NumReactants() : OBReaction
• NumResidues() : OBMol
• NumRotamers() : OBRotamerList
• NumRotors() : OBRotamerList , OBMol
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•a
•b
•c
-n- 1247
Open Babel: API Documentation
•d
•e
•f
•g
•h
•i
•j
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
•~
-o-
• OBAngle() : OBAngle
• OBAngleData() : OBAngleData
• OBAromaticTyper() : OBAromaticTyper
• OBAtom() : OBAtom
• OBAtomAtomIter() : OBAtomAtomIter
• OBAtomBondIter() : OBAtomBondIter
• OBAtomClassData() : OBAtomClassData
• OBAtomTyper() : OBAtomTyper
• OBBitVec() : OBBitVec
• OBBond() : OBBond
• OBBondTyper() : OBBondTyper
• OBChainsParser() : OBChainsParser
• OBChemTsfm() : OBChemTsfm
• OBChiralData() : OBChiralData
• OBCommentData() : OBCommentData
• OBConformerData() : OBConformerData
• OBConversion() : OBConversion
• OBElement() : OBElement
• OBElementTable() : OBElementTable
• OBError() : OBError
• OBExternalBond() : OBExternalBond
• OBExternalBondData() : OBExternalBondData
-o- 1248
Open Babel: API Documentation
• OBFFConstraint() : OBFFConstraint
• OBFFConstraints() : OBFFConstraints
• OBFFLog() : OBForceField
• OBFloatGrid() : OBFloatGrid
• OBFormat() : OBFormat
• OBGastChrg() : OBGastChrg
• OBGenericData() : OBGenericData
• OBGlobalDataBase() : OBGlobalDataBase
• OBGrid() : OBGrid
• OBGridData() : OBGridData
• OBGroupContrib() : OBGroupContrib
• OBInternalCoord() : OBInternalCoord
• OBIsotopeTable() : OBIsotopeTable
• OBLocale() : OBLocale
• OBMatrixData() : OBMatrixData
• OBMessageHandler() : OBMessageHandler
• OBMol() : OBMol
• OBMolAngleIter() : OBMolAngleIter
• OBMolAtomBFSIter() : OBMolAtomBFSIter
• OBMolAtomDFSIter() : OBMolAtomDFSIter
• OBMolAtomIter() : OBMolAtomIter
• OBMolBondIter() : OBMolBondIter
• OBMoleculeFormat() : OBMoleculeFormat
• OBMolPairIter() : OBMolPairIter
• OBMolRingIter() : OBMolRingIter
• OBMolTorsionIter() : OBMolTorsionIter
• OBNasaThermoData() : OBNasaThermoData
• OBPairData() : OBPairData
• OBPairTemplate() : OBPairTemplate
• OBPhModel() : OBPhModel
• OBPointGroup() : OBPointGroup
• OBProxGrid() : OBProxGrid
• OBRandom() : OBRandom
• OBRateData() : OBRateData
• OBReaction() : OBReaction
• OBResidue() : OBResidue
• OBResidueAtomIter() : OBResidueAtomIter
• OBResidueData() : OBResidueData
• OBResidueIter() : OBResidueIter
• OBRing() : OBRing
• OBRingData() : OBRingData
• OBRingSearch() : OBRingSearch
• OBRingTyper() : OBRingTyper
• OBRotamerList() : OBRotamerList
• OBRotationData() : OBRotationData
• OBRotor() : OBRotor
• OBRotorKeys() : OBRotorKeys
• OBRotorList() : OBRotorList
• OBRotorRule() : OBRotorRule
• OBRotorRules() : OBRotorRules
• OBRTree() : OBRTree
-o- 1249
Open Babel: API Documentation
• OBScoreGrid() : OBScoreGrid
• OBSerialNums() : OBSerialNums
• OBSetData() : OBSetData
• OBSmartsPattern() : OBSmartsPattern
• OBSqrtTbl() : OBSqrtTbl
• OBSSMatch() : OBSSMatch
• OBSymmetryData() : OBSymmetryData
• OBTorsion() : OBTorsion
• OBTorsionData() : OBTorsionData
• OBTypeTable() : OBTypeTable
• OBUnitCell() : OBUnitCell
• OBVectorData() : OBVectorData
• OBVibrationData() : OBVibrationData
• OBVirtualBond() : OBVirtualBond
• OpenAndSetFormat() : OBConversion
• OpenInAndOutFiles() : OBConversion
• openLib() : DLHandler
• operator &=() : OBBitVec
• operator bool() : OBMolAtomIter , OBMolAtomDFSIter , OBMolAtomBFSIter , OBAtomAtomIter ,
OBAtomBondIter , OBResidueIter , OBResidueAtomIter , OBMolAngleIter , OBMolTorsionIter ,
OBMolPairIter , OBMolRingIter , OBMolBondIter
• operator!=() : SpaceGroup , vector3
• operator()() : LineEndingExtractor , matrix3x3 , CharPtrLess
• operator*() : OBMolAtomIter , OBMolAtomBFSIter , OBMolBondIter , OBAtomAtomIter ,
OBAtomBondIter , OBResidueIter , OBResidueAtomIter , OBMolAngleIter , transform3d ,
OBMolPairIter , OBMolRingIter , transform3d , OBMolTorsionIter , OBMolAtomDFSIter
• operator*=() : vector3 , matrix3x3 , vector3
• operator++() : OBAtomBondIter , OBMolRingIter , OBMolAngleIter , OBResidueIter ,
OBAtomAtomIter , OBMolAtomBFSIter , OBMolAtomIter , OBMolBondIter , OBMolAtomIter ,
OBMolAtomDFSIter , OBMolAtomBFSIter , OBAtomAtomIter , OBAtomBondIter , OBResidueIter
, OBMolTorsionIter , OBMolPairIter , OBMolRingIter , OBResidueAtomIter
• operator+=() : vector3 , OBMol , OBBitVec
• operator-=() : OBBitVec , vector3
• operator->() : OBResidueIter , OBMolAtomDFSIter , OBMolAtomIter , OBMolBondIter ,
OBAtomBondIter , OBAtomAtomIter , OBMolRingIter , OBMolAtomBFSIter , OBResidueAtomIter
• operator/=() : vector3 , matrix3x3
• operator=() : vector3 , OBAngle , OBCommentData , OBMolAtomBFSIter , OBBitVec , OBMol ,
OBMolRingIter , OBFFParameter , OBTorsionData , OBAtomBondIter , OBResidueIter ,
OBMolAtomIter , OBAngleData , OBMolAngleIter , OBSymmetryData , OBMolBondIter ,
OBChiralData , OBResidue , OBMolTorsionIter , OBFFConstraints , OBTorsion , OBRingData ,
OBSmartsPattern , OBConformerData , OBMolPairIter , OBAtom , OBAtomAtomIter ,
OBMolAtomDFSIter , OBUnitCell , OBVibrationData , OBRing , OBResidueAtomIter
• operator==() : vector3 , SpaceGroup , OBAngle , OBError
• operator[]() : vector3 , OBBitVec
• operator^=() : OBBitVec
• operator|=() : OBBitVec
• OpOptions() : OBOp
• OptionParamArray() : OBConversion
• OpTransform() : OpTransform
• OutputDeferredMols() : OBMoleculeFormat
• OutputToStream() : XMLConversion , XMLBaseFormat
-o- 1250
Open Babel: API Documentation
• overflow() : FilteringInputStreambuf
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•a
•b
•c
•d
•e
•f
•g
•h
•i
•j
•k
•l
•m
•n
-o- 1251
Open Babel: API Documentation
•o
•p
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
•~
-z-
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
-z- 1252
Open Babel: API Documentation
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•a
•b
•c
•d
•e
•f
•g
•h
•i
•j
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
•~
-~-
• ~FastSearch() : FastSearch
• ~FastSearchIndexer() : FastSearchIndexer
• ~FilteringInputStreambuf() : FilteringInputStreambuf
• ~GasteigerState() : GasteigerState
• ~matrix3x3() : matrix3x3
• ~OBAngle() : OBAngle
• ~OBAromaticTyper() : OBAromaticTyper
• ~OBAtom() : OBAtom
• ~OBAtomAtomIter() : OBAtomAtomIter
• ~OBAtomBondIter() : OBAtomBondIter
• ~OBAtomTyper() : OBAtomTyper
• ~OBBase() : OBBase
• ~OBBond() : OBBond
• ~OBBondTyper() : OBBondTyper
-~- 1253
Open Babel: API Documentation
• ~OBChainsParser() : OBChainsParser
• ~OBChemTsfm() : OBChemTsfm
• ~OBChiralData() : OBChiralData
• ~OBConformerData() : OBConformerData
• ~OBConversion() : OBConversion
• ~OBElementTable() : OBElementTable
• ~OBExternalBond() : OBExternalBond
• ~OBFFCalculation2() : OBFFCalculation2
• ~OBFFCalculation3() : OBFFCalculation3
• ~OBFFCalculation4() : OBFFCalculation4
• ~OBFFConstraint() : OBFFConstraint
• ~OBFFConstraints() : OBFFConstraints
• ~OBFingerprint() : OBFingerprint
• ~OBFloatGrid() : OBFloatGrid
• ~OBForceField() : OBForceField
• ~OBGastChrg() : OBGastChrg
• ~OBGenericData() : OBGenericData
• ~OBGlobalDataBase() : OBGlobalDataBase
• ~OBGridData() : OBGridData
• ~OBIsotopeTable() : OBIsotopeTable
• ~OBLocale() : OBLocale
• ~obLogBuf() : obLogBuf
• ~OBMatrixData() : OBMatrixData
• ~OBMessageHandler() : OBMessageHandler
• ~OBMol() : OBMol
• ~OBMolAngleIter() : OBMolAngleIter
• ~OBMolAtomBFSIter() : OBMolAtomBFSIter
• ~OBMolAtomDFSIter() : OBMolAtomDFSIter
• ~OBMolAtomIter() : OBMolAtomIter
• ~OBMolBondIter() : OBMolBondIter
• ~OBMolPairIter() : OBMolPairIter
• ~OBMolRingIter() : OBMolRingIter
• ~OBMolTorsionIter() : OBMolTorsionIter
• ~OBPhModel() : OBPhModel
• ~OBPlugin() : OBPlugin
• ~OBPointGroup() : OBPointGroup
• ~OBProxGrid() : OBProxGrid
• ~OBResidue() : OBResidue
• ~OBResidueAtomIter() : OBResidueAtomIter
• ~OBResidueIter() : OBResidueIter
• ~OBRingData() : OBRingData
• ~OBRingSearch() : OBRingSearch
• ~OBRingTyper() : OBRingTyper
• ~OBRotamerList() : OBRotamerList
• ~OBRotationData() : OBRotationData
• ~OBRotor() : OBRotor
• ~OBRotorList() : OBRotorList
• ~OBRotorRule() : OBRotorRule
• ~OBRotorRules() : OBRotorRules
• ~OBRTree() : OBRTree
• ~OBScoreGrid() : OBScoreGrid
-~- 1254
Open Babel: API Documentation
• ~OBSmartsPattern() : OBSmartsPattern
• ~OBSqrtTbl() : OBSqrtTbl
• ~OBSSMatch() : OBSSMatch
• ~OBSymmetryData() : OBSymmetryData
• ~OBTorsion() : OBTorsion
• ~OBTypeTable() : OBTypeTable
• ~OBUnitCell() : OBUnitCell
• ~OBVectorData() : OBVectorData
• ~OBVibrationData() : OBVibrationData
• ~OpTransform() : OpTransform
• ~patty() : patty
• ~SpaceGroup() : SpaceGroup
• ~vector3() : vector3
• ~XMLBaseFormat() : XMLBaseFormat
• ~XMLConversion() : XMLConversion
• ~XMLMoleculeFormat() : XMLMoleculeFormat
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
-~- 1255
Open Babel: API Documentation
•a
•b
•c
•d
•e
•f
•g
•h
•i
•j
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
•~
-b-
• BaseFindType() : OBPlugin
• BatchFileName() : OBConversion
• Begin() : OBPlugin
• BeginAtom() : OBMol , OBResidue
• BeginAtoms() : OBMol , OBResidue
• BeginBond() : OBAtom , OBMol
• BeginBonds() : OBAtom , OBMol
• BeginConformer() : OBMol
• BeginData() : OBBase
• BeginInternalCoord() : OBMol
• BeginMList() : OBSmartsPattern
• BeginModify() : OBMol
• BeginNbrAtom() : OBAtom
• BeginResidue() : OBMol
• BeginResidues() : OBMol
• BeginRing() : OBRingData
• BeginRings() : OBRingData , OBRingSearch
• BeginRotamer() : OBRotamerList
• BeginRotor() : OBRotorList
-b- 1256
Open Babel: API Documentation
• BeginRotors() : OBRotorList
• BeginTorIncrement() : OBRotor
• BeginTransform() : SpaceGroup
• BitIsOn() : OBBitVec
• BitIsSet() : OBBitVec
• BOSum() : OBAtom
• Build() : OBBuilder
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•a
•b
•c
•d
•e
•f
•g
•h
-b- 1257
Open Babel: API Documentation
•i
•j
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
•~
-c-
• CalcBondLength() : OBRotor
• CalcTorsion() : OBRotor
• CanBeNormalized() : vector3
• CastAndClear() : OBBase
• Center() : OBMol , OBFloatGrid , OBScoreGrid , OBMol
• CenterMol() : OBScoreGrid
• CheckAromaticity() : OBAromaticTyper
• CheckForUnintendedBatch() : OBConversion
• CheckFP() : FptIndex
• ClassDescription() : OBBase , OBMol , OBReaction
• Clear() : OBAtom , OBAtomClassData , OBBase , OBBitVec , OBFFConstraints , OBTorsion ,
OBTorsionData , OBAngle , OBAngleData , OBChiralData , OBScoreGrid , OBMol , OBResidue ,
OBRotorList , OBRotorKeys
• clear() : OBFFParameter
• ClearBond() : OBAtom
• ClearCoordPtr() : OBAtom
• ClearGradients() : OBForceField
• ClearGroups() : OBForceField
• ClearLog() : OBMessageHandler
• Clone() : AliasData , OBAtomClassData , OBRotamerList , OBGenericData , OBCommentData ,
OBExternalBondData , OBVectorData , OBPairData , OBSetData , OBVirtualBond , OBRingData ,
OBUnitCell , OBConformerData , OBSymmetryData , OBTorsionData , OBAngleData ,
OBChiralData , OBSerialNums , OBVibrationData , OBRotationData , OBMatrixData , OBRateData
, OBNasaThermoData
• CloneData() : OBBase
• CloseOutFile() : OBConversion
• Compare() : OBDescriptor
-c- 1258
Open Babel: API Documentation
• CompareStringWithFilter() : OBDescriptor
• Config() : OBScoreGrid
• ConjugateGradients() : OBForceField
• ConjugateGradientsInitialize() : OBForceField
• ConjugateGradientsTakeNSteps() : OBForceField
• Connect() : OBBuilder
• ConnectTheDots() : OBMol
• ContigFragList() : OBMol
• Convert() : OBConversion
• ConvertDativeBonds() : OBMol
• CoordsToIndex() : OBFloatGrid
• CopyConformer() : OBMol
• CopyOptions() : OBConversion
• CorrectAromaticNitrogens() : OBAtomTyper
• CorrectedBondRad() : OBElementTable
• CorrectedVdwRad() : OBElementTable
• CorrectForPH() : OBPhModel , OBMol
• CorrectStereoAtoms() : OBBuilder
• CorrectStereoBonds() : OBBuilder
• CorrectVelocities() : OBForceField
• CountBits() : OBBitVec
• CountBondsOfOrder() : OBAtom
• CountFreeOxygens() : OBAtom
• CountRingBonds() : OBAtom
• CreateAtom() : OBMol
• CreateBond() : OBMol
• CreateConformerList() : OBRotamerList
• createOrthoVector() : vector3
• CreateResidue() : OBMol
• CurrentDepth() : OBMolAtomBFSIter
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
-c- 1259
Open Babel: API Documentation
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•a
•b
•c
•d
•e
•f
•g
•h
•i
•j
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
•~
-d-
• DataSize() : OBBase
• debug_off() : patty
• debug_on() : patty
• DecrementImplicitValence() : OBAtom
-d- 1260
Open Babel: API Documentation
• DecrementMod() : OBMol
• DeferMolOutput() : OBMoleculeFormat
• DeleteAtom() : OBMol
• DeleteBond() : OBAtom , OBMol
• DeleteConformer() : OBMol
• DeleteConstraint() : OBFFConstraints
• DeleteData() : OBSetData , OBBase
• DeleteDeferredMols() : OBMoleculeFormat
• DeleteHydrogen() : OBMol
• DeleteHydrogens() : OBMol
• DeleteNonPolarHydrogens() : OBMol
• DeleteProperties() : OBDescriptor
• DeleteResidue() : OBAtom , OBMol
• DescribeAsString() : transform3d
• DescribeAsValues() : transform3d
• DescribeBits() : OBFingerprint
• Description() : OBPlugin , OpTransform , OBFormat , OBGroupContrib , OBConversion
• DestroyAtom() : OBMol
• DestroyBond() : OBMol
• DestroyResidue() : OBMol
• DetectExplosion() : OBForceField
• determinant() : matrix3x3
• Display() : OBPlugin , OBFormat , OBDescriptor
• DistanceGeometry() : OBForceField
• distSq() : vector3
• Do() : OBOp , OpTransform
• DoElement() : XMLBaseFormat
• DoOps() : OBOp
• DoTransformations() : OBMol , OBBase
• Duplicate() : OBAtom
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
-d- 1261
Open Babel: API Documentation
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•a
•b
•c
•d
•e
•f
•g
•h
•i
•j
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
•~
-e-
• E_Angle() : OBForceField
• E_Bond() : OBForceField
• E_Electrostatic() : OBForceField
• E_OOP() : OBForceField
-e- 1262
Open Babel: API Documentation
• E_StrBnd() : OBForceField
• E_Torsion() : OBForceField
• E_VDW() : OBForceField
• Elapsed() : OBStopwatch
• Empty() : OBBitVec , OBTorsion , OBMol , OBSmartsPattern
• EnableAllPairs() : OBForceField
• EnableCutOff() : OBForceField
• End() : OBPlugin
• EndAtoms() : OBMol , OBResidue
• EndBit() : OBBitVec
• EndBonds() : OBAtom , OBMol
• EndData() : OBBase
• EndElement() : XMLBaseFormat
• EndMList() : OBSmartsPattern
• EndModify() : OBMol
• EndResidues() : OBMol
• EndRings() : OBRingSearch , OBRingData
• EndRotamer() : OBRotamerList
• EndRotors() : OBRotorList
• EndTag() : XMLBaseFormat
• EndTorIncrement() : OBRotor
• Energy() : OBForceField
• Eval() : OBScoreGrid
• ExcludeSmallRing() : OBAromaticTyper
• Expand() : AliasData
• expand_kekulize() : OBMol
• ExpandConformerList() : OBRotamerList
• expandcycle() : OBMol
• ExplicitHydrogenCount() : OBAtom
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
-e- 1263
Open Babel: API Documentation
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•a
•b
•c
•d
•e
•f
•g
•h
•i
•j
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
•~
-f-
• FastSearchIndexer() : FastSearchIndexer
• FillAngleArray() : OBAngleData
• FillOrth() : matrix3x3
• FillTorsionArray() : OBTorsionData
• FillUnitCell() : OBUnitCell
• FilterCompare() : OBDescriptor
-f- 1264
Open Babel: API Documentation
• FilteringInputStreambuf() : FilteringInputStreambuf
• finalize() : LineEndingExtractor
• Find() : FastSearch , SpaceGroup
• FindAngles() : OBMol
• findCenterAndNormal() : OBRing
• FindChildren() : OBMol
• FindChiralCenters() : OBMol
• findEigenvectorsIfSymmetric() : matrix3x3
• findFiles() : DLHandler
• FindFingerprint() : OBFingerprint
• FindForceField() : OBForceField
• FindFormat() : OBConversion
• FindLargestFragment() : OBMol
• FindMatch() : FastSearch
• FindRingAtomsAndBonds() : OBMol
• FindRotors() : OBRotorList
• FindSimilar() : FastSearch
• FindSSSR() : OBMol
• FindTorsions() : OBMol
• FirstBit() : OBBitVec
• FirstLine() : OBPlugin
• Flags() : OBFingerprint , OBFormat
• Fold() : OBFingerprint , OBBitVec
• ForceImplH() : OBAtom
• ForceNoH() : OBAtom
• FormatFromExt() : OBConversion
• FormatFromMIME() : OBConversion , OBFormat
• FromString() : OBBitVec
• FromVecInt() : OBBitVec
• FullConvert() : OBConversion
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
-f- 1265
Open Babel: API Documentation
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•a
•b
•c
•d
•e
•f
•g
•h
•i
•j
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
•~
-g-
• GasteigerState() : GasteigerState
• GenerateVelocities() : OBForceField
• Get() : vector3 , matrix3x3
• GetA() : OBUnitCell
-g- 1266
Open Babel: API Documentation
• GetADs() : OBTorsion
• GetAgent() : OBReaction
• GetAlias() : AliasData
• GetAllData() : OBBase
• GetAllredRochowElectroNeg() : OBElement , OBElementTable
• GetAlpha() : OBUnitCell
• GetAminoAcidProperty() : OBResidue
• GetAngle() : OBTorsion , OBAngle , OBMol , OBAtom
• GetArray() : matrix3x3
• GetAtom() : OBExternalBond , OBMol
• GetAtom4Refs() : OBChiralData
• GetAtomicMass() : OBAtom
• GetAtomicNum() : OBAtom , OBElement , OBElementTable , OBSmartsPattern
• GetAtomID() : OBResidue
• GetAtomIdx() : OBRTree
• GetAtomProperty() : OBResidue
• GetAtomRef() : OBChiralData
• GetAtoms() : OBAngle , OBResidue
• GetAtomTypes() : OBForceField
• GetAttribute() : OBGenericData , XMLConversion
• GetAuditMessageCount() : OBMessageHandler
• GetAuxConv() : OBConversion
• GetAxes() : OBGridData
• GetB() : OBUnitCell
• GetBaseCoordinateSet() : OBRotamerList
• GetBC() : OBTorsion
• GetBegin() : OBSetData
• GetBeginAtom() : OBBond
• GetBeginAtomIdx() : OBBond
• GetBeta() : OBUnitCell
• GetBgn() : OBVirtualBond
• GetBit() : OBFingerprint
• Getbitsperint() : OBFingerprint
• GetBlue() : OBElement
• GetBO() : OBBond
• GetBond() : OBAtom , OBExternalBond , OBMol , OBSmartsPattern , OBRotor
• GetBondIdx() : OBTorsion
• GetBondOrder() : OBBond
• GetBonds() : OBResidue
• GetC() : OBUnitCell
• GetCellMatrix() : OBUnitCell
• GetCellVectors() : OBUnitCell
• GetCellVolume() : OBUnitCell
• GetChain() : OBResidue
• GetChainNum() : OBResidue
• GetCharge() : OBSmartsPattern
• GetChemObject() : OBConversion
• GetCIdx() : OBAtom
• GetClass() : OBAtomClassData
• GetClassString() : OBAtomClassData
• GetCoeff() : OBNasaThermoData
-g- 1267
Open Babel: API Documentation
• GetColumn() : matrix3x3
• GetComment() : OBReaction
• GetConformer() : OBMol
• GetConformers() : OBForceField , OBMol
• GetConstraintAtomA() : OBFFConstraints
• GetConstraintAtomB() : OBFFConstraints
• GetConstraintAtomC() : OBFFConstraints
• GetConstraintAtomD() : OBFFConstraints
• GetConstraintEnergy() : OBFFConstraints
• GetConstraints() : OBForceField
• GetConstraintType() : OBFFConstraints
• GetConstraintValue() : OBFFConstraints
• GetContent() : XMLConversion
• GetContentDouble() : XMLConversion
• GetContentInt() : XMLConversion
• getConvDirectory() : DLHandler
• GetCoordinate() : OBAtom
• GetCoordinateIdx() : OBAtom
• GetCoordinates() : OBForceField , OBMol
• GetCovalentRad() : OBElement , OBElementTable
• GetData() : OBBase , OBCommentData , OBExternalBondData , OBSetData , OBRingData ,
OBConformerData , OBTorsionData , OBAngleData , OBSerialNums , OBVectorData ,
OBMatrixData
• GetDataType() : OBGenericData
• GetDataVector() : OBFloatGrid
• GetDebugMessageCount() : OBMessageHandler
• GetDefaultFormat() : OBConversion
• GetDefaultXMLClass() : XMLConversion
• GetDelta() : OBRotorRule , OBRotor
• GetDerived() : XMLConversion
• GetDihedralAtoms() : OBRotor
• GetDim() : OBFloatGrid
• GetDimension() : OBConformerData , OBMol
• GetDisplacements() : OBConformerData
• GetDistance() : OBAtom
• GetEfficiency() : OBRateData
• GetElectronAffinity() : OBElement , OBElementTable
• GetElectroNeg() : OBElement , OBElementTable
• GetElectrostaticCutOff() : OBForceField
• GetEnd() : OBSetData , OBVirtualBond
• GetEndAtom() : OBBond
• GetEndAtomIdx() : OBBond
• GetEnergies() : OBConformerData , OBMol
• GetEnergy() : OBMol
• GetEquibLength() : OBBond
• GetError() : OBError
• GetErrorMessageCount() : OBMessageHandler
• GetEvalAtoms() : OBRotor
• GetExactMass() : OBAtom , OBIsotopeTable , OBMol
• GetExpandedAtoms() : AliasData
• GetExplanation() : OBError
-g- 1268
Open Babel: API Documentation
• GetFactor() : OBFFConstraints
• GetFingerprint() : OBFingerprint , FastSearch
• GetFirstAtom() : OBMol
• GetFixedAtoms() : OBRotor
• GetFlag() : OBAtom
• GetFlags() : OBBond , OBMol
• GetForces() : OBConformerData
• GetFormalCharge() : OBAtom
• getFormatFilePattern() : DLHandler
• GetFormula() : OBMol
• GetFractionalMatrix() : OBUnitCell
• GetFragment() : OBBuilder
• GetFrequencies() : OBVibrationData
• GetFromType() : OBTypeTable
• GetGamma() : OBUnitCell
• GetGenericValue() : OBPairTemplate
• GetGIDVector() : OBMol
• GetGIVector() : OBMol
• GetGradient() : OBFFConstraint , OBFFConstraints , OBForceField
• GetGradientPtr() : OBForceField
• GetGreen() : OBElement
• GetGrid() : OBForceField
• GetGTDVector() : OBMol
• GetHalfSpace() : OBFloatGrid
• GetHallName() : SpaceGroup
• GetHeteroValence() : OBAtom
• GetHiT() : OBNasaThermoData
• GetHMName() : SpaceGroup
• GetHvyValence() : OBAtom
• GetHyb() : OBAtom
• GetId() : SpaceGroup
• GetID() : OBPlugin
• GetIdentifier() : OBDescriptor
• GetIdx() : OBAtom , OBBond , OBExternalBond , OBResidue , OBRotor
• GetIgnoredBitVec() : OBFFConstraints
• GetImplicitValence() : OBAtom
• GetIndexHeader() : FastSearch
• GetInFilename() : OBConversion
• GetInfoMessageCount() : OBMessageHandler
• GetInFormat() : OBConversion
• GetInLen() : OBConversion
• GetInPos() : OBConversion
• GetInStream() : OBConversion
• GetIntensities() : OBVibrationData
• GetInternalCoord() : OBMol
• GetIonization() : OBElement , OBElementTable
• GetIsotope() : OBAtom
• GetKey() : OBRotorKeys
• GetLatticeType() : OBUnitCell
• GetLength() : OBBond
• GetLevel() : OBError
-g- 1269
Open Babel: API Documentation
• GetLineSearchType() : OBForceField
• GetLogLevel() : OBForceField
• GetLoRate() : OBRateData
• GetLoT() : OBNasaThermoData
• GetLx() : OBVibrationData
• GetMap() : OBPlugin
• GetMapList() : OBSmartsPattern
• GetMass() : OBElement , OBElementTable
• GetMax() : OBFloatGrid
• GetMaxBonds() : OBElement , OBElementTable
• GetMaxLogEntries() : OBMessageHandler
• GetMaxValue() : OBGridData
• GetMaxVector() : OBGridData
• GetMessagesOfLevel() : OBMessageHandler
• GetMessageSummary() : OBMessageHandler
• GetMethod() : OBError
• GetMidpointVector() : OBFloatGrid
• GetMidT() : OBNasaThermoData
• GetMIMEType() : OBFormat
• GetMin() : OBFloatGrid
• GetMinValue() : OBGridData
• GetMod() : OBMol
• GetMolWt() : OBMol
• GetName() : OBResidue , OBElement , OBElementTable
• GetNbrAtom() : OBBond
• GetNbrAtomIdx() : OBBond
• GetNewBondVector() : OBBuilder , OBAtom , OBBuilder
• GetNextAtom() : OBAtom
• GetNextEff() : OBRateData
• GetNextFormat() : OBConversion
• GetNextFragment() : OBMol
• GetNum() : OBResidue
• GetNumAtoms() : OBResidue
• GetNumberOfElements() : OBElementTable
• GetNumberOfFrequencies() : OBVibrationData
• GetNumberOfPoints() : OBGridData
• GetNumberOfSteps() : OBGridData
• GetNumPairs() : OBForceField
• GetNumString() : OBResidue
• GetNumSymmetries() : OBGridData
• GetOffset() : OBUnitCell
• GetOptionParams() : OBConversion
• GetOptions() : OBConversion
• getorden() : OBMol
• GetOrder() : OBVirtualBond
• GetOrigin() : OBGenericData
• GetOriginVector() : OBGridData
• GetOrthoMatrix() : OBUnitCell
• GetOutFormat() : OBConversion
• GetOutputIndex() : OBConversion , XMLConversion
• GetOutputLevel() : OBMessageHandler
-g- 1270
Open Babel: API Documentation
• GetOutputStream() : OBMessageHandler
• GetOutStream() : OBConversion
• GetParameter() : OBForceField
• GetParameterIdx() : OBForceField
• GetParent() : OBRing , OBAtom , OBBond
• GetPartialCharge() : OBAtom
• GetPartialCharges() : OBForceField
• GetPhase() : OBNasaThermoData
• GetPlugin() : OBPlugin
• GetPointGroup() : OBSymmetryData
• GetPossibleCause() : OBError
• GetProduct() : OBReaction
• GetProxVector() : OBProxGrid
• GetRate() : OBRateData
• GetReactant() : OBReaction
• GetReader() : XMLConversion
• GetRed() : OBElement
• GetReferenceArray() : OBRotamerList
• GetReferenceAtoms() : OBRotorRule
• GetResidue() : OBAtom , OBMol , OBAtom
• GetResidueProperty() : OBResidue
• GetResKey() : OBResidue
• GetResolution() : OBRotor
• GetRGB() : OBElementTable
• GetRootAtom() : OBRing
• GetRotAtoms() : OBRotor
• GetRotConsts() : OBRotationData
• GetRotorIncrements() : OBRotorRules
• GetRotorType() : OBRotationData
• GetRow() : matrix3x3
• GetScale() : OBFloatGrid
• getSeparator() : DLHandler
• GetSerialNum() : OBResidue
• GetSize() : OBChiralData , OBTorsion , OBBondTyper , OBGlobalDataBase , OBElementTable ,
OBTypeTable , OBAngleData , OBPhModel , OBAtomTyper , OBRotorRules , OBResidueData ,
OBAromaticTyper , OBIsotopeTable , OBTorsionData , OBBitVec , OBRingTyper
• GetSMARTS() : OBSmartsPattern
• GetSmartsPattern() : OBRotorRule
• GetSmartsString() : OBRotorRule
• GetSource() : FilteringInputStreambuf
• GetSpacedFormula() : OBMol
• GetSpaceGroup() : SpaceGroup , OBUnitCell , OBSymmetryData , SpaceGroup
• GetSpaceGroupName() : OBUnitCell
• GetSpaceGroupNumber() : OBUnitCell
• GetSpacing() : OBFloatGrid
• GetSpinMultiplicity() : OBAtom
• GetSSSR() : OBMol
• GetStereo() : OBVirtualBond
• GetStringValue() : OBDescriptor
• GetSuggestedRemedy() : OBError
• GetSupportedInputFormat() : OBConversion
-g- 1271
Open Babel: API Documentation
• GetSupportedOutputFormat() : OBConversion
• GetSymbol() : OBElementTable , OBElement
• GetSymmetryNumber() : OBRotationData
• GetTitle() : OBReaction , OBMol , OBConversion
• GetTorsion() : OBMol
• GetTorsions() : OBTorsion
• GetTorsionVals() : OBRotorRule
• GetTotalCharge() : OBMol
• GetTotalSpinMultiplicity() : OBMol
• GetToType() : OBTypeTable
• GetTransitionState() : OBReaction
• GetTroeParam() : OBRateData
• GetType() : OBScoreGrid , XMLMoleculeFormat , OBMoleculeFormat , OBFormat , OBRing ,
OBAtom
• GetTypeMap() : OBPlugin
• GetUMapList() : OBSmartsPattern
• GetUnit() : OBGridData , OBForceField
• GetUnrestricted() : OBGridData
• GetUpdateFrequency() : OBForceField
• GetValence() : OBAtom
• GetVals() : OBFloatGrid
• GetValue() : OBGenericData , OBCommentData , OBPairData , OBGridData , OBFloatGrid ,
OBGridData
• GetValues() : OBGridData , OBDescriptor
• GetVDWCutOff() : OBForceField
• GetVdwRad() : OBElementTable , OBElement
• GetVector() : OBAtom
• GetVectorBinding() : OBSmartsPattern
• GetVelocities() : OBConformerData
• GetWarningMessageCount() : OBMessageHandler
• GetWords() : OBBitVec
• GetWriter() : XMLConversion
• GetX() : OBAtom
• GetXAxis() : OBGridData , OBFloatGrid
• GetXdim() : OBFloatGrid
• GetXmax() : OBGrid
• GetXmin() : OBGrid
• GetY() : OBAtom
• GetYAxis() : OBGridData , OBFloatGrid
• GetYdim() : OBFloatGrid
• GetYmax() : OBGrid
• GetYmin() : OBGrid
• GetZ() : OBAtom
• GetZAxis() : OBGridData , OBFloatGrid
• GetZdim() : OBFloatGrid
• GetZmax() : OBGrid
• GetZmin() : OBGrid
• GSVResize() : OBGastChrg
-g- 1272
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•a
•b
•c
•d
•e
•f
•g
•h
•i
•j
•k
•l
•m
•n
•o
•p
-g- 1273
Open Babel: API Documentation
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
•~
-h-
• Has2D() : OBMol
• Has3D() : OBMol
• HasAlphaBetaUnsat() : OBAtom
• HasAnalyticalGradients() : OBForceField
• HasAromaticBond() : OBAtom
• HasAromaticCorrected() : OBMol
• HasAromaticPerceived() : OBMol
• HasAtomTypesPerceived() : OBMol
• HasBondOfOrder() : OBAtom
• HasChainsPerceived() : OBMol
• HasChiralityPerceived() : OBMol
• HasChiralitySpecified() : OBAtom
• HasChiralVolume() : OBAtom
• HasClass() : OBAtomClassData
• HasClosureBondsPerceived() : OBMol
• HasData() : OBBase
• HasDoubleBond() : OBAtom
• HasFixedAtoms() : OBRotorList
• HasFlag() : OBMol , OBAtom , OBBond
• HasGroups() : OBForceField
• HasHybridizationPerceived() : OBMol
• HasHydrogensAdded() : OBMol
• HasImplHForced() : OBAtom
• HasImplicitValencePerceived() : OBMol
• HasKekulePerceived() : OBMol
• HasNoHForced() : OBAtom
• HasNonSingleBond() : OBAtom
• HasNonZeroCoords() : OBMol
• HasPartialChargesPerceived() : OBMol
• HasResidue() : OBAtom
• HasRingAtomsAndBondsPerceived() : OBMol
• HasRingTypesPerceived() : OBMol
• HasSingleBond() : OBAtom
• HasSpinMultiplicityAssigned() : OBMol
• HasSSSRPerceived() : OBMol
-h- 1274
Open Babel: API Documentation
• HtoMethyl() : OBAtom
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•a
•b
•c
•d
•e
•f
•g
•h
•i
•j
•k
•l
•m
•n
-h- 1275
Open Babel: API Documentation
•o
•p
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
•~
-i-
• IdentifyEvalAtoms() : OBRotorList
• IdentifyPointGroup() : OBPointGroup
• IgnoreCalculation() : OBForceField
• IgnoreSymmetryRemoval() : OBRotorList
• ImplicitHydrogenCount() : OBAtom
• IncrementedFileName() : OBConversion
• IncrementImplicitValence() : OBAtom
• IncrementMod() : OBMol
• IndexToCoords() : OBFloatGrid
• Init() : OBSqrtTbl , OBSmartsPattern , OBChemTsfm , OBRotorList , OBGlobalDataBase , OBGrid ,
OBFloatGrid , OBScoreGrid
• Inject() : OBFloatGrid
• InsertAtom() : OBMol , OBResidue
• InsertBond() : OBAtom
• InstallStreamFilter() : OBConversion
• Interpolate() : OBFloatGrid
• InterpolateDerivatives() : OBFloatGrid
• inverse() : matrix3x3
• IsAcid() : OBChemTsfm
• IsAmide() : OBBond
• IsAmideNitrogen() : OBAtom
• IsAntiClockwise() : OBAtom
• IsApprox() : vector3
• IsAromatic() : OBAtom , OBBond , OBRing
• IsAromaticNOxide() : OBAtom
• IsAxial() : OBAtom
• IsBase() : OBChemTsfm
• IsCarbon() : OBAtom
• IsCarbonyl() : OBBond
• IsCarboxylOxygen() : OBAtom
• IsChiral() : OBAtom , OBMol
• IsClockwise() : OBAtom
• IsClosure() : OBBond
-i- 1276
Open Babel: API Documentation
• IsConnected() : OBAtom
• IsCorrectedForPH() : OBMol
• IsCutOffEnabled() : OBForceField
• isDiagonal() : matrix3x3
• IsDouble() : OBBond
• IsDoubleBondGeometry() : OBBond
• IsDown() : OBBond
• IsEmpty() : OBBitVec
• IsEster() : OBBond
• IsExpanded() : AliasData
• IsFirstInput() : OBConversion
• IsFixed() : OBFFConstraints
• IsFixedBond() : OBRotorList
• IsHash() : OBBond
• IsHbondAcceptor() : OBAtom
• IsHbondDonor() : OBAtom
• IsHbondDonorH() : OBAtom
• IsHetAtom() : OBResidue
• IsHeteroatom() : OBAtom
• IsHydrogen() : OBAtom
• IsIgnored() : OBFFConstraints
• IsInRing() : OBAtom , OBBond , OBRing
• IsInRingSize() : OBAtom
• IsInSameRing() : OBForceField
• IsKDouble() : OBBond
• IsKSingle() : OBBond
• IsKTriple() : OBBond
• IsLast() : OBConversion , XMLConversion
• IsLastFile() : OBConversion
• IsMember() : OBRing
• IsNegativeStereo() : OBAtom
• IsNitrogen() : OBAtom
• IsNitroOxygen() : OBAtom
• IsNonPolarHydrogen() : OBAtom
• IsNotCorH() : OBAtom
• IsOneFour() : OBAtom
• IsOneThree() : OBAtom
• IsOption() : OBConversion
• isOrthogonal() : matrix3x3
• IsOxygen() : OBAtom
• IsPhosphateOxygen() : OBAtom
• IsPhosphorus() : OBAtom
• IsPolarHydrogen() : OBAtom
• IsPositiveStereo() : OBAtom
• IsPrimaryAmide() : OBBond
• IsProtonRotor() : OBTorsion
• ispunctU() : OBDescriptor
• IsResidueType() : OBResidue
• IsReversible() : OBReaction
• IsRotor() : OBBond
• IsSecondaryAmide() : OBBond
-i- 1277
Open Babel: API Documentation
• IsSetupNeeded() : OBForceField
• IsSingle() : OBBond
• IsSulfateOxygen() : OBAtom
• IsSulfur() : OBAtom
• isSymmetric() : matrix3x3
• IsTriple() : OBBond
• Istype() : patty
• isUnitMatrix() : matrix3x3
• IsUp() : OBBond
• IsValid() : OBRotorRule , OBSmartsPattern , SpaceGroup
• IsWedge() : OBBond
• IsXFixed() : OBFFConstraints
• IsYFixed() : OBFFConstraints
• IsZFixed() : OBFFConstraints
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•a
-i- 1278
Open Babel: API Documentation
•b
•c
•d
•e
•f
•g
•h
•i
•j
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
•~
-p-
-p- 1279
Open Babel: API Documentation
• PrintPartialCharges() : OBForceField
• PrintTypes() : OBForceField
• PrintVector() : OBForceField
• PrintVelocities() : OBForceField
• PropagatePotentialAromatic() : OBAromaticTyper
• PushBack() : OBRingData
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•a
•b
•c
•d
•e
•f
•g
•h
•i
-p- 1280
Open Babel: API Documentation
•j
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
•~
-q-
• quad() : quad
• Quiet() : OBRotorRules
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
-q- 1281
Open Babel: API Documentation
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•a
•b
•c
•d
•e
•f
•g
•h
•i
•j
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
•~
-r-
• randomRotation() : matrix3x3
• RandomRotorSearch() : OBForceField
• RandomRotorSearchInitialize() : OBForceField
• RandomRotorSearchNextConformer() : OBForceField
• randomUnitVector() : vector3
• Read() : OBConversion , FptIndex , OBScoreGrid
• read_rules() : patty
• ReadChemObject() : OBFormat , OBMoleculeFormat , XMLMoleculeFormat
-r- 1282
Open Babel: API Documentation
• ReadChemObjectImpl() : OBMoleculeFormat
• reader() : XMLBaseFormat
• ReadFile() : OBConversion
• ReadIndex() : FastSearch
• ReadIndexFile() : FastSearch
• ReadMolecule() : OBFormat , XMLMoleculeFormat
• ReadNameIndex() : OBMoleculeFormat
• ReadStream() : XMLConversion
• ReadString() : OBConversion
• ReadStringFromFilter() : OBDescriptor
• ReadXML() : XMLConversion
• RegisterFormat() : OBFormat , OBConversion
• RegisterOptionParam() : OBConversion
• RegisterSpaceGroup() : SpaceGroup
• RegisterXMLFormat() : XMLConversion
• RemoveAtom() : OBResidue
• RemoveOption() : OBConversion
• RemoveRedundant() : OBRingSearch
• RemoveSymTorsionValues() : OBRotor
• RemoveSymVals() : OBRotorList
• RenumberAtoms() : OBMol
• ReportNumberConverted() : OBConversion
• ReserveAtoms() : OBMol
• Resize() : OBBitVec
• ResizeWords() : OBBitVec
• RestoreLocale() : OBLocale
• RestrictedMatch() : OBSmartsPattern
• RotAboutAxisByAngle() : matrix3x3
• Rotate() : OBMol
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
-r- 1283
Open Babel: API Documentation
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•a
•b
•c
•d
•e
•f
•g
•h
•i
•j
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
•~
-s-
• SaveUniqueRing() : OBRingSearch
• Seed() : OBRandom
• seekoff() : FilteringInputStreambuf
• seekpos() : FilteringInputStreambuf
• SelectRootAtoms() : OBAromaticTyper
• Separate() : OBMol
-s- 1284
Open Babel: API Documentation
• Set() : OBRotor , matrix3x3 , vector3 , OBBond
• SetAlias() : AliasData
• SetAngle() : OBTorsion , OBAngle
• SetAntiClockwiseStereo() : OBAtom
• SetAromatic() : OBAtom , OBBond
• SetAromaticCorrected() : OBMol
• SetAromaticPerceived() : OBMol
• SetAtom() : OBExternalBond
• SetAtom4Refs() : OBChiralData
• SetAtomicNum() : OBAtom
• SetAtomID() : OBResidue
• SetAtoms() : OBAngle
• SetAtomTypesPerceived() : OBMol
• SetAttribute() : OBGenericData
• SetAutomaticFormalCharge() : OBMol
• SetAutomaticPartialCharge() : OBMol
• SetAuxConv() : OBConversion
• SetBaseCoordinateSets() : OBRotamerList
• SetBegin() : OBBond
• SetBit() : OBFingerprint
• SetBitOff() : OBBitVec
• SetBitOn() : OBBitVec
• SetBO() : OBBond
• SetBond() : OBExternalBond , OBRotor
• SetBondOrder() : OBBond
• SetChain() : OBResidue
• SetChainNum() : OBResidue
• SetChainsPerceived() : OBMol
• SetChiral() : OBAtom
• SetChiralityPerceived() : OBMol
• SetClockwiseStereo() : OBAtom
• SetClosure() : OBBond
• SetClosureBondsPerceived() : OBMol
• SetCoeff() : OBNasaThermoData
• SetColumn() : matrix3x3
• SetComment() : OBReaction
• SetConformer() : OBMol
• SetConformers() : OBForceField , OBMol
• SetConstraints() : OBForceField
• SetCoordinates() : OBForceField , OBMol
• SetCoordPtr() : OBAtom
• SetCorrectedForPH() : OBMol
• SetCurrentCoordinates() : OBRotamerList
• SetData() : OBBase , OBCommentData , OBExternalBondData , OBSetData , OBRingData ,
OBUnitCell , OBConformerData , OBSymmetryData , OBTorsion , OBTorsionData , OBAngleData ,
OBSerialNums , OBVibrationData , OBRotationData , OBVectorData , OBMatrixData
• SetDelta() : OBRotorRule , OBRotor
• SetDihedralAtoms() : OBRotor
• SetDimension() : OBConformerData , OBMol
• SetDisplacements() : OBConformerData
• SetDown() : OBBond
-s- 1285
Open Babel: API Documentation
• SetEfficiency() : OBRateData
• SetElectrostaticCutOff() : OBForceField
• SetEnd() : OBBond
• SetEnergies() : OBConformerData , OBMol
• SetEnergy() : OBMol
• SetEnvironmentVariable() : OBGlobalDataBase
• SetEvalAtoms() : OBRotor , OBRotorList
• SetExpandedAtoms() : AliasData
• SetFactor() : OBFFConstraints
• SetFilename() : OBRotorRules
• SetFirstInput() : OBConversion
• SetFixAtom() : OBForceField
• SetFixAtoms() : OBRotorList
• SetFixedAtoms() : OBRotor
• SetFlag() : OBAtom , OBBond , OBMol
• SetFlags() : OBMol
• SetForces() : OBConformerData
• SetFormalCharge() : OBAtom
• SetFormalCharges() : OBForceField
• SetFormula() : OBMol
• SetFromType() : OBTypeTable
• SetGradient() : OBForceField
• SetGridType() : OBProxGrid
• SetHallName() : SpaceGroup
• SetHash() : OBBond
• SetHetAtom() : OBResidue
• SetHiT() : OBNasaThermoData
• SetHMName() : SpaceGroup
• SetHyb() : OBAtom
• SetHybAndGeom() : OBAtom
• SetHybridizationPerceived() : OBMol
• SetHydrogensAdded() : OBMol
• SetId() : SpaceGroup
• SetIdx() : OBAtom , OBBond , OBExternalBond , OBResidue , OBRotor
• SetIgnoreAtom() : OBForceField
• SetImplicitValence() : OBAtom
• SetImplicitValencePerceived() : OBMol
• SetInAndOutFormats() : OBConversion
• SetInFormat() : OBConversion
• SetInRing() : OBAtom , OBBond
• SetInStream() : OBConversion
• SetInternalCoord() : OBMol
• SetIsotope() : OBAtom
• SetKDouble() : OBBond
• SetKekulePerceived() : OBMol
• SetKSingle() : OBBond
• SetKTriple() : OBBond
• SetLast() : OBConversion
• SetLatticeType() : OBUnitCell
• SetLength() : OBBond
• SetLimits() : OBFloatGrid , OBGridData
-s- 1286
Open Babel: API Documentation
• SetLineSearchType() : OBForceField
• SetLocale() : OBLocale
• SetLogFile() : OBForceField
• SetLogLevel() : OBForceField
• SetLoRate() : OBRateData
• SetLoT() : OBNasaThermoData
• SetMaxLogEntries() : OBMessageHandler
• SetMidT() : OBNasaThermoData
• SetMoreFilesToCome() : OBConversion
• SetName() : OBResidue
• SetNegativeStereo() : OBAtom
• SetNum() : OBResidue
• SetNumberOfPoints() : OBFloatGrid , OBGridData
• SetNumCoords() : OBRotor
• SetNumSymmetries() : OBGridData
• SetOffset() : OBUnitCell
• SetOneObjectOnly() : OBConversion
• SetOptions() : OBConversion
• SetOrigin() : OBGenericData
• SetOutFormat() : OBConversion
• SetOutputIndex() : OBConversion
• SetOutputLevel() : OBMessageHandler
• SetOutputStream() : OBMessageHandler
• SetOutStream() : OBConversion
• SetParameterFile() : OBForceField
• SetParent() : OBAtom , OBBond , OBRing
• SetPartialCharge() : OBAtom
• SetPartialCharges() : OBForceField
• SetPartialChargesPerceived() : OBMol
• SetPhase() : OBNasaThermoData
• SetPointGroup() : OBSymmetryData
• SetPositiveStereo() : OBAtom
• SetQuiet() : OBRotorList
• SetRangeOff() : OBBitVec
• SetRangeOn() : OBBitVec
• SetRate() : OBRateData
• SetReadDirectory() : OBGlobalDataBase
• SetResidue() : OBAtom
• SetResName() : OBResidueData
• SetReversible() : OBReaction
• SetRingAtomsAndBondsPerceived() : OBMol
• SetRingTypesPerceived() : OBMol
• SetRotAtoms() : OBRotor , OBRotorList
• SetRotAtomsByFix() : OBRotorList
• SetRotor() : OBRotor
• SetRow() : matrix3x3
• SetSerialNum() : OBResidue
• SetSource() : FilteringInputStreambuf
• SetSpaceGroup() : OBUnitCell , OBSymmetryData
• SetSpinMultiplicity() : OBAtom
• SetSpinMultiplicityAssigned() : OBMol
-s- 1287
Open Babel: API Documentation
• SetSSSRPerceived() : OBMol
• SetStartAndEnd() : OBConversion
• SetTitle() : OBMol , OBReaction , OBMol
• SetToAngle() : OBRotor
• SetTorsion() : OBMol
• SetTorsionValues() : OBRotor
• SetTotalCharge() : OBMol
• SetTotalSpinMultiplicity() : OBMol
• SetToType() : OBTypeTable
• SetTransitionState() : OBReaction
• SetTroeParams() : OBRateData
• SetType() : OBAtom , OBRing , OBAtom , OBScoreGrid , OBRing
• SetTypes() : OBForceField
• SetUnit() : OBGridData
• SetUnrestricted() : OBGridData
• Setup() : OBScoreGrid , OBRotorList , OBRotamerList , OBScoreGrid , OBProxGrid ,
OBFFConstraints , OBForceField , OBProxGrid , OBPointGroup , OBRotamerList
• SetUp() : OBBond
• SetupCalculations() : OBForceField
• SetUpdateFrequency() : OBForceField
• SetupPointers() : OBFFCalculation4 , OBFFCalculation2 , OBFFCalculation3 , OBForceField
• SetupReader() : XMLConversion
• SetupRotMat() : matrix3x3
• SetupWriter() : XMLConversion
• SetVals() : OBFloatGrid
• SetValue() : OBPairData , OBPairTemplate , OBFloatGrid , OBPairData , OBGridData
• SetValues() : GasteigerState , OBGridData
• SetVDWCutOff() : OBForceField
• SetVector() : OBAtom
• SetVelocities() : OBConformerData
• SetVerbose() : OBScoreGrid
• SetWedge() : OBBond
• SetX() : vector3
• SetXAxis() : OBFloatGrid
• SetY() : vector3
• SetYAxis() : OBFloatGrid
• SetZ() : vector3
• SetZAxis() : OBFloatGrid
• size() : OBAtomClassData
• Size() : OBRotorList , OBFFConstraints , OBRing , OBRotor
• SkipObjects() : OBFormat , XMLBaseFormat
• SkipXML() : XMLConversion
• Sleep() : DLHandler
• SmallestBondAngle() : OBAtom
• SortByIndex() : OBAngle
• SortRings() : OBRingSearch
• SpaceGroup() : SpaceGroup
• SpecificationURL() : OBFormat
• Sqrt() : OBSqrtTbl
• Start() : OBStopwatch
• start_kekulize() : OBMol
-s- 1288
Open Babel: API Documentation
• StartErrorWrap() : OBMessageHandler
• StartLogging() : OBMessageHandler
• SteepestDescent() : OBForceField
• SteepestDescentInitialize() : OBForceField
• SteepestDescentTakeNSteps() : OBForceField
• StopErrorWrap() : OBMessageHandler
• StopLogging() : OBMessageHandler
• StripSalts() : OBMol
• Swap() : OBBuilder
• sync() : FilteringInputStreambuf , obLogBuf
• SystematicRotorSearch() : OBForceField
• SystematicRotorSearchInitialize() : OBForceField
• SystematicRotorSearchNextConformer() : OBForceField
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•a
•b
-s- 1289
Open Babel: API Documentation
•c
•d
•e
•f
•g
•h
•i
•j
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
•~
-t-
• Tanimoto() : OBFingerprint
• TargetClassDescription() : OBFormat
• ThrowError() : OBMessageHandler
• TimeSeed() : OBRandom
• ToInertialFrame() : OBMol
• ToVecInt() : OBBitVec
• Transform() : SpaceGroup
• transform3d() : transform3d
• Translate() : OBTypeTable , OBMol
• transpose() : matrix3x3
• TraverseCycle() : OBAromaticTyper
• triple() : triple
• type_to_int() : patty
• TypeID() : OBOp , OBFormat , OBDescriptor , OBForceField
-t- 1290
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•a
•b
•c
•d
•e
•f
•g
•h
•i
•j
•k
•l
•m
•n
•o
•p
-t- 1291
Open Babel: API Documentation
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
•~
-u-
• underflow() : FilteringInputStreambuf
• UnsetAromatic() : OBAtom , OBBond
• UnsetAromaticPerceived() : OBMol
• UnsetDown() : OBBond
• UnsetFixAtom() : OBForceField
• UnsetFlag() : OBMol , OBBond
• UnsetHash() : OBBond
• UnsetHydrogensAdded() : OBMol
• UnsetIgnoreAtom() : OBForceField
• UnsetImplicitValencePerceived() : OBMol
• UnsetKekule() : OBBond
• UnsetPartialChargesPerceived() : OBMol
• UnsetRingTypesPerceived() : OBMol
• UnsetSSSRPerceived() : OBMol
• UnsetStereo() : OBAtom
• UnsetUp() : OBBond
• UnsetWedge() : OBBond
• UpdateConformers() : OBForceField
• UpdateCoordinates() : OBForceField
• UpdatePairsSimple() : OBForceField
This file is part of the documentation for Open Babel, version 2.2.0.
-u- 1292
Open Babel: API Documentation
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•a
•b
•c
•d
•e
•f
•g
•h
•i
•j
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
•~
-u- 1293
Open Babel: API Documentation
-v-
• Validate() : OBForceField
• ValidateConjugateGradients() : OBForceField
• ValidateGradientError() : OBForceField
• ValidateGradients() : OBForceField
• ValidateLineSearch() : OBForceField
• ValidateSteepestDescent() : OBForceField
• vector3() : vector3
• VectorAdd() : OBForceField
• VectorAngle() : OBForceField
• VectorAngleDerivative() : OBForceField
• VectorBondDerivative() : OBForceField
• VectorClear() : OBForceField
• VectorCopy() : OBForceField
• VectorCross() : OBForceField
• VectorDistance() : OBForceField
• VectorDistanceDerivative() : OBForceField
• VectorDivide() : OBForceField
• VectorDot() : OBForceField
• VectorLength() : OBForceField
• VectorLengthDerivative() : OBForceField
• VectorMultiply() : OBForceField
• VectorNormalize() : OBForceField
• VectorOOP() : OBForceField
• VectorOOPDerivative() : OBForceField
• VectorSelfMultiply() : OBForceField
• VectorSubtract() : OBForceField
• VectorTorsion() : OBForceField
• VectorTorsionDerivative() : OBForceField
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
-v- 1294
Open Babel: API Documentation
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•a
•b
•c
•d
•e
•f
•g
•h
•i
•j
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
•~
-v- 1295
Open Babel: API Documentation
-w-
• WeightedRotorSearch() : OBForceField
• WorksWith() : OBOp , OpTransform
• Write() : OBScoreGrid , OBConversion
• WriteChemObject() : XMLMoleculeFormat , OBFormat , OBMoleculeFormat
• WriteChemObjectImpl() : OBMoleculeFormat
• WriteFile() : OBConversion
• WriteMapList() : OBSmartsPattern
• WriteMolecule() : OBFormat
• writer() : XMLBaseFormat
• WriteRings() : OBRingSearch
• WriteStream() : XMLConversion
• WriteString() : OBConversion
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
-w- 1296
Open Babel: API Documentation
•a
•b
•c
•d
•e
•f
•g
•h
•i
•j
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
•~
-x-
This file is part of the documentation for Open Babel, version 2.2.0.
-x- 1297
Open Babel: API Documentation
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•a
•b
•c
•d
•e
•f
•g
•h
•i
•j
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•x
•y
•z
•~
-x- 1298
Open Babel: API Documentation
-y-
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
• OBAngleData : OBAngle
• OBAtom : OBChiralData
• OBMol : OBTorsionData , OBAngle , OBTorsion , OBAngleData , OBChiralData
• OBTorsionData : OBTorsion
• operator & : OBBitVec
• operator* : matrix3x3
• operator- : OBBitVec
• operator< : OBBitVec
• operator<< : matrix3x3 , OBError , OBFloatGrid , OBBitVec
-y- 1299
Open Babel: API Documentation
• operator== : OBBitVec
• operator>> : OBFloatGrid , OBBitVec
• operator^ : OBBitVec
• operator| : OBBitVec
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
-y- 1300
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•l
•m
-y- 1301
Open Babel: API Documentation
•n
•o
•p
•q
•r
•s
•t
•v
•w
-_-
-_- 1302
Open Babel: API Documentation
• _embedlevel : XMLBaseFormat
• _end : OBBond , OBVirtualBond
• _energies : OBForceField
• _energy : OBMol
• _envvar : OBGlobalDataBase
• _errorMsg : OBError
• _expandedatoms : AliasData
• _explanation : OBError
• _fcharge : OBAtom
• _filename : OBGlobalDataBase
• _filterStreamBuf : OBMessageHandler
• _fixAtom : OBForceField
• _flags : OBAtom , OBBond , OBMol
• _gamma : OBUnitCell
• _grad1 : OBForceField
• _gradientPtr : OBForceField
• _gridtype : OBProxGrid
• _growbond : OBSmartsPattern
• _halfSpace : OBFloatGrid
• _hetatm : OBResidue
• _hyb : OBAtom
• _id : OBPlugin
• _idx : OBAtom , OBBond , OBResidue
• _ignoreAtom : OBForceField
• _impval : OBAtom
• _inc : OBProxGrid
• _init : OBGlobalDataBase , OBForceField
• _interGroup : OBForceField
• _interGroups : OBForceField
• _internals : OBMol
• _intraGroup : OBForceField
• _inv_spa : OBFloatGrid
• _inWrapStreamBuf : OBMessageHandler
• _ipar : OBFFParameter
• _isotope : OBAtom
• _ival : OBFloatGrid
• _lattice : OBUnitCell
• _level : OBError
• _linesearch : OBForceField
• _logbuf : OBForceField
• _logging : OBMessageHandler
• _loglvl : OBForceField
• _logos : OBForceField
• _map : OBAtomClassData , OBSSMatch
• _matrix : OBMatrixData
• _maxEntries : OBMessageHandler
• _maxinc : OBProxGrid
• _messageCount : OBMessageHandler
• _messageList : OBMessageHandler
• _method : OBError
• _midx : OBFloatGrid
-_- 1303
Open Babel: API Documentation
• _midy : OBFloatGrid
• _midz : OBFloatGrid
• _mlist : OBSmartsPattern
• _mod : OBMol
• _mol : OBForceField , OBSSMatch
• _natoms : OBMol
• _nbonds : OBMol
• _ncoords : OBForceField
• _nsteps : OBForceField
• _nxinc : OBProxGrid
• _nyinc : OBProxGrid
• _nzinc : OBProxGrid
• _offset : OBUnitCell
• _ord : OBVirtualBond
• _order : OBBond
• _origLogLevel : OBForceField
• _outputLevel : OBMessageHandler
• _outputStream : OBMessageHandler
• _pairfreq : OBForceField
• _parent : OBAtom , OBBond
• _parFile : OBForceField
• _pat : OBSmartsPattern , OBSSMatch
• _path : OBRing
• _pathset : OBRing
• _pcharge : OBAtom
• _pmol : XMLMoleculeFormat
• _pointGroup : OBSymmetryData
• _possibleCause : OBError
• _prefix : XMLBaseFormat
• _pxmlConv : XMLBaseFormat
• _radians : OBAngle
• _rele : OBForceField
• _residue : OBAtom , OBMol
• _reskey : OBResidue
• _resname : OBResidue
• _resnum : OBResidue
• _rvdw : OBForceField
• _serialMap : OBSerialNums
• _sernum : OBResidue
• _SkipNextRead : XMLConversion
• _source : OBGenericData
• _spaceGroup : OBUnitCell , OBSymmetryData
• _spaceGroupName : OBUnitCell
• _spacing : OBFloatGrid
• _spinmultiplicity : OBAtom
• _stereo : OBVirtualBond
• _str : OBSmartsPattern
• _subdir : OBGlobalDataBase
• _suggestedRemedy : OBError
• _temp : OBForceField
• _termini : OBAngle
-_- 1304
Open Babel: API Documentation
• _timestep : OBForceField
• _title : OBMol
• _tor : OBInternalCoord
• _torsions : OBTorsionData
• _totalCharge : OBMol
• _totalSpin : OBMol
• _type : OBGenericData , OBAtom
• _uatoms : OBSSMatch
• _v : OBAtom
• _v1 : OBUnitCell
• _v2 : OBUnitCell
• _v3 : OBUnitCell
• _validSetup : OBForceField
• _value : OBPairData , OBPairTemplate
• _values : OBFloatGrid
• _vatom : OBMol
• _vbond : OBAtom , OBMol
• _vconf : OBMol
• _vdata : OBSetData
• _vData : OBConformerData
• _vdata : OBBase
• _vDimension : OBConformerData
• _vDisplace : OBConformerData
• _vdwpairs : OBForceField
• _vec : OBVectorData
• _velocityPtr : OBForceField
• _vEnergies : OBConformerData
• _vertex : OBAngle
• _vexbnd : OBExternalBondData
• _vForces : OBConformerData
• _vFrequencies : OBVibrationData
• _vIntensities : OBVibrationData
• _vLx : OBVibrationData
• _vr : OBRingData
• _vVelocity : OBConformerData
• _xAxis : OBFloatGrid
• _xdim : OBFloatGrid
• _xmax : OBGrid
• _xmin : OBGrid
• _yAxis : OBFloatGrid
• _ydim : OBFloatGrid
• _ymax : OBGrid
• _ymin : OBGrid
• _zAxis : OBFloatGrid
• _zdim : OBFloatGrid
• _zmax : OBGrid
• _zmin : OBGrid
-_- 1305
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•l
•m
•n
•o
•p
•q
-_- 1306
Open Babel: API Documentation
•r
•s
•t
•v
•w
-l-
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
-l- 1307
Open Babel: API Documentation
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•l
•m
•n
•o
•p
•q
•r
•s
•t
•v
•w
-m-
• m_IsFirstInput : OBConversion
• m_IsLast : OBConversion
• MidT : OBNasaThermoData
• mon : _AtomExpr , _BondExpr
• MoreFilesToCome : OBConversion
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
-m- 1308
Open Babel: API Documentation
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•l
•m
•n
•o
•p
•q
•r
•s
•t
•v
•w
-n-
• NeedToFreeInStream : OBConversion
• NeedToFreeOutStream : OBConversion
• nEntries : FptIndexHeader
• nsdecl : XMLBaseFormat
-n- 1309
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•l
•m
•n
•o
•p
•q
-n- 1310
Open Babel: API Documentation
•r
•s
•t
•v
•w
-o-
• OneObjectOnly : OBConversion
• OptionsArray : OBConversion
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•_
•a
-o- 1311
Open Babel: API Documentation
•b
•c
•d
•e
•f
•g
•h
•i
•l
•m
•n
•o
•p
•q
•r
•s
•t
•v
•w
-a-
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
-a- 1312
Open Babel: API Documentation
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•l
•m
•n
•o
•p
•q
•r
•s
•t
•v
•w
-b-
-b- 1313
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•l
•m
•n
•o
•p
•q
-b- 1314
Open Babel: API Documentation
•r
•s
•t
•v
•w
-c-
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
-c- 1315
Open Babel: API Documentation
• Enumerations
• Enumerator
• Related Functions
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•l
•m
•n
•o
•p
•q
•r
•s
•t
•v
•w
-d-
This file is part of the documentation for Open Babel, version 2.2.0.
-d- 1316
Open Babel: API Documentation
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•l
•m
•n
•o
•p
•q
•r
•s
•t
•v
•w
-e-
• Efficiencies : OBRateData
• EndNumber : OBConversion
• energy : OBFFCalculation2
• expr : BondSpec , AtomSpec
-e- 1317
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•l
•m
•n
•o
•p
•q
-e- 1318
Open Babel: API Documentation
•r
•s
•t
•v
•w
-f-
• factor : OBFFConstraint
• first : triple , quad
• force_a : OBFFCalculation2
• force_b : OBFFCalculation2
• force_c : OBFFCalculation3
• force_d : OBFFCalculation4
• FormatFilesLoaded : OBConversion
• fourth : quad
• fpid : FptIndexHeader
• fptdata : FptIndex
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
-f- 1319
Open Babel: API Documentation
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•l
•m
•n
•o
•p
•q
•r
•s
•t
•v
•w
-g-
• grada : OBFFConstraint
• gradb : OBFFConstraint
• gradc : OBFFConstraint
• gradd : OBFFConstraint
• gridtype : OBScoreGrid
• grow : BondSpec
This file is part of the documentation for Open Babel, version 2.2.0.
-g- 1320
Open Babel: API Documentation
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•l
•m
•n
•o
•p
•q
•r
•s
•t
•v
•w
-g- 1321
Open Babel: API Documentation
-h-
• hasExplicitH : Pattern
• header : FptIndex
• headerlength : FptIndexHeader
• hi : DoubleType
• HiT : OBNasaThermoData
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•_
•a
•b
•c
•d
•e
•f
-h- 1322
Open Babel: API Documentation
•g
•h
•i
•l
•m
•n
•o
•p
•q
•r
•s
•t
•v
•w
-i-
• ia : OBFFConstraint
• ib : OBFFConstraint
• ic : OBFFConstraint
• id : OBFFConstraint
• idx_a : OBFFCalculation2
• idx_b : OBFFCalculation2
• idx_c : OBFFCalculation3
• idx_d : OBFFCalculation4
• ind : XMLBaseFormat
• Index : OBConversion
• InFilename : OBConversion
• ischiral : Pattern
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
-i- 1323
Open Babel: API Documentation
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•l
•m
•n
•o
•p
•q
•r
•s
•t
•v
•w
-p-
• parity : OBChiralData
• part : AtomSpec
• parts : Pattern
• pAuxConv : OBConversion
• pDefaultFormat : OBConversion
• phase : OBNasaThermoData
• pInFormat : OBConversion
• pInStream : OBConversion
-p- 1324
Open Babel: API Documentation
• pLineEndBuf : OBConversion
• pOb1 : OBConversion
• pos_a : OBFFCalculation2
• pos_b : OBFFCalculation2
• pos_c : OBFFCalculation3
• pos_d : OBFFCalculation4
• pOutFormat : OBConversion
• pOutStream : OBConversion
• prop : _AtomExpr , _BondExpr
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•_
•a
•b
•c
•d
•e
-p- 1325
Open Babel: API Documentation
•f
•g
•h
•i
•l
•m
•n
•o
•p
•q
•r
•s
•t
•v
•w
-q-
• q : GasteigerState
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
-q- 1326
Open Babel: API Documentation
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•l
•m
•n
•o
•p
•q
•r
•s
•t
•v
•w
-r-
• rab0 : OBFFConstraint
• Rates : OBRateData
• rbc0 : OBFFConstraint
• ReactionType : OBRateData
• ReadyToInput : OBConversion
• recur : _AtomExpr
• rgt : _BondExpr , _AtomExpr
• rInlen : OBConversion
• rInpos : OBConversion
• RotConsts : OBRotationData
-r- 1327
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•l
•m
•n
•o
•p
•q
•r
•s
•t
•v
•w
-r- 1328
Open Babel: API Documentation
-s-
• score : OBScoreGrid
• second : triple , quad
• seekdata : FptIndex
• src : BondSpec
• StartNumber : OBConversion
• SupportedInputFormat : OBConversion
• SupportedOutputFormat : OBConversion
• SymNum : OBRotationData
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•_
•a
•b
•c
-s- 1329
Open Babel: API Documentation
•d
•e
•f
•g
•h
•i
•l
•m
•n
•o
•p
•q
•r
•s
•t
•v
•w
-t-
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
-t- 1330
Open Babel: API Documentation
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•l
•m
•n
•o
•p
•q
•r
•s
•t
•v
•w
-v-
-v- 1331
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• Related Functions
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•l
•m
•n
•o
•p
•q
•r
•s
•t
•v
•w
-v- 1332
Open Babel: API Documentation
-w-
• wInlen : OBConversion
• wInpos : OBConversion
• words : FptIndexHeader
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
-w- 1333
generic.cpp File Reference
Handle OBGenericData classes. Custom data for atoms, bonds, etc. More...
#include <openbabel/babelconfig.h>
#include <string>
#include <openbabel/mol.h>
#include <openbabel/generic.h>
#include <openbabel/math/matrix3x3.h>
#include <openbabel/atomclass.h>
#include <openbabel/alias.h>
Namespaces
namespace OpenBabel
Detailed Description
Handle OBGenericData classes. Custom data for atoms, bonds, etc.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
00001 /**********************************************************************
00002 generic.h - Handle generic data classes. Custom data for atoms, bonds, etc.
00003
00004 Copyright (C) 1998-2001 by OpenEye Scientific Software, Inc.
00005 Some portions Copyright (C) 2001-2006 by Geoffrey R. Hutchison
00006
00007 This file is part of the Open Babel project.
00008 For more information, see <http://openbabel.sourceforge.net/>
00009
00010 This program is free software; you can redistribute it and/or modify
00011 it under the terms of the GNU General Public License as published by
00012 the Free Software Foundation version 2 of the License.
00013
00014 This program is distributed in the hope that it will be useful,
00015 but WITHOUT ANY WARRANTY; without even the implied warranty of
00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00017 GNU General Public License for more details.
00018 ***********************************************************************/
00019
00020 #ifndef OB_GENERIC_H
00021 #define OB_GENERIC_H
00022
00023 #include <openbabel/babelconfig.h>
00024
00025 #include <string>
00026 #include <vector>
00027 #include <map>
00028
00029 #include <openbabel/math/spacegroup.h>
00030 #include <openbabel/obutil.h>
00031 #include <openbabel/base.h>
00032
00033 namespace OpenBabel
00034 {
00035
00036 // Forward declarations
00037 class OBBase;
00038 class OBAtom;
00039 class OBBond;
00040 class OBMol;
00041 class OBRing;
00042
00045 class OBAPI OBCommentData : public OBGenericData
00046 {
00047 protected:
00048 std::string _data;
00049 public:
00050 OBCommentData();
00051 OBCommentData(const OBCommentData&);
00052 virtual OBGenericData* Clone(OBBase* /*parent*/) const{return new OBCommentData(*this)
00053
00054 OBCommentData& operator=(const OBCommentData &src);
00055
00056 void SetData(const std::string &data)
00057 { _data = data; Trim(_data); }
generic.h 1335
Open Babel: API Documentation
00058 void SetData(const char *d)
00059 {_data = d; Trim(_data); }
00060 const std::string &GetData() const
00061 { return(_data); }
00062 virtual const std::string &GetValue() const
00063 { return(_data); }
00064 };
00065
00069 class OBAPI OBExternalBond
00070 {
00071 int _idx;
00072 OBAtom *_atom;
00073 OBBond *_bond;
00074 public:
00075 OBExternalBond(): _idx(0), _atom(NULL), _bond(NULL) {}
00076 OBExternalBond(OBAtom *,OBBond *,int);
00077 OBExternalBond(const OBExternalBond &);
00078 ~OBExternalBond() {}
00079
00080 int GetIdx() const { return(_idx); }
00081 OBAtom *GetAtom() const { return(_atom); }
00082 OBBond *GetBond() const { return(_bond); }
00083 void SetIdx(int idx) { _idx = idx; }
00084 void SetAtom(OBAtom *atom) { _atom = atom; }
00085 void SetBond(OBBond *bond) { _bond = bond; }
00086 };
00087
00090 class OBAPI OBExternalBondData : public OBGenericData
00091 {
00092 protected:
00093 std::vector<OBExternalBond> _vexbnd;
00094 public:
00095 OBExternalBondData();
00096
00097 //Copying is not used and too much work to set up
00098 virtual OBGenericData* Clone(OBBase* /*parent*/) const{return NULL;}
00099
00100 void SetData(OBAtom*,OBBond*,int);
00101 std::vector<OBExternalBond> *GetData()
00102 {
00103 return(&_vexbnd);
00104 }
00105 };
00106
00112 class OBAPI OBPairData : public OBGenericData
00113 {
00114 protected:
00115 std::string _value;
00116 public:
00117 OBPairData();
00118 virtual OBGenericData* Clone(OBBase* /*parent*/) const
00119 {return new OBPairData(*this);}
00120 void SetValue(const char *v) { _value = v; }
00121 void SetValue(const std::string &v) { _value = v; }
00122 virtual const std::string &GetValue() const
00123 { return(_value); }
00124 };
00125
00128 // More detailed description in generic.cpp
00129 template <class ValueT>
00130 class OBAPI OBPairTemplate : public OBGenericData
generic.h 1336
Open Babel: API Documentation
00131 {
00132 protected:
00133 ValueT _value;
00134 public:
00135 OBPairTemplate():
00136 OBGenericData("PairData", OBGenericDataType::PairData) {};
00137 void SetValue(const ValueT t) { _value = t; }
00138 virtual const ValueT &GetGenericValue() const { return(_value); }
00139 };
00140
00142 typedef OBPairTemplate<int> OBPairInteger;
00144 typedef OBPairTemplate<double> OBPairFloatingPoint;
00145
00149 class OBAPI OBSetData : public OBGenericData
00150 {
00151 protected:
00152 std::vector<OBGenericData *> _vdata;
00153 public:
00154 OBSetData() : OBGenericData("SetData", OBGenericDataType::SetData) {}
00155 virtual OBGenericData* Clone(OBBase* /*parent*/) const{return new OBSetData(*this);}
00156
00158 void AddData(OBGenericData *d)
00159 {
00160 if(d)
00161 {
00162 _vdata.push_back(d);
00163 }
00164 }
00165
00167 void SetData(std::vector<OBGenericData *> &vdata)
00168 {
00169 _vdata = vdata;
00170 }
00171
00173 OBGenericData *GetData(const char *s)
00174 {
00175 std::vector<OBGenericData*>::iterator i;
00176
00177 for (i = _vdata.begin();i != _vdata.end();++i)
00178 if ((*i)->GetAttribute() == s)
00179 return(*i);
00180
00181 return(NULL);
00182 }
00183
00185 OBGenericData *GetData(const std::string &s)
00186 {
00187 std::vector<OBGenericData*>::iterator i;
00188
00189 for (i = _vdata.begin();i != _vdata.end();++i)
00190 if ((*i)->GetAttribute() == s)
00191 return(*i);
00192
00193 return(NULL);
00194 }
00195
00197 virtual const std::vector<OBGenericData *> &GetData() const //now virtual and const
00198 {
00199 return(_vdata);
00200 }
00201
generic.h 1337
Open Babel: API Documentation
00203 std::vector<OBGenericData*>::iterator GetBegin()
00204 {
00205 return _vdata.begin();
00206 }
00207
00209 std::vector<OBGenericData*>::iterator GetEnd()
00210 {
00211 return _vdata.end();
00212 }
00213
00215 void DeleteData(OBGenericData *gd)
00216 {
00217 std::vector<OBGenericData*>::iterator i;
00218 for (i = _vdata.begin();i != _vdata.end();++i)
00219 if (*i == gd)
00220 {
00221 delete *i;
00222 _vdata.erase(i);
00223 }
00224 }
00225
00226 }; // OBSetData
00227
00231 class OBAPI OBVirtualBond : public OBGenericData
00232 {
00233 protected:
00234 int _bgn;
00235 int _end;
00236 int _ord;
00237 int _stereo;
00238 public:
00239 OBVirtualBond();
00240 virtual OBGenericData* Clone(OBBase* /*parent*/) const{return new OBVirtualBond(*this)
00241 OBVirtualBond(int,int,int,int stereo=0);
00242 int GetBgn() { return(_bgn); }
00243 int GetEnd() { return(_end); }
00244 int GetOrder() { return(_ord); }
00245 int GetStereo() { return(_stereo); }
00246 };
00247
00250 class OBAPI OBRingData : public OBGenericData
00251 {
00252 protected:
00253 std::vector<OBRing*> _vr;
00254 public:
00255 OBRingData();
00256 OBRingData(const OBRingData &);
00257 virtual OBGenericData* Clone(OBBase* /*parent*/) const{return new OBRingData(*this);}
00258 ~OBRingData();
00259
00260 OBRingData &operator=(const OBRingData &);
00261
00262 void SetData(std::vector<OBRing*> &vr)
00263 {
00264 _vr = vr;
00265 }
00266 void PushBack(OBRing *r)
00267 {
00268 _vr.push_back(r);
00269 }
00270 std::vector<OBRing*> &GetData()
generic.h 1338
Open Babel: API Documentation
00271 {
00272 return(_vr);
00273 }
00274
00275 std::vector<OBRing*>::iterator BeginRings()
00276 { return(_vr.begin()); }
00277 std::vector<OBRing*>::iterator EndRings()
00278 { return(_vr.end()); }
00279 OBRing *BeginRing(std::vector<OBRing*>::iterator &i);
00280 OBRing *NextRing(std::vector<OBRing*>::iterator &i);
00281 };
00282
00287 class OBAPI OBUnitCell: public OBGenericData
00288 {
00289 public:
00290 enum LatticeType { Undefined,
00291 Triclinic,
00292 Monoclinic,
00293 Orthorhombic,
00294 Tetragonal,
00295 Rhombohedral ,
00296 Hexagonal,
00297 Cubic};
00298
00299
00300 protected:
00301 double _a, _b, _c, _alpha, _beta, _gamma;
00302 vector3 _offset;
00303 vector3 _v1, _v2, _v3;
00304 std::string _spaceGroupName;
00305 const SpaceGroup* _spaceGroup;
00306 LatticeType _lattice;
00307 public:
00309 OBUnitCell();
00310 OBUnitCell(const OBUnitCell &);
00311 virtual OBGenericData* Clone(OBBase* /*parent*/) const
00312 {return new OBUnitCell(*this);}
00313 ~OBUnitCell() {}
00314
00315 OBUnitCell &operator=(const OBUnitCell &);
00316
00326 void SetData(const double a, const double b, const double c,
00327 const double alpha, const double beta, const double gamma)
00328 { _a = a; _b = b; _c = c;
00329 _alpha = alpha; _beta = beta; _gamma = gamma; }
00330 void SetData(const vector3 v1, const vector3 v2, const vector3 v3);
00331
00333 void SetOffset(const vector3 v1) { _offset = v1; }
00334
00337 void SetSpaceGroup(const SpaceGroup* sg) { _spaceGroup = sg; }
00338
00342 void SetSpaceGroup(const std::string sg) { _spaceGroup = SpaceGroup::GetSpaceGroup (s
00343 _spaceGroupName = sg; }
00344
00350 void SetSpaceGroup(const int sg) { _spaceGroup = SpaceGroup::GetSpaceGroup (sg); }
00351
00353 void SetLatticeType(const LatticeType lt) { _lattice = lt; }
00354
00357 void FillUnitCell(OBMol *);
00358
00360 double GetA() { return(_a); }
generic.h 1339
Open Babel: API Documentation
00362 double GetB() { return(_b); }
00364 double GetC() { return(_c); }
00366 double GetAlpha(){ return(_alpha);}
00368 double GetBeta() { return(_beta); }
00370 double GetGamma(){ return(_gamma);}
00372 vector3 GetOffset() { return(_offset); }
00373
00375 const SpaceGroup* GetSpaceGroup() { return(_spaceGroup); }
00376
00378 const std::string GetSpaceGroupName() { return(_spaceGroupName); }
00379
00381 LatticeType GetLatticeType( int spacegroup );
00382
00384 LatticeType GetLatticeType();
00385
00387 std::vector<vector3> GetCellVectors();
00389 matrix3x3 GetCellMatrix();
00391 matrix3x3 GetOrthoMatrix();
00393 matrix3x3 GetFractionalMatrix();
00394
00396 int GetSpaceGroupNumber( std::string name = "" );
00398 double GetCellVolume();
00399 };
00400
00406 class OBAPI OBConformerData: public OBGenericData
00407 {
00408 protected:
00410 std::vector<unsigned short> _vDimension;
00412 std::vector<double> _vEnergies;
00414 std::vector< std::vector< vector3 > > _vForces;
00416 std::vector< std::vector< vector3 > > _vVelocity;
00418 std::vector< std::vector< vector3 > > _vDisplace;
00420 std::vector<std::string> _vData;
00421
00422 public:
00423 OBConformerData();
00424 OBConformerData(const OBConformerData &);
00425 virtual OBGenericData* Clone(OBBase* /*parent*/) const{return new OBConformerData(*thi
00426 ~OBConformerData() {}
00427
00428 OBConformerData &operator=(const OBConformerData &);
00429
00430 void SetDimension(std::vector<unsigned short> vd) { _vDimension = vd; }
00431 void SetEnergies(std::vector<double> ve) { _vEnergies = ve; }
00432 void SetForces(std::vector< std::vector< vector3 > > vf) {_vForces = vf;}
00433 void SetVelocities(std::vector< std::vector< vector3 > > vv)
00434 { _vVelocity = vv; }
00435 void SetDisplacements(std::vector< std::vector< vector3 > > vd)
00436 { _vDisplace = vd; }
00437 void SetData(std::vector<std::string> vdat) { _vData = vdat; }
00438
00439 std::vector<unsigned short> GetDimension() { return _vDimension; }
00440 std::vector<double> GetEnergies() { return _vEnergies; }
00441 std::vector< std::vector< vector3 > > GetForces() {return _vForces; }
00442 std::vector< std::vector< vector3 > > GetVelocities()
00443 {return _vVelocity;}
00444 std::vector< std::vector< vector3 > > GetDisplacements()
00445 {return _vDisplace;}
00446 std::vector<std::string> GetData() { return _vData; }
00447
00448 };
generic.h 1340
Open Babel: API Documentation
00449
00454 class OBAPI OBSymmetryData: public OBGenericData
00455 {
00456 protected:
00457 std::string _spaceGroup;
00458 std::string _pointGroup;
00459 public:
00460 OBSymmetryData();
00461 OBSymmetryData(const OBSymmetryData &);
00462 virtual OBGenericData* Clone(OBBase* /*parent*/) const{return new OBSymmetryData(*this
00463 ~OBSymmetryData() {}
00464
00465 OBSymmetryData &operator=(const OBSymmetryData &);
00466
00467 void SetData(std::string pg, std::string sg = "")
00468 { _pointGroup = pg; _spaceGroup = sg; }
00469 void SetPointGroup(std::string pg) { _pointGroup = pg; }
00470 void SetSpaceGroup(std::string sg) { _spaceGroup = sg; }
00471
00472 std::string GetPointGroup() { return _pointGroup; }
00473 std::string GetSpaceGroup() { return _spaceGroup; }
00474 };
00475
00479 class OBAPI OBTorsion
00480 {
00481 friend class OBMol;
00482 friend class OBTorsionData;
00483
00484 protected:
00485 std::pair<OBAtom*,OBAtom*> _bc;
00487 std::vector<triple<OBAtom*,OBAtom*,double> > _ads;
00488
00489 OBTorsion(): _bc(NULL, NULL) { }
00490 //protected for use only by friend classes
00491 OBTorsion(OBAtom *, OBAtom *, OBAtom *, OBAtom *);
00492
00493 std::vector<quad<OBAtom*,OBAtom*,OBAtom*,OBAtom*> > GetTorsions();
00494
00495 public:
00496 OBTorsion(const OBTorsion &);
00497 ~OBTorsion() {}
00498
00499 OBTorsion& operator=(const OBTorsion &);
00500
00501 void Clear();
00502 bool Empty() { return(_bc.first == 0 && _bc.second == 0); }
00503
00504 bool AddTorsion(OBAtom *a,OBAtom *b, OBAtom *c,OBAtom *d);
00505 bool AddTorsion(quad<OBAtom*,OBAtom*,OBAtom*,OBAtom*> &atoms);
00506
00507 bool SetAngle(double radians, unsigned int index = 0);
00508 bool SetData(OBBond * /*bond*/) { return false; }
00509
00510 bool GetAngle(double &radians, unsigned int index =0);
00513 unsigned int GetBondIdx();
00514 unsigned int GetSize() const { return _ads.size(); }
00515
00518 std::pair<OBAtom*,OBAtom*> GetBC()
00519 {
00520 return(_bc);
00521 }
generic.h 1341
Open Babel: API Documentation
00524 std::vector<triple<OBAtom*,OBAtom*,double> > GetADs()
00525 {
00526 return(_ads) ;
00527 }
00528
00529 bool IsProtonRotor();
00530 };
00531
00536 class OBAPI OBTorsionData : public OBGenericData
00537 {
00538 friend class OBMol;
00539
00540 protected:
00541 std::vector<OBTorsion> _torsions;
00542
00543 OBTorsionData();
00544 OBTorsionData(const OBTorsionData &);
00545
00546 public:
00547 OBTorsionData &operator=(const OBTorsionData &);
00548
00550 virtual OBGenericData* Clone(OBBase* /*parent*/) const
00551 {return new OBTorsionData(*this);}
00552
00553 void Clear();
00554
00557 std::vector<OBTorsion> GetData() const
00558 {
00559 return _torsions;
00560 }
00561
00564 unsigned int GetSize() const
00565 {
00566 return _torsions.size();
00567 }
00568
00569 void SetData(OBTorsion &torsion);
00570
00571 bool FillTorsionArray(std::vector<std::vector<unsigned int> > &torsions);
00572 };
00573
00576 class OBAPI OBAngle
00577 {
00578 friend class OBMol;
00579 friend class OBAngleData;
00580
00581 protected:
00582
00583 //member data
00584
00585 OBAtom *_vertex;
00586 std::pair<OBAtom*,OBAtom*> _termini;
00587 double _radians;
00588
00589 //protected member functions
00590
00591 OBAngle(); //protect constructor for use only by friend classes
00592 OBAngle(OBAtom *vertex,OBAtom *a,OBAtom *b);
00593
00594 triple<OBAtom*,OBAtom*,OBAtom*> GetAtoms();
00595 void SortByIndex();
generic.h 1342
Open Babel: API Documentation
00596
00597 public:
00598
00599 OBAngle(const OBAngle &);
00600 ~OBAngle()
00601 {
00602 _vertex = NULL;
00603 }
00604
00605 OBAngle &operator = (const OBAngle &);
00606 bool operator ==(const OBAngle &);
00607
00608 void Clear();
00609
00612 double GetAngle() const
00613 {
00614 return(_radians);
00615 }
00618 void SetAngle(double angle)
00619 {
00620 _radians = angle;
00621 }
00622 void SetAtoms(OBAtom *vertex,OBAtom *a,OBAtom *b);
00623 void SetAtoms(triple<OBAtom*,OBAtom*,OBAtom*> &atoms);
00624
00625 };
00626
00629 class OBAPI OBAngleData : public OBGenericData
00630 {
00631 friend class OBMol;
00632
00633 protected:
00634 std::vector<OBAngle> _angles;
00635
00636 OBAngleData();
00637 OBAngleData(const OBAngleData &);
00639
00640 std::vector<OBAngle> GetData() const
00641 {
00642 return(_angles);
00643 }
00644
00645 public:
00646 OBAngleData &operator =(const OBAngleData &);
00647 virtual OBGenericData* Clone(OBBase* /*parent*/) const
00648 {return new OBAngleData(*this);}
00649
00650 void Clear();
00651 unsigned int FillAngleArray(int **angles, unsigned int &size);
00652 bool FillAngleArray(std::vector<std::vector<unsigned int> > &angles);
00653
00654 void SetData(OBAngle &);
00657 unsigned int GetSize() const
00658 {
00659 return _angles.size();
00660 }
00661 };
00662
00663 enum atomreftype{
00664 output,
00665 input,
generic.h 1343
Open Babel: API Documentation
00666 calcvolume
00667 }; // sets which atom4ref is accessed by OBChiralData
00668
00671 class OBAPI OBChiralData : public OBGenericData
00672 {
00673 friend class OBMol;
00674 friend class OBAtom;
00675
00676 protected:
00677 std::vector<unsigned int> _atom4refs;
00678 std::vector<unsigned int> _atom4refo;
00679 std::vector<unsigned int> _atom4refc;
00680
00683 int parity;
00684
00685 public:
00686
00687 OBChiralData();
00688 OBChiralData(const OBChiralData &src);
00689 virtual OBGenericData* Clone(OBBase* /*parent*/) const
00690 { return new OBChiralData(*this); }
00691 OBChiralData &operator =(const OBChiralData &);
00692 ~OBChiralData(){}
00693
00694 void Clear();
00695
00697 std::vector<unsigned int> GetAtom4Refs(atomreftype t) const;
00699 unsigned int GetAtomRef(int a,atomreftype t);
00700
00701 bool SetAtom4Refs(std::vector<unsigned int> atom4refs, atomreftype t);
00702 int AddAtomRef(unsigned int atomref, atomreftype t);
00703
00705 unsigned int GetSize(atomreftype t) const;
00706 };
00707
00710 class OBSerialNums : public OBGenericData
00711 {
00712 protected:
00713 std::map<int, OBAtom*> _serialMap;
00714
00715 public:
00716
00717 OBSerialNums() :
00718 OBGenericData("obSerialNums", OBGenericDataType::SerialNums)
00719 {}
00720
00721 OBSerialNums(const OBSerialNums &cp) : OBGenericData(cp)
00722 {
00723 _serialMap = cp._serialMap;
00724 }
00727 virtual OBGenericData* Clone(OBBase* /*parent*/) const
00728 {return new OBSerialNums(*this);}
00729
00730 std::map<int,OBAtom*> &GetData() { return _serialMap; }
00731 void SetData(std::map<int,OBAtom*> &sm) { _serialMap = sm; }
00732
00733 };
00734
00737 class OBAPI OBVibrationData: public OBGenericData
00738 {
00739 protected:
generic.h 1344
Open Babel: API Documentation
00741 std::vector< std::vector< vector3 > > _vLx;
00742
00744 std::vector<double> _vFrequencies;
00745
00747 std::vector<double> _vIntensities;
00748
00749
00750 public:
00751 OBVibrationData(): OBGenericData("VibrationData", OBGenericDataType::VibrationData){}
00752 virtual ~OBVibrationData() {}
00753 virtual OBGenericData* Clone(OBBase*) const
00754 {return new OBVibrationData(*this);}
00755
00756 OBVibrationData & operator=(const OBVibrationData &);
00757
00758 void SetData(const std::vector< std::vector< vector3 > > &,
00759 const std::vector<double> &,
00760 const std::vector<double> &);
00761
00762 std::vector< std::vector< vector3 > > GetLx() const
00763 { return this->_vLx; }
00764 std::vector<double> GetFrequencies() const
00765 { return this->_vFrequencies; }
00766 std::vector<double> GetIntensities() const
00767 { return this->_vIntensities; }
00768
00769 unsigned int GetNumberOfFrequencies() const;
00770 };
00771
00774 class OBAPI OBRotationData: public OBGenericData
00775 {
00776 public:
00777 enum RType{UNKNOWN, ASYMMETRIC, SYMMETRIC, LINEAR};
00778 OBRotationData(): OBGenericData("RotationData", OBGenericDataType::RotationData){}
00779 virtual ~OBRotationData(){};
00780 virtual OBGenericData* Clone(OBBase*) const
00781 {return new OBRotationData(*this);}
00782 void SetData(RType RotorType, std::vector<double> RotationalConstants, int SymmetryNum
00783 {
00784 RotConsts = RotationalConstants;
00785 type = RotorType;
00786 SymNum = SymmetryNumber;
00787 }
00788
00790 std::vector<double> GetRotConsts()const{ return RotConsts; }
00791
00792 int GetSymmetryNumber()const{ return SymNum; }
00793 RType GetRotorType()const { return type; }
00794
00795 protected:
00796 std::vector<double> RotConsts;
00797 int SymNum;
00798 RType type;
00799 };
00800
00804 class OBAPI OBVectorData: public OBGenericData
00805 {
00806 public:
00807 OBVectorData(): OBGenericData("VectorData", OBGenericDataType::VectorData){}
00808 virtual ~OBVectorData(){};
00809 virtual OBGenericData* Clone(OBBase*) const
generic.h 1345
Open Babel: API Documentation
00810 {return new OBVectorData(*this);}
00811 void SetData(double x, double y, double z)
00812 { _vec = vector3(x, y, z); }
00813 void SetData(vector3 data)
00814 { _vec = data; }
00815 vector3 GetData() const
00816 { return _vec; }
00817
00818 protected:
00819 vector3 _vec;
00820 };
00821
00825 class OBAPI OBMatrixData: public OBGenericData
00826 {
00827 public:
00828 OBMatrixData(): OBGenericData("MatrixData", OBGenericDataType::MatrixData){}
00829 virtual ~OBMatrixData(){};
00830 virtual OBGenericData* Clone(OBBase*) const
00831 {return new OBMatrixData(*this);}
00832 void SetData(matrix3x3 data)
00833 { _matrix = data; }
00834 matrix3x3 GetData() const
00835 { return _matrix; }
00836
00837 protected:
00838 matrix3x3 _matrix;
00839 };
00840
00842 typedef std::vector<OBGenericData*>::iterator OBDataIterator;
00843
00844 } //end namespace OpenBabel
00845
00846 #endif // OB_GENERIC_H
00847
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
generic.h 1346
generic.h File Reference
Handle generic data classes. Custom data for atoms, bonds, etc. More...
#include <openbabel/babelconfig.h>
#include <string>
#include <vector>
#include <map>
#include <openbabel/math/spacegroup.h>
#include <openbabel/obutil.h>
#include <openbabel/base.h>
This graph shows which files directly or indirectly include this file:
Namespaces
namespace OpenBabel
Classes
class OBCommentData
Used to store a comment string (can be multiple lines long).
More...
class OBExternalBond
Used to store information on an external bond (e.g., SMILES
fragments). More...
class OBExternalBondData
Used to store information on external bonds (e.g., in SMILES
fragments). More...
class OBPairData
Used to store arbitrary text attribute/value relationships.
More...
Classes 1348
Open Babel: API Documentation
Typedefs
typedef OBPairTemplate< int > OBPairInteger
typedef OBPairTemplate< double > OBPairFloatingPoint
Enumerations
enum atomreftype { output, input, calcvolume }
Detailed Description
Handle generic data classes. Custom data for atoms, bonds, etc.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• File List
• File Members
• All
• Functions
• Variables
• Defines
•a
•b
•c
•d
Typedefs 1349
Open Babel: API Documentation
•e
•f
•h
•i
•k
•l
•m
•n
•o
•p
•r
•s
•t
•v
•w
•z
Here is a list of all file members with links to the files they belong to:
-a-
• AA_ALA : residue.h
• AA_ARG : residue.h
• AA_ASN : residue.h
• AA_ASP : residue.h
• AA_CYS : residue.h
• AA_GLN : residue.h
• AA_GLU : residue.h
• AA_GLY : residue.h
• AA_HIS : residue.h
• AA_ILE : residue.h
• AA_LEU : residue.h
• AA_LYS : residue.h
• AA_MET : residue.h
• AA_PHE : residue.h
• AA_PRO : residue.h
• AA_SER : residue.h
• AA_THR : residue.h
• AA_TRP : residue.h
• AA_TYR : residue.h
• AA_VAL : residue.h
• AE_ANDHI : parsmart.cpp
• AE_ANDLO : parsmart.cpp
• AE_LEAF : parsmart.cpp
• AE_NOT : parsmart.cpp
• AE_OR : parsmart.cpp
• AE_RECUR : parsmart.cpp
• AI_C : chains.cpp
• AI_C1 : chains.cpp
• AI_C2 : chains.cpp
• AI_C3 : chains.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
-a- 1351
Open Babel: API Documentation
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• File List
• File Members
• All
• Functions
• Variables
• Defines
•a
•b
•c
•d
•e
•f
•h
•i
•k
•l
•m
•n
•o
•p
•r
•s
•t
•v
•w
•z
Here is a list of all file members with links to the files they belong to:
-k-
• KCAL_TO_KJ : forcefield.h
-k- 1352
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• File List
• File Members
• All
• Functions
• Variables
• Defines
•a
•b
•c
•d
•e
•f
•h
•i
•k
•l
•m
•n
•o
•p
•r
•s
•t
•v
•w
•z
-k- 1353
Open Babel: API Documentation
Here is a list of all file members with links to the files they belong to:
-l-
• LoPart : rand.cpp
• LowBit : bitvec.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• File List
• File Members
• All
• Functions
• Variables
• Defines
•a
•b
•c
•d
•e
•f
•h
•i
•k
•l
•m
•n
•o
-l- 1354
Open Babel: API Documentation
•p
•r
•s
•t
•v
•w
•z
Here is a list of all file members with links to the files they belong to:
-m-
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
-m- 1355
Open Babel: API Documentation
• File List
• File Members
• All
• Functions
• Variables
• Defines
•a
•b
•c
•d
•e
•f
•h
•i
•k
•l
•m
•n
•o
•p
•r
•s
•t
•v
•w
•z
Here is a list of all file members with links to the files they belong to:
-n-
• NO_SYMCLASS : canon.cpp
• NOTREADABLE : format.h
• NOTWRITABLE : format.h
• NUCLEOMAX : chains.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
-n- 1356
Open Babel: API Documentation
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• File List
• File Members
• All
• Functions
• Variables
• Defines
•a
•b
•c
•d
•e
•f
•h
•i
•k
•l
•m
•n
•o
•p
•r
•s
•t
•v
•w
•z
Here is a list of all file members with links to the files they belong to:
-o-
• OB_3RING_ATOM : atom.h
• OB_4RING_ATOM : atom.h
• OB_ACCEPTOR_ATOM : atom.h
• OB_ACSTEREO_ATOM : atom.h
• OB_AROM_CORRECTED_MOL : mol.h
• OB_AROMATIC_ATOM : atom.h
• OB_AROMATIC_BOND : bond.h
• OB_AROMATIC_MOL : mol.h
-o- 1357
Open Babel: API Documentation
• OB_ATOM_HAS_NO_H : atom.h
• OB_ATOM_NOT_H_DEFICIENT : atom.h
• OB_ATOMTYPES_MOL : mol.h
• OB_BINARY_SETWORD : rotamer.cpp
• OB_CHAINS_MOL : mol.h
• OB_CHIRAL_ATOM : atom.h
• OB_CHIRALITY_MOL : mol.h
• OB_CLOSURE_BOND : bond.h
• OB_CLOSURE_MOL : mol.h
• OB_CSTEREO_ATOM : atom.h
• OB_CURRENT_CONFORMER : mol.h
• OB_DEFAULT_DELTA : rotor.cpp
• OB_DONOR_ATOM : atom.h
• OB_EVAL_STACKSIZE : parsmart.cpp
• OB_GASTEIGER_DAMP : molchrg.h
• OB_GASTEIGER_DENOM : molchrg.h
• OB_GASTEIGER_ITERS : molchrg.h
• OB_H_ADDED_MOL : mol.h
• OB_HASH_BOND : bond.h
• OB_HYBRID_MOL : mol.h
• OB_IMPVAL_MOL : mol.h
• OB_KDOUBLE_BOND : bond.h
• OB_KEKULE_MOL : mol.h
• OB_KSINGLE_BOND : bond.h
• OB_KTRIPLE_BOND : bond.h
• OB_NEG_CHIRAL_ATOM : atom.h
• OB_PCHARGE_MOL : mol.h
• OB_PH_CORRECTED_MOL : mol.h
• OB_POS_CHIRAL_ATOM : atom.h
• OB_RING_ATOM : atom.h
• OB_RING_BOND : bond.h
• OB_RINGFLAGS_MOL : mol.h
• OB_RINGTYPES_MOL : mol.h
• OB_RTREE_CUTOFF : ring.cpp
• OB_SSSR_MOL : mol.h
• OB_TCHARGE_MOL : mol.h
• OB_TITLE_SIZE : rotamer.cpp
• OB_TORDOWN_BOND : bond.h
• OB_TORUP_BOND : bond.h
• OB_TSPIN_MOL : mol.h
• OB_WEDGE_BOND : bond.h
• OBAtomIncrement : mol.cpp
• OBBondIncrement : mol.cpp
• OBFF_ANALYTICAL_GRADIENT : forcefield.h
• OBFF_CONST_ANGLE : forcefield.h
• OBFF_CONST_ATOM : forcefield.h
• OBFF_CONST_ATOM_X : forcefield.h
• OBFF_CONST_ATOM_Y : forcefield.h
• OBFF_CONST_ATOM_Z : forcefield.h
• OBFF_CONST_CHIRAL : forcefield.h
• OBFF_CONST_DISTANCE : forcefield.h
-o- 1358
Open Babel: API Documentation
• OBFF_CONST_IGNORE : forcefield.h
• OBFF_CONST_TORSION : forcefield.h
• OBFF_EANGLE : forcefield.h
• OBFF_EBOND : forcefield.h
• OBFF_EELECTROSTATIC : forcefield.h
• OBFF_ENERGY : forcefield.h
• OBFF_EOOP : forcefield.h
• OBFF_ESTRBND : forcefield.h
• OBFF_ETORSION : forcefield.h
• OBFF_EVDW : forcefield.h
• OBFF_LOGLVL_HIGH : forcefield.h
• OBFF_LOGLVL_LOW : forcefield.h
• OBFF_LOGLVL_MEDIUM : forcefield.h
• OBFF_LOGLVL_NONE : forcefield.h
• OBFF_NUMERICAL_GRADIENT : forcefield.h
• OBLipoGrid : grid.h
• OBMolToRWMol() : RDKitConv.h
• OBPolarGrid : grid.h
• ONE_OVER_SQRT3 : atom.cpp
• OneThird : obutil.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• File List
• File Members
• All
• Functions
• Variables
• Defines
-o- 1359
Open Babel: API Documentation
•a
•b
•c
•d
•e
•f
•h
•i
•k
•l
•m
•n
•o
•p
•r
•s
•t
•v
•w
•z
Here is a list of all file members with links to the files they belong to:
-z-
• ZEROATOMSOK : format.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• File List
-z- 1360
Open Babel: API Documentation
• File Members
• All
• Functions
• Variables
• Defines
•a
•b
•c
•d
•e
•f
•h
•i
•k
•l
•m
•n
•o
•p
•r
•s
•t
•v
•w
•z
Here is a list of all file members with links to the files they belong to:
-b-
• BC_ASSIGN : chains.cpp
• BC_COUNT : chains.cpp
• BC_ELEM : chains.cpp
• BC_EVAL : chains.cpp
• BC_IDENT : chains.cpp
• BC_LOCAL : chains.cpp
• BE_ANDHI : parsmart.h
• BE_ANDLO : parsmart.h
• BE_LEAF : parsmart.h
• BE_NOT : parsmart.h
• BE_OR : parsmart.h
• BF_AROMATIC : chains.cpp
• BF_DOUBLE : chains.cpp
• BF_NONRINGDOUBLE : parsmart.cpp
• BF_NONRINGDOWN : parsmart.cpp
• BF_NONRINGTRIPLE : parsmart.cpp
• BF_NONRINGUNSPEC : parsmart.cpp
• BF_NONRINGUP : parsmart.cpp
• BF_RINGAROM : parsmart.cpp
-b- 1361
Open Babel: API Documentation
• BF_RINGDOUBLE : parsmart.cpp
• BF_RINGDOWN : parsmart.cpp
• BF_RINGTRIPLE : parsmart.cpp
• BF_RINGUNSPEC : parsmart.cpp
• BF_RINGUP : parsmart.cpp
• BF_SINGLE : chains.cpp
• BF_TRIPLE : chains.cpp
• Bit05All : chains.cpp
• BitC : chains.cpp
• BitC1 : chains.cpp
• BitC2All : chains.cpp
• BitC2DNA : chains.cpp
• BitC2RNA : chains.cpp
• BitC3 : chains.cpp
• BitC4 : chains.cpp
• BitC5 : chains.cpp
• BitCA : chains.cpp
• BitCAAll : chains.cpp
• BitCAGly : chains.cpp
• BitCAll : chains.cpp
• BitCOXT : chains.cpp
• BitCTer : chains.cpp
• BitN : chains.cpp
• BitNAll : chains.cpp
• BitNPro : chains.cpp
• BitNPT : chains.cpp
• BitNTer : chains.cpp
• BitO : chains.cpp
• BitO2 : chains.cpp
• BitO3 : chains.cpp
• BitO3All : chains.cpp
• BitO3Ter : chains.cpp
• BitO4 : chains.cpp
• BitO5 : chains.cpp
• BitO5Ter : chains.cpp
• BitOAll : chains.cpp
• BitOP : chains.cpp
• BitOXT : chains.cpp
• BitP : chains.cpp
• BitPAll : chains.cpp
• BitPTer : chains.cpp
• BL_CONST : parsmart.h
• BL_TYPE : parsmart.h
• BONDEXPRPOOL : parsmart.cpp
• BONDPOOL : parsmart.cpp
• BothEven : rand.cpp
• BS_ALL : parsmart.cpp
• BS_AROM : parsmart.cpp
• BS_DEFAULT : parsmart.cpp
• BS_DOUBLE : parsmart.cpp
• BS_DOWN : parsmart.cpp
-b- 1362
Open Babel: API Documentation
• BS_DOWNUNSPEC : parsmart.cpp
• BS_RING : parsmart.cpp
• BS_SINGLE : parsmart.cpp
• BS_TRIPLE : parsmart.cpp
• BS_UP : parsmart.cpp
• BS_UPUNSPEC : parsmart.cpp
• BT_AROM : parsmart.h
• BT_DOUBLE : parsmart.h
• BT_DOWN : parsmart.h
• BT_DOWNUNSPEC : parsmart.h
• BT_RING : parsmart.h
• BT_SINGLE : parsmart.h
• BT_TRIPLE : parsmart.h
• BT_UP : parsmart.h
• BT_UPUNSPEC : parsmart.h
• BUFF_SIZE : dlhandler_unix.cpp , obconversion.cpp , mol.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• File List
• File Members
• All
• Functions
• Variables
• Defines
•a
•b
•c
•d
-b- 1363
Open Babel: API Documentation
•e
•f
•h
•i
•k
•l
•m
•n
•o
•p
•r
•s
•t
•v
•w
•z
Here is a list of all file members with links to the files they belong to:
-c-
• ChainsResName : chains.cpp
• CT_MATCH : canon.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• File List
• File Members
• All
-c- 1364
Open Babel: API Documentation
• Functions
• Variables
• Defines
•a
•b
•c
•d
•e
•f
•h
•i
•k
•l
•m
•n
•o
•p
•r
•s
•t
•v
•w
•z
Here is a list of all file members with links to the files they belong to:
-d-
• DEBUG : canon.cpp
• DEFAULTFORMAT : format.h
• DEG_TO_RAD : vector3.h , matrix3x3.h
• DIMENSION : pointgroup.cpp
• DOUBLE : kekulize.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
-d- 1365
Open Babel: API Documentation
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• File List
• File Members
• All
• Functions
• Variables
• Defines
•a
•b
•c
•d
•e
•f
•h
•i
•k
•l
•m
•n
•o
•p
•r
•s
•t
•v
•w
•z
Here is a list of all file members with links to the files they belong to:
-e-
• ELEMMAX : parsmart.cpp
• EQ : mol.h
• EQn : mol.h
-e- 1366
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• File List
• File Members
• All
• Functions
• Variables
• Defines
•a
•b
•c
•d
•e
•f
•h
•i
•k
•l
•m
•n
•o
•p
•r
•s
•t
•v
•w
•z
Here is a list of all file members with links to the files they belong to:
-f-
• False : rand.cpp
• FILE_SEP_CHAR : tokenst.h
• FOR_ANGLES_OF_MOL : obiter.h
-f- 1367
Open Babel: API Documentation
• FOR_ATOMS_OF_MOL : obiter.h
• FOR_ATOMS_OF_RESIDUE : obiter.h
• FOR_BFS_OF_MOL : obiter.h
• FOR_BONDS_OF_ATOM : obiter.h
• FOR_BONDS_OF_MOL : obiter.h
• FOR_DFS_OF_MOL : obiter.h
• FOR_NBORS_OF_ATOM : obiter.h
• FOR_PAIRS_OF_MOL : obiter.h
• FOR_RESIDUES_OF_MOL : obiter.h
• FOR_RINGS_OF_MOL : obiter.h
• FOR_TORSIONS_OF_MOL : obiter.h
• FourThirdsPI : obutil.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• File List
• File Members
• All
• Functions
• Variables
• Defines
•a
•b
•c
•d
•e
•f
•h
•i
-f- 1368
Open Babel: API Documentation
•k
•l
•m
•n
•o
•p
•r
•s
•t
•v
•w
•z
Here is a list of all file members with links to the files they belong to:
-h-
• HiPart : rand.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• File List
• File Members
• All
• Functions
• Variables
• Defines
•a
-h- 1369
Open Babel: API Documentation
•b
•c
•d
•e
•f
•h
•i
•k
•l
•m
•n
•o
•p
•r
•s
•t
•v
•w
•z
Here is a list of all file members with links to the files they belong to:
-i-
• IF_OBFF_LOGLVL_HIGH : forcefield.h
• IF_OBFF_LOGLVL_LOW : forcefield.h
• IF_OBFF_LOGLVL_MEDIUM : forcefield.h
• IS_ACIDIC : residue.h
• IS_ACYCLIC : residue.h
• IS_ALIPHATIC : residue.h
• IS_AROMATIC : residue.h
• IS_BASIC : residue.h
• IS_BURIED : residue.h
• IS_CHARGED : residue.h
• IS_CYCLIC : residue.h
• IS_HYDROPHOBIC : residue.h
• IS_LARGE : residue.h
• IS_MEDIUM : residue.h
• IS_NEGATIVE : residue.h
• IS_NEUTRAL : residue.h
• IS_POLAR : residue.h
• IS_POSITIVE : residue.h
• IS_SMALL : residue.h
• IS_SURFACE : residue.h
• IsEven : rand.cpp
• IsOdd : rand.cpp
• IsPrime : rand.cpp
• IsUnsatType : mol.h
• IsZero : obutil.cpp
-i- 1370
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• File List
• File Members
• All
• Functions
• Variables
• Defines
•a
•b
•c
•d
•e
•f
•h
•i
•k
•l
•m
•n
•o
•p
•r
•s
•t
•v
•w
•z
-i- 1371
Open Babel: API Documentation
Here is a list of all file members with links to the files they belong to:
-p-
• PI : obutil.cpp
• PointGroupsCount : pointgroup.cpp
• PORTABLE_SNPRINTF_VERSION_MAJOR : snprintf.h
• PORTABLE_SNPRINTF_VERSION_MINOR : snprintf.h
• PT_ACCEPTOR : patty.h
• PT_ANION : patty.h
• PT_CATION : patty.h
• PT_DONOR : patty.h
• PT_HYDROPHOBIC : patty.h
• PT_METAL : patty.h
• PT_OTHER : patty.h
• PT_POLAR : patty.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• File List
• File Members
• All
• Functions
• Variables
• Defines
•a
•b
•c
-p- 1372
Open Babel: API Documentation
•d
•e
•f
•h
•i
•k
•l
•m
•n
•o
•p
•r
•s
•t
•v
•w
•z
Here is a list of all file members with links to the files they belong to:
-r-
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
-r- 1373
Open Babel: API Documentation
• File List
• File Members
• All
• Functions
• Variables
• Defines
•a
•b
•c
•d
•e
•f
•h
•i
•k
•l
•m
•n
•o
•p
•r
•s
•t
•v
•w
•z
Here is a list of all file members with links to the files they belong to:
-s-
• SETWORD : bitvec.h
• SINGLE : kekulize.cpp
• snprintf() : snprintf.h
• SQRT_TWO_THIRDS : atom.cpp
• SQUARE : mol.h , rotor.h
• STACKSIZE : chains.cpp
• STARTWORDS : bitvec.h
• strncasecmp() : obconversion.cpp , data.cpp , atom.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
-s- 1374
Open Babel: API Documentation
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• File List
• File Members
• All
• Functions
• Variables
• Defines
•a
•b
•c
•d
•e
•f
•h
•i
•k
•l
•m
•n
•o
•p
•r
•s
•t
•v
•w
•z
Here is a list of all file members with links to the files they belong to:
-t-
• True : rand.cpp
• TwoThirdsPI : obutil.cpp
-t- 1375
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• File List
• File Members
• All
• Functions
• Variables
• Defines
•a
•b
•c
•d
•e
•f
•h
•i
•k
•l
•m
•n
•o
•p
•r
•s
•t
•v
•w
•z
-t- 1376
Open Babel: API Documentation
Here is a list of all file members with links to the files they belong to:
-v-
• vasnprintf() : snprintf.h
• vasprintf() : snprintf.h
• VC_EXTRALEAN : dlhandler_win32.cpp
• vsnprintf() : snprintf.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• File List
• File Members
• All
• Functions
• Variables
• Defines
•a
•b
•c
•d
•e
•f
•h
•i
•k
•l
•m
-v- 1377
Open Babel: API Documentation
•n
•o
•p
•r
•s
•t
•v
•w
•z
Here is a list of all file members with links to the files they belong to:
-w-
• WORDMASK : bitvec.h
• WORDROLL : bitvec.h
• WORDSIZE_OF_BITSIZE : bitvec.h
• WRITEBINARY : format.h
• WRITEONEONLY : format.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• File List
• File Members
• All
• Functions
• Variables
• Defines
-w- 1378
Open Babel: API Documentation
•a
•b
•c
•d
•e
•f
•h
•i
•k
•l
•m
•n
•o
•p
•r
•s
•t
•v
•w
•z
-a-
• AA_ALA : residue.h
• AA_ARG : residue.h
• AA_ASN : residue.h
• AA_ASP : residue.h
• AA_CYS : residue.h
• AA_GLN : residue.h
• AA_GLU : residue.h
• AA_GLY : residue.h
• AA_HIS : residue.h
• AA_ILE : residue.h
• AA_LEU : residue.h
• AA_LYS : residue.h
• AA_MET : residue.h
• AA_PHE : residue.h
• AA_PRO : residue.h
• AA_SER : residue.h
• AA_THR : residue.h
• AA_TRP : residue.h
• AA_TYR : residue.h
• AA_VAL : residue.h
• AE_ANDHI : parsmart.cpp
• AE_ANDLO : parsmart.cpp
• AE_LEAF : parsmart.cpp
• AE_NOT : parsmart.cpp
• AE_OR : parsmart.cpp
• AE_RECUR : parsmart.cpp
-a- 1379
Open Babel: API Documentation
• AI_C : chains.cpp
• AI_C1 : chains.cpp
• AI_C2 : chains.cpp
• AI_C3 : chains.cpp
• AI_C4 : chains.cpp
• AI_C5 : chains.cpp
• AI_CA : chains.cpp
• AI_N : chains.cpp
• AI_O : chains.cpp
• AI_O1P : chains.cpp
• AI_O2 : chains.cpp
• AI_O2P : chains.cpp
• AI_O3 : chains.cpp
• AI_O4 : chains.cpp
• AI_O5 : chains.cpp
• AI_OXT : chains.cpp
• AI_P : chains.cpp
• AL_ANTICLOCKWISE : parsmart.cpp
• AL_AROM : parsmart.cpp
• AL_CHIRAL : parsmart.cpp
• AL_CLOCKWISE : parsmart.cpp
• AL_CONNECT : parsmart.cpp
• AL_CONST : parsmart.cpp
• AL_DEGREE : parsmart.cpp
• AL_ELEM : parsmart.cpp
• AL_HCOUNT : parsmart.cpp
• AL_HYB : parsmart.cpp
• AL_IMPLICIT : parsmart.cpp
• AL_MASS : parsmart.cpp
• AL_NEGATIVE : parsmart.cpp
• AL_POSITIVE : parsmart.cpp
• AL_RINGCONNECT : parsmart.cpp
• AL_RINGS : parsmart.cpp
• AL_SIZE : parsmart.cpp
• AL_UNSPECIFIED : parsmart.cpp
• AL_VALENCE : parsmart.cpp
• AMINOMAX : chains.cpp
• ApproxZero : obutil.cpp
• ATOMEXPRPOOL : parsmart.cpp
• ATOMMAX : chains.cpp
• ATOMMINAMINO : chains.cpp
• ATOMMINNUCLEIC : chains.cpp
• ATOMPOOL : parsmart.cpp
-a- 1380
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• File List
• File Members
• All
• Functions
• Variables
• Defines
•a
•b
•c
•d
•e
•f
•h
•i
•k
•l
•m
•n
•o
•p
•r
•s
•t
•v
•w
•z
-k-
• KCAL_TO_KJ : forcefield.h
-k- 1381
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• File List
• File Members
• All
• Functions
• Variables
• Defines
•a
•b
•c
•d
•e
•f
•h
•i
•k
•l
•m
•n
•o
•p
•r
•s
•t
•v
•w
•z
-k- 1382
Open Babel: API Documentation
-l-
• LoPart : rand.cpp
• LowBit : bitvec.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• File List
• File Members
• All
• Functions
• Variables
• Defines
•a
•b
•c
•d
•e
•f
•h
•i
•k
•l
•m
•n
•o
-l- 1383
Open Babel: API Documentation
•p
•r
•s
•t
•v
•w
•z
-m-
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
-m- 1384
Open Babel: API Documentation
• File List
• File Members
• All
• Functions
• Variables
• Defines
•a
•b
•c
•d
•e
•f
•h
•i
•k
•l
•m
•n
•o
•p
•r
•s
•t
•v
•w
•z
-n-
• NO_SYMCLASS : canon.cpp
• NOTREADABLE : format.h
• NOTWRITABLE : format.h
• NUCLEOMAX : chains.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
-n- 1385
Open Babel: API Documentation
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• File List
• File Members
• All
• Functions
• Variables
• Defines
•a
•b
•c
•d
•e
•f
•h
•i
•k
•l
•m
•n
•o
•p
•r
•s
•t
•v
•w
•z
-o-
• OB_3RING_ATOM : atom.h
• OB_4RING_ATOM : atom.h
• OB_ACCEPTOR_ATOM : atom.h
• OB_ACSTEREO_ATOM : atom.h
• OB_AROM_CORRECTED_MOL : mol.h
• OB_AROMATIC_ATOM : atom.h
• OB_AROMATIC_BOND : bond.h
• OB_AROMATIC_MOL : mol.h
-o- 1386
Open Babel: API Documentation
• OB_ATOM_HAS_NO_H : atom.h
• OB_ATOM_NOT_H_DEFICIENT : atom.h
• OB_ATOMTYPES_MOL : mol.h
• OB_BINARY_SETWORD : rotamer.cpp
• OB_CHAINS_MOL : mol.h
• OB_CHIRAL_ATOM : atom.h
• OB_CHIRALITY_MOL : mol.h
• OB_CLOSURE_BOND : bond.h
• OB_CLOSURE_MOL : mol.h
• OB_CSTEREO_ATOM : atom.h
• OB_CURRENT_CONFORMER : mol.h
• OB_DEFAULT_DELTA : rotor.cpp
• OB_DONOR_ATOM : atom.h
• OB_EVAL_STACKSIZE : parsmart.cpp
• OB_GASTEIGER_DAMP : molchrg.h
• OB_GASTEIGER_DENOM : molchrg.h
• OB_GASTEIGER_ITERS : molchrg.h
• OB_H_ADDED_MOL : mol.h
• OB_HASH_BOND : bond.h
• OB_HYBRID_MOL : mol.h
• OB_IMPVAL_MOL : mol.h
• OB_KDOUBLE_BOND : bond.h
• OB_KEKULE_MOL : mol.h
• OB_KSINGLE_BOND : bond.h
• OB_KTRIPLE_BOND : bond.h
• OB_NEG_CHIRAL_ATOM : atom.h
• OB_PCHARGE_MOL : mol.h
• OB_PH_CORRECTED_MOL : mol.h
• OB_POS_CHIRAL_ATOM : atom.h
• OB_RING_ATOM : atom.h
• OB_RING_BOND : bond.h
• OB_RINGFLAGS_MOL : mol.h
• OB_RINGTYPES_MOL : mol.h
• OB_RTREE_CUTOFF : ring.cpp
• OB_SSSR_MOL : mol.h
• OB_TCHARGE_MOL : mol.h
• OB_TITLE_SIZE : rotamer.cpp
• OB_TORDOWN_BOND : bond.h
• OB_TORUP_BOND : bond.h
• OB_TSPIN_MOL : mol.h
• OB_WEDGE_BOND : bond.h
• OBAtomIncrement : mol.cpp
• OBBondIncrement : mol.cpp
• OBFF_ANALYTICAL_GRADIENT : forcefield.h
• OBFF_CONST_ANGLE : forcefield.h
• OBFF_CONST_ATOM : forcefield.h
• OBFF_CONST_ATOM_X : forcefield.h
• OBFF_CONST_ATOM_Y : forcefield.h
• OBFF_CONST_ATOM_Z : forcefield.h
• OBFF_CONST_CHIRAL : forcefield.h
• OBFF_CONST_DISTANCE : forcefield.h
-o- 1387
Open Babel: API Documentation
• OBFF_CONST_IGNORE : forcefield.h
• OBFF_CONST_TORSION : forcefield.h
• OBFF_EANGLE : forcefield.h
• OBFF_EBOND : forcefield.h
• OBFF_EELECTROSTATIC : forcefield.h
• OBFF_ENERGY : forcefield.h
• OBFF_EOOP : forcefield.h
• OBFF_ESTRBND : forcefield.h
• OBFF_ETORSION : forcefield.h
• OBFF_EVDW : forcefield.h
• OBFF_LOGLVL_HIGH : forcefield.h
• OBFF_LOGLVL_LOW : forcefield.h
• OBFF_LOGLVL_MEDIUM : forcefield.h
• OBFF_LOGLVL_NONE : forcefield.h
• OBFF_NUMERICAL_GRADIENT : forcefield.h
• OBLipoGrid : grid.h
• OBPolarGrid : grid.h
• ONE_OVER_SQRT3 : atom.cpp
• OneThird : obutil.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• File List
• File Members
• All
• Functions
• Variables
• Defines
•a
-o- 1388
Open Babel: API Documentation
•b
•c
•d
•e
•f
•h
•i
•k
•l
•m
•n
•o
•p
•r
•s
•t
•v
•w
•z
-z-
• ZEROATOMSOK : format.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• File List
• File Members
-z- 1389
Open Babel: API Documentation
• All
• Functions
• Variables
• Defines
•a
•b
•c
•d
•e
•f
•h
•i
•k
•l
•m
•n
•o
•p
•r
•s
•t
•v
•w
•z
-b-
• BC_ASSIGN : chains.cpp
• BC_COUNT : chains.cpp
• BC_ELEM : chains.cpp
• BC_EVAL : chains.cpp
• BC_IDENT : chains.cpp
• BC_LOCAL : chains.cpp
• BE_ANDHI : parsmart.h
• BE_ANDLO : parsmart.h
• BE_LEAF : parsmart.h
• BE_NOT : parsmart.h
• BE_OR : parsmart.h
• BF_AROMATIC : chains.cpp
• BF_DOUBLE : chains.cpp
• BF_NONRINGDOUBLE : parsmart.cpp
• BF_NONRINGDOWN : parsmart.cpp
• BF_NONRINGTRIPLE : parsmart.cpp
• BF_NONRINGUNSPEC : parsmart.cpp
• BF_NONRINGUP : parsmart.cpp
• BF_RINGAROM : parsmart.cpp
• BF_RINGDOUBLE : parsmart.cpp
• BF_RINGDOWN : parsmart.cpp
-b- 1390
Open Babel: API Documentation
• BF_RINGTRIPLE : parsmart.cpp
• BF_RINGUNSPEC : parsmart.cpp
• BF_RINGUP : parsmart.cpp
• BF_SINGLE : chains.cpp
• BF_TRIPLE : chains.cpp
• Bit05All : chains.cpp
• BitC : chains.cpp
• BitC1 : chains.cpp
• BitC2All : chains.cpp
• BitC2DNA : chains.cpp
• BitC2RNA : chains.cpp
• BitC3 : chains.cpp
• BitC4 : chains.cpp
• BitC5 : chains.cpp
• BitCA : chains.cpp
• BitCAAll : chains.cpp
• BitCAGly : chains.cpp
• BitCAll : chains.cpp
• BitCOXT : chains.cpp
• BitCTer : chains.cpp
• BitN : chains.cpp
• BitNAll : chains.cpp
• BitNPro : chains.cpp
• BitNPT : chains.cpp
• BitNTer : chains.cpp
• BitO : chains.cpp
• BitO2 : chains.cpp
• BitO3 : chains.cpp
• BitO3All : chains.cpp
• BitO3Ter : chains.cpp
• BitO4 : chains.cpp
• BitO5 : chains.cpp
• BitO5Ter : chains.cpp
• BitOAll : chains.cpp
• BitOP : chains.cpp
• BitOXT : chains.cpp
• BitP : chains.cpp
• BitPAll : chains.cpp
• BitPTer : chains.cpp
• BL_CONST : parsmart.h
• BL_TYPE : parsmart.h
• BONDEXPRPOOL : parsmart.cpp
• BONDPOOL : parsmart.cpp
• BothEven : rand.cpp
• BS_ALL : parsmart.cpp
• BS_AROM : parsmart.cpp
• BS_DEFAULT : parsmart.cpp
• BS_DOUBLE : parsmart.cpp
• BS_DOWN : parsmart.cpp
• BS_DOWNUNSPEC : parsmart.cpp
• BS_RING : parsmart.cpp
-b- 1391
Open Babel: API Documentation
• BS_SINGLE : parsmart.cpp
• BS_TRIPLE : parsmart.cpp
• BS_UP : parsmart.cpp
• BS_UPUNSPEC : parsmart.cpp
• BT_AROM : parsmart.h
• BT_DOUBLE : parsmart.h
• BT_DOWN : parsmart.h
• BT_DOWNUNSPEC : parsmart.h
• BT_RING : parsmart.h
• BT_SINGLE : parsmart.h
• BT_TRIPLE : parsmart.h
• BT_UP : parsmart.h
• BT_UPUNSPEC : parsmart.h
• BUFF_SIZE : dlhandler_unix.cpp , obconversion.cpp , mol.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• File List
• File Members
• All
• Functions
• Variables
• Defines
•a
•b
•c
•d
•e
•f
-b- 1392
Open Babel: API Documentation
•h
•i
•k
•l
•m
•n
•o
•p
•r
•s
•t
•v
•w
•z
-c-
• CT_MATCH : canon.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• File List
• File Members
• All
• Functions
• Variables
• Defines
-c- 1393
Open Babel: API Documentation
•a
•b
•c
•d
•e
•f
•h
•i
•k
•l
•m
•n
•o
•p
•r
•s
•t
•v
•w
•z
-d-
• DEBUG : canon.cpp
• DEFAULTFORMAT : format.h
• DEG_TO_RAD : vector3.h , matrix3x3.h
• DIMENSION : pointgroup.cpp
• DOUBLE : kekulize.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
-d- 1394
Open Babel: API Documentation
• Classes
• Files
• File List
• File Members
• All
• Functions
• Variables
• Defines
•a
•b
•c
•d
•e
•f
•h
•i
•k
•l
•m
•n
•o
•p
•r
•s
•t
•v
•w
•z
-e-
• ELEMMAX : parsmart.cpp
• EQ : mol.h
• EQn : mol.h
This file is part of the documentation for Open Babel, version 2.2.0.
-e- 1395
Open Babel: API Documentation
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• File List
• File Members
• All
• Functions
• Variables
• Defines
•a
•b
•c
•d
•e
•f
•h
•i
•k
•l
•m
•n
•o
•p
•r
•s
•t
•v
•w
•z
-f-
• False : rand.cpp
• FILE_SEP_CHAR : tokenst.h
• FOR_ANGLES_OF_MOL : obiter.h
• FOR_ATOMS_OF_MOL : obiter.h
• FOR_ATOMS_OF_RESIDUE : obiter.h
-f- 1396
Open Babel: API Documentation
• FOR_BFS_OF_MOL : obiter.h
• FOR_BONDS_OF_ATOM : obiter.h
• FOR_BONDS_OF_MOL : obiter.h
• FOR_DFS_OF_MOL : obiter.h
• FOR_NBORS_OF_ATOM : obiter.h
• FOR_PAIRS_OF_MOL : obiter.h
• FOR_RESIDUES_OF_MOL : obiter.h
• FOR_RINGS_OF_MOL : obiter.h
• FOR_TORSIONS_OF_MOL : obiter.h
• FourThirdsPI : obutil.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• File List
• File Members
• All
• Functions
• Variables
• Defines
•a
•b
•c
•d
•e
•f
•h
•i
•k
•l
-f- 1397
Open Babel: API Documentation
•m
•n
•o
•p
•r
•s
•t
•v
•w
•z
-h-
• HiPart : rand.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• File List
• File Members
• All
• Functions
• Variables
• Defines
•a
•b
•c
-h- 1398
Open Babel: API Documentation
•d
•e
•f
•h
•i
•k
•l
•m
•n
•o
•p
•r
•s
•t
•v
•w
•z
-i-
• IF_OBFF_LOGLVL_HIGH : forcefield.h
• IF_OBFF_LOGLVL_LOW : forcefield.h
• IF_OBFF_LOGLVL_MEDIUM : forcefield.h
• IS_ACIDIC : residue.h
• IS_ACYCLIC : residue.h
• IS_ALIPHATIC : residue.h
• IS_AROMATIC : residue.h
• IS_BASIC : residue.h
• IS_BURIED : residue.h
• IS_CHARGED : residue.h
• IS_CYCLIC : residue.h
• IS_HYDROPHOBIC : residue.h
• IS_LARGE : residue.h
• IS_MEDIUM : residue.h
• IS_NEGATIVE : residue.h
• IS_NEUTRAL : residue.h
• IS_POLAR : residue.h
• IS_POSITIVE : residue.h
• IS_SMALL : residue.h
• IS_SURFACE : residue.h
• IsEven : rand.cpp
• IsOdd : rand.cpp
• IsPrime : rand.cpp
• IsUnsatType : mol.h
• IsZero : obutil.cpp
-i- 1399
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• File List
• File Members
• All
• Functions
• Variables
• Defines
•a
•b
•c
•d
•e
•f
•h
•i
•k
•l
•m
•n
•o
•p
•r
•s
•t
•v
•w
•z
-i- 1400
Open Babel: API Documentation
-p-
• PI : obutil.cpp
• PointGroupsCount : pointgroup.cpp
• PORTABLE_SNPRINTF_VERSION_MAJOR : snprintf.h
• PORTABLE_SNPRINTF_VERSION_MINOR : snprintf.h
• PT_ACCEPTOR : patty.h
• PT_ANION : patty.h
• PT_CATION : patty.h
• PT_DONOR : patty.h
• PT_HYDROPHOBIC : patty.h
• PT_METAL : patty.h
• PT_OTHER : patty.h
• PT_POLAR : patty.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• File List
• File Members
• All
• Functions
• Variables
• Defines
•a
•b
•c
-p- 1401
Open Babel: API Documentation
•d
•e
•f
•h
•i
•k
•l
•m
•n
•o
•p
•r
•s
•t
•v
•w
•z
-r-
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
-r- 1402
Open Babel: API Documentation
• File List
• File Members
• All
• Functions
• Variables
• Defines
•a
•b
•c
•d
•e
•f
•h
•i
•k
•l
•m
•n
•o
•p
•r
•s
•t
•v
•w
•z
-s-
• SETWORD : bitvec.h
• SINGLE : kekulize.cpp
• SQRT_TWO_THIRDS : atom.cpp
• SQUARE : rotor.h , mol.h
• STACKSIZE : chains.cpp
• STARTWORDS : bitvec.h
This file is part of the documentation for Open Babel, version 2.2.0.
-s- 1403
Open Babel: API Documentation
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• File List
• File Members
• All
• Functions
• Variables
• Defines
•a
•b
•c
•d
•e
•f
•h
•i
•k
•l
•m
•n
•o
•p
•r
•s
•t
•v
•w
•z
-t-
• True : rand.cpp
• TwoThirdsPI : obutil.cpp
-t- 1404
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• File List
• File Members
• All
• Functions
• Variables
• Defines
•a
•b
•c
•d
•e
•f
•h
•i
•k
•l
•m
•n
•o
•p
•r
•s
•t
•v
•w
•z
-t- 1405
Open Babel: API Documentation
-v-
• VC_EXTRALEAN : dlhandler_win32.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• File List
• File Members
• All
• Functions
• Variables
• Defines
•a
•b
•c
•d
•e
•f
•h
•i
•k
•l
•m
•n
•o
•p
-v- 1406
Open Babel: API Documentation
•r
•s
•t
•v
•w
•z
-w-
• WORDMASK : bitvec.h
• WORDROLL : bitvec.h
• WORDSIZE_OF_BITSIZE : bitvec.h
• WRITEBINARY : format.h
• WRITEONEONLY : format.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• File List
• File Members
• All
• Functions
• Variables
• Defines
• asnprintf() : snprintf.h
-w- 1407
Open Babel: API Documentation
• asprintf() : snprintf.h
• matchFiles() : dlhandler_unix.cpp
• OBMolToRWMol() : RDKitConv.h
• snprintf() : snprintf.h
• strncasecmp() : obconversion.cpp , data.cpp , atom.cpp
• vasnprintf() : snprintf.h
• vasprintf() : snprintf.h
• vsnprintf() : snprintf.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• File List
• File Members
• All
• Functions
• Variables
• Defines
• ChainsResName : chains.cpp
-w- 1408
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
-w- 1409
Graph Legend
This page explains how to interpret the graphs that are generated by doxygen.
If the MAX_DOT_GRAPH_HEIGHT tag in the configuration file is set to 240 this will result in the following
graph:
• A filled gray box represents the struct or class for which the graph is generated.
• A box with a black border denotes a documented struct or class.
• A box with a grey border denotes an undocumented struct or class.
• A box with a red border denotes a documented struct or class forwhich not all
inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified
boundaries.
• A dark blue arrow is used to visualize a public inheritance relation between two classes.
• A dark green arrow is used for protected inheritance.
• A dark red arrow is used for private inheritance.
• A purple dashed arrow is used if a class is contained or used by another class. The arrow is labeled
with the variable(s) through which the pointed class or struct is accessible.
• A yellow dashed arrow denotes a relation between a template instance and the template class it was
instantiated from. The arrow is labeled with the template parameters of the instance.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
#include <openbabel/babelconfig.h>
#include <openbabel/mol.h>
#include <openbabel/atom.h>
#include <openbabel/grid.h>
Namespaces
namespace OpenBabel
Functions
ostream & operator<< (ostream &os, const OBFloatGrid &fg)
istream & operator>> (istream &is, OBFloatGrid &fg)
Detailed Description
Handle grids of values.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
00001 /**********************************************************************
00002 grid.h - Handle grids of values.
00003
00004 Copyright (C) 1998-2001 by OpenEye Scientific Software, Inc.
00005 Some portions Copyright (C) 2001-2006 by Geoffrey R. Hutchison
00006 Some Portions Copyright (C) 2008 by Marcus D. Hanwell
00007
00008 This file is part of the Open Babel project.
00009 For more information, see <http://openbabel.sourceforge.net/>
00010
00011 This program is free software; you can redistribute it and/or modify
00012 it under the terms of the GNU General Public License as published by
00013 the Free Software Foundation version 2 of the License.
00014
00015 This program is distributed in the hope that it will be useful,
00016 but WITHOUT ANY WARRANTY; without even the implied warranty of
00017 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00018 GNU General Public License for more details.
00019 ***********************************************************************/
00020
00021 #ifndef OB_GRID_H
00022 #define OB_GRID_H
00023
00024 #include <openbabel/babelconfig.h>
00025 #include <openbabel/math/vector3.h>
00026
00027 #include <iosfwd>
00028 #include <algorithm>
00029 #include <vector>
00030 #include <string>
00031
00032 namespace OpenBabel
00033 {
00034
00035 // Forward declaration
00036 class OBMol;
00037
00040 class OBAPI OBGrid: public OBBase
00041 {
00042 protected:
00043 double _xmin,_xmax,_ymin,_ymax,_zmin,_zmax;
00044
00045 public:
00046 OBGrid() {}
00047
00051 virtual void Init(OBMol &box);
00052
00054 double GetXmin() const { return(_xmin); }
00056 double GetYmin() const { return(_ymin); }
00058 double GetZmin() const { return(_zmin); }
00060 double GetXmax() const { return(_xmax); }
00062 double GetYmax() const { return(_ymax); }
00064 double GetZmax() const { return(_zmax); }
00065
00067 bool PointIsInBox(double x,double y,double z)
grid.h 1413
Open Babel: API Documentation
00068 {
00069 return (x>=_xmin) && (x<=_xmax) &&
00070 (y>=_ymin) && (y<=_ymax) &&
00071 (z>=_zmin) && (z<=_zmax);
00072 }
00074 bool PointIsInBox(double *c)
00075 {
00076 return (c[0]>=_xmin) && (c[0]<=_xmax) &&
00077 (c[1]>=_ymin) && (c[1]<=_ymax) &&
00078 (c[2]>=_zmin) && (c[2]<=_zmax);
00079 }
00080
00082 bool PointIsInBox(vector3 v)
00083 {
00084 return (v.x() >= _xmin) && (v.x() <=_xmax) &&
00085 (v.y()>=_ymin) && (v.y()<=_ymax) &&
00086 (v.z()>=_zmin) && (v.z()<=_zmax);
00087 }
00088 };
00089
00097 class OBAPI OBFloatGrid: public OBGrid
00098 {
00099 protected:
00100 std::vector<double> _values;
00101 int *_ival;
00102 double _midz,_midx,_midy;
00103 int _ydim,_xdim,_zdim;
00104 double _spacing,_inv_spa;
00105 double _halfSpace;
00106
00107 vector3 _xAxis, _yAxis, _zAxis;
00108
00109 public:
00110
00111 OBFloatGrid() : _ival(NULL), _halfSpace(0.0) {}
00112 ~OBFloatGrid()
00113 {
00114 if (_ival) delete [] _ival;
00115 }
00116
00119 void Init(OBMol &box,double spacing, double pad=0.0);
00120
00122 vector3 GetMin() { return vector3(_xmin, _ymin, _zmin); }
00123
00127 void GetMin(double *a)
00128 {
00129 a[0]=_xmin;
00130 a[1]=_ymin;
00131 a[2]=_zmin;
00132 }
00133
00135 vector3 GetMax() { return vector3(_xmax, _ymax, _zmax); }
00136
00140 void GetMax(double *a)
00141 {
00142 a[0]=_xmax;
00143 a[1]=_ymax;
00144 a[2]=_zmax;
00145 }
00146
00148 double GetSpacing() const { return(_spacing); }
grid.h 1414
Open Babel: API Documentation
00152 void GetSpacing(double &s)
00153 {
00154 s=_spacing;
00155 }
00157 double GetScale() const { return(_inv_spa); }
00159 double GetHalfSpace() const {return(_halfSpace);}
00161 int GetXdim() const { return(_xdim); }
00163 int GetYdim() const { return(_ydim); }
00165 int GetZdim() const { return(_zdim); }
00169 void GetDim(int *a)
00170 {
00171 a[0]=_xdim;
00172 a[1]=_ydim;
00173 a[2]=_zdim;
00174 }
00175
00177 vector3 GetMidpointVector()
00178 {
00179 vector3 v;
00180 v.Set(_midx,_midy,_midz);
00181 return(v);
00182 }
00183
00185 vector3 GetXAxis() const
00186 {
00187 return _xAxis;
00188 }
00189
00191 vector3 GetYAxis() const
00192 {
00193 return _yAxis;
00194 }
00195
00197 vector3 GetZAxis() const
00198 {
00199 return _zAxis;
00200 }
00201
00203 void SetNumberOfPoints(int nx, int ny, int nz);
00204
00206 void SetXAxis(vector3);
00208 void SetYAxis(vector3);
00210 void SetZAxis(vector3);
00211
00216 void SetLimits(const vector3& origin, const vector3& x, const vector3& y,
00217 const vector3& z);
00220 void SetLimits(const double origin[3], const double x[3], const double y[3],
00221 const double z[3]);
00222
00224 std::vector<double> GetDataVector();
00228 void SetVals(const std::vector<double> & vals);
00229
00234 double *GetVals() { return(&_values[0]); }
00235
00237 double GetValue(int i, int j, int k)
00238 {
00239 if (i*_ydim*_zdim + j*_zdim + k > _xdim*_ydim*_zdim)
00240 return 0.0;
00241 else
00242 return _values[i*_ydim*_zdim + j*_zdim + k];
00243 }
grid.h 1415
Open Babel: API Documentation
00244
00247 void SetVals(double *ptr)
00248 {
00249 for (int i = 0; i < _xdim*_ydim*_zdim; ++i)
00250 _values[i] = ptr[i];
00251 }
00252
00254 bool SetValue(int i, int j, int k, double val)
00255 {
00256 if (i*_ydim*_zdim + j*_zdim + k > _xdim*_ydim*_zdim)
00257 return false;
00258
00259 _values[i*_ydim*_zdim + j*_zdim + k] = val;
00260 return true;
00261 }
00262
00264 vector3 Center()
00265 {
00266 return vector3(_midx,_midy,_midz);
00267 }
00268
00269 friend std::ostream& operator<< ( std::ostream&, const OBFloatGrid& ) ;
00270 friend std::istream& operator>> ( std::istream&,OBFloatGrid& ) ;
00271
00273 double Inject(double x,double y,double z);
00274 void IndexToCoords(int idx, double &x, double &y, double &z);
00275 void CoordsToIndex(int*,double*);
00276 int CoordsToIndex(double x, double y, double z);
00278 double Interpolate(double,double,double);
00280 double InterpolateDerivatives(double,double,double,double *derivatives);
00281 };
00282
00283 #ifndef OBPolarGrid
00284 #define OBPolarGrid 0x01 /* polar interactions? */
00285 #endif //OBPolarGrid
00286
00287 #ifndef OBLipoGrid
00288 #define OBLipoGrid 0x02 /* lipophilicity? */
00289 #endif //OBLipoGrid
00290
00294 class OBAPI OBProxGrid: public OBGrid
00295 {
00296 protected:
00297 int _gridtype;
00298 int _nxinc,_nyinc,_nzinc,_maxinc;
00299 double _inc;
00300 std::vector<std::vector<int> > cell;
00301
00302 public:
00303
00304 OBProxGrid(int gridtype=0)
00305 {
00306 _gridtype=gridtype;
00307 }
00308 ~OBProxGrid()
00309 {}
00310 void Setup(OBMol &mol,OBMol &box, double cutoff,double resolution = 0.5);
00311 void Setup(OBMol &mol,OBMol &box, double cutoff,
00312 std::vector<bool> &use,double resolution = 0.5);
00313 std::vector<int> *GetProxVector(double,double,double);
00314 std::vector<int> *GetProxVector(double*);
grid.h 1416
Open Babel: API Documentation
00315
00316 bool LipoGrid()
00317 {
00318 return((_gridtype&OBLipoGrid) ? true : false);
00319 }
00320 bool PolarGrid()
00321 {
00322 return(_gridtype&OBPolarGrid);
00323 }
00324 void SetGridType(int gridtype)
00325 {
00326 _gridtype = gridtype;
00327 }
00328 };
00329
00330 // scoring function used: PLP = Piecewise Linear Potential or ChemScore algorithm
00331 typedef enum { Undefined = -1, PLP, ChemScore } score_t;
00332
00336 class OBAPI OBScoreGrid
00337 {
00338 protected:
00339 score_t gridtype;
00340 bool verbose;
00341
00342 public:
00343
00344 double score;
00345
00346 OBScoreGrid(void) { verbose = false; }
00347 virtual ~OBScoreGrid(void) {}
00348
00349 void SetVerbose(bool v) { verbose = v; }
00350 void SetType(score_t type) { gridtype = type; }
00351 score_t GetType(void) { return gridtype; }
00352
00353 virtual void Clear(void) { }
00354 virtual double Eval(double *) { return -1; }
00355 virtual double Eval(OBMol &mol){return Eval(mol.GetCoordinates());}
00356 virtual void Init(OBMol &, OBMol &, std::string &, double){}
00357 virtual void Setup(OBMol &) {}
00358 virtual void Setup(OBMol &, std::vector<int> &){}
00359 virtual void Setup(std::vector<int> &) {}
00360 virtual void Config(std::string) {}
00361 virtual bool Read(std::string) { return false; }
00362 virtual bool Write(std::string) { return false; }
00363 virtual vector3 Center() { return VZero; }
00364 virtual vector3 CenterMol(OBMol &) { return VZero; }
00365 };
00366
00367 } // end namespace OpenBabel
00368
00369 #endif // OB_GRID_H
00370
grid.h 1417
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
grid.h 1418
grid.h File Reference
Handle grids of values. More...
#include <openbabel/babelconfig.h>
#include <openbabel/math/vector3.h>
#include <iosfwd>
#include <algorithm>
#include <vector>
#include <string>
This graph shows which files directly or indirectly include this file:
Namespaces
namespace OpenBabel
Classes
class OBGrid
A base grid class. More...
class OBFloatGrid
Handle double precision floating point 3D grids (e.g., charge density around an OBMol). More...
class OBProxGrid
A grid for determining the proximity of a given point to atoms in an OBMol. More...
class OBScoreGrid
A base class for scoring docking interactions between multiple molecules. More...
Defines
#define OBPolarGrid 0x01
#define OBLipoGrid 0x02
Enumerations
enum score_t { Undefined = -1, PLP, ChemScore }
Detailed Description
Handle grids of values.
Define Documentation
Referenced by OBProxGrid::PolarGrid().
Referenced by OBProxGrid::LipoGrid().
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
Enumerations 1420
griddata.cpp File Reference
OBGenericData class to connect numeric grids (e.g., orbitals, electrostatic potential) to molecules. More...
#include <openbabel/babelconfig.h>
#include <openbabel/griddata.h>
#include <openbabel/mol.h>
#include <openbabel/grid.h>
#include <vector>
#include <algorithm>
#include <limits>
Namespaces
namespace OpenBabel
Detailed Description
OBGenericData class to connect numeric grids (e.g., orbitals, electrostatic potential) to molecules.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
00001 /**********************************************************************
00002 griddata.h - Store grids of data linked to a molecule (e.g. Gaussian cube)
00003
00004 // Molekel - Molecular Visualization Program
00005 // Copyright (C) 2006, 2007 Swiss National Supercomputing Centre (CSCS)
00006
00007 Some Portions Copyright (C) 2008 by Marcus D. Hanwell
00008
00009 This file is part of the Open Babel project.
00010 For more information, see <http://openbabel.sourceforge.net/>
00011
00012 This program is free software; you can redistribute it and/or modify
00013 it under the terms of the GNU General Public License as published by
00014 the Free Software Foundation version 2 of the License.
00015
00016 This program is distributed in the hope that it will be useful,
00017 but WITHOUT ANY WARRANTY; without even the implied warranty of
00018 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00019 GNU General Public License for more details.
00020 ***********************************************************************/
00021
00022 #ifndef OB_GRIDDATA_H
00023 #define OB_GRIDDATA_H
00024
00025 #include <openbabel/babelconfig.h>
00026 #include <openbabel/base.h>
00027 #include <openbabel/math/vector3.h>
00028
00029 #include <vector>
00030
00031 namespace OpenBabel {
00032
00033 // Uses private data pointer for ABI compatibility
00034 // http://techbase.kde.org/Policies/Library_Code_Policy#D-Pointers
00035 class GridDataPrivate;
00036
00037 // Class to store values for generic (non axis aligned) grids like Gaussian cube files
00038 // Class introduction in griddata.cpp
00039 class OBAPI OBGridData : public OBGenericData
00040 {
00041 public:
00043 OBGridData();
00044
00046 ~OBGridData();
00047
00049 typedef enum { BOHR, ANGSTROM, OTHER } Unit;
00050
00052
00053
00054
00055
00056 void GetAxes(double x[3], double y[3], double z[3]) const;
00058 vector3 GetXAxis() const;
00060 vector3 GetYAxis() const;
00062 vector3 GetZAxis() const;
griddata.h 1422
Open Babel: API Documentation
00064 void GetAxes(vector3 &v1, vector3 &v2, vector3 &v3) const;
00066 void GetNumberOfPoints(int &nx, int &ny, int &nz) const;
00068 int GetNumberOfPoints() const;
00070 void GetNumberOfSteps(int steps[3]) const;
00072 std::vector< double > GetValues() const;
00074 double GetValue(int i, int j, int k) const;
00076 double GetValue (vector3 pos) const;
00078 Unit GetUnit() const;
00080 double GetMinValue() const;
00082 double GetMaxValue() const;
00084 vector3 GetOriginVector() const;
00088 void GetOriginVector(double o[3]) const;
00090 vector3 GetMaxVector() const;
00092 bool GetUnrestricted() const;
00094 int GetNumSymmetries() const;
00096
00097
00099
00100
00101 void SetNumberOfPoints(int nx, int ny, int nz);
00106 void SetLimits(const vector3 &origin, const vector3 &x, const vector3 &y,
00107 const vector3 &z);
00110 void SetLimits(const double origin[3], const double x[3], const double y[3],
00111 const double z[3]);
00113 bool SetValue(int i, int j, int k, double val);
00115 void SetValues(const std::vector< double >& v);
00117 void SetUnit(Unit u);
00119 void SetUnrestricted(bool u);
00121 void SetNumSymmetries(int s);
00123
00124 private:
00125 GridDataPrivate *const d;
00126
00127 };
00128
00129 } // end namespace
00130
00131 #endif /*OBGRIDDATA_H_*/
00132
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
griddata.h 1423
Open Babel: API Documentation
• Related Pages
• Namespaces
• Classes
• Files
griddata.h 1424
griddata.h File Reference
OBGenericData class to connect numeric grids (e.g., orbitals, electrostatic potential) to molecules. More...
#include <openbabel/babelconfig.h>
#include <openbabel/base.h>
#include <openbabel/math/vector3.h>
#include <vector>
This graph shows which files directly or indirectly include this file:
Namespaces
namespace OpenBabel
Classes
class OBGridData
Store values for numeric grids such as orbitals or electrostatic potential. More...
Detailed Description
OBGenericData class to connect numeric grids (e.g., orbitals, electrostatic potential) to molecules.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
00001 /**********************************************************************
00002 groupcontrib.h - Handle group contribution algorithms.
00003
00004 Copyright (C) 2007 by Tim Vandermeersch
00005 2001-2007 by Stephen Jelfs
00006 2001-2007 by Joerg Kurt Wegner, me@cheminformatics.eu
00007
00008 Original version: JOELib2, http://joelib.sf.net
00009
00010 This file is part of the Open Babel project.
00011 For more information, see <http://openbabel.sourceforge.net/>
00012
00013 This program is free software; you can redistribute it and/or modify
00014 it under the terms of the GNU General Public License as published by
00015 the Free Software Foundation version 2 of the License.
00016
00017 This program is distributed in the hope that it will be useful,
00018 but WITHOUT ANY WARRANTY; without even the implied warranty of
00019 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00020 GNU General Public License for more details.
00021 ***********************************************************************/
00022
00023 #ifndef OB_GROUPCONTRIB_H
00024 #define OB_GROUPCONTRIB_H
00025
00026 #include <openbabel/mol.h>
00027 #include <openbabel/parsmart.h>
00028 #include <openbabel/descriptor.h>
00029
00030 // This macro is used in DLL builds. If it has not
00031 // been set in babelconfig.h, define it as nothing.
00032 #ifndef OBDESC
00033 #define OBDESC
00034 #endif
00035
00036 namespace OpenBabel
00037 {
00038
00045 class OBDESC OBGroupContrib : public OBDescriptor
00046 {
00047 public:
00048
00054
00055 OBGroupContrib(const char* ID, const char* filename, const char* descr)
00056 : OBDescriptor(ID, false), _filename(filename), _descr(descr){}
00057
00058 virtual const char* Description();
00059
00060 virtual OBGroupContrib* MakeInstance(const std::vector<std::string>& textlines)
00061 {
00062 return new OBGroupContrib(textlines[1].c_str(),textlines[2].c_str(),textlines[3].c_st
00063 }
00064
00065
00066 virtual double Predict(OBBase* pOb);
groupcontrib.h 1427
Open Babel: API Documentation
00067
00068 private:
00069 bool ParseFile();
00070
00071 const char* _filename;
00072 const char* _descr;
00073 std::vector<std::pair<OBSmartsPattern*, double> > _contribsHeavy;
00074 std::vector<std::pair<OBSmartsPattern*, double> > _contribsHydrogen;
00075 };
00076
00077 /* The classes OBLogp, OBPSA and OBMR have been replaced by instances of
00078 OBGroupContrib with different IDs.
00079 So instead of:
00080 OBLogp logP;
00081 cout << "logP " << logP.Predict(mol) << endl;
00082 use:
00083 OBDescriptor* pDesc = OBDescriptor::FindType("logP")
00084 if(pDesc)
00085 cout << "logP " << pDesc->Predict(&mol) << endl;
00086 */
00087 } // end namespace OpenBabel
00088
00089 #endif // OB_GROUPCONTRIB_H
00090
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
groupcontrib.h 1428
groupcontrib.h File Reference
Handle group contribution algorithms. More...
#include <openbabel/mol.h>
#include <openbabel/parsmart.h>
#include <openbabel/descriptor.h>
Namespaces
namespace OpenBabel
Classes
class OBGroupContrib
Handle group contribution algorithms. More...
Detailed Description
Handle group contribution algorithms.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• _AtomExpr
• _BondExpr
• AtomSpec
• BondSpec
• CharPtrLess
• DLHandler
• DoubleType
• FastSearch
• FastSearchIndexer
• FilteringInputStreambuf
• FptIndex
• FptIndexHeader
• GasteigerState
• LineEndingExtractor
• LineSearchType
• matrix3x3
♦ transform3d
• OBAngle
• OBAtomAtomIter
• OBAtomBondIter
• OBBase
♦ OBAtom
♦ OBBond
♦ OBGrid
◊ OBFloatGrid
◊ OBProxGrid
♦ OBMol
♦ OBReaction
♦ OBResidue
• OBBitVec
• OBBuilder
• OBChainsParser
• OBChemTsfm
• OBConversion
♦ XMLConversion
• OBElement
• OBError
• OBExternalBond
• OBFFCalculation2
♦ OBFFCalculation3
◊ OBFFCalculation4
• OBFFConstraint
• OBFFConstraints
• OBFFParameter
• OBGastChrg
• OBGenericData
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
Introduction
Open Babel is a full chemical software toolbox. In addition to converting file formats, it offers a complete
programming library for developing chemistry software. The library is written primarily in C++ and also
offers interfaces to other languages (e.g., Perl, Python, Ruby, and Java) using essentially the same API.
This documentation outlines the Open Babel programming interface, providing information on all public
classes, methods, and data. In particular, strives to provide as much (or as little) detail as needed. More
information can also be found on the main website and through the openbabel-discuss mailing list.
• General Introduction
(history, design, and rationale, ...)
• Getting Started
(where to begin, example code, using Open Babel in real life, ...)
• Main Classes
(the most important, widely-used public classes)
• All Classes
(all classes with brief descriptions)
• What's New in Version 2.2
(changes since 2.1 releases)
• What's New in Version 2.1
(changes since 2.0 releases)
• Further Information
(other resources, tutorials, mailing lists, ...)
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
Introduction 1436
internalcoord.h
Go to the documentation of this file.
00001 /**********************************************************************
00002 internalcoord.h - Handle OBInternalCoord class, Cartesian <=> Z-matrix
00003
00004 Copyright (C) 1998-2001 by OpenEye Scientific Software, Inc.
00005 Some portions Copyright (C) 2001-2006 by Geoffrey R. Hutchison
00006 Some portions Copyright (C) 2003 by Michael Banck
00007
00008 This file is part of the Open Babel project.
00009 For more information, see <http://openbabel.sourceforge.net/>
00010
00011 This program is free software; you can redistribute it and/or modify
00012 it under the terms of the GNU General Public License as published by
00013 the Free Software Foundation version 2 of the License.
00014
00015 This program is distributed in the hope that it will be useful,
00016 but WITHOUT ANY WARRANTY; without even the implied warranty of
00017 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00018 GNU General Public License for more details.
00019 ***********************************************************************/
00020
00021 #ifndef OB_INTERNALCOORD_H
00022 #define OB_INTERNALCOORD_H
00023
00024 #include <openbabel/babelconfig.h>
00025
00026 #ifndef EXTERN
00027 # define EXTERN extern
00028 #endif
00029
00030 namespace OpenBabel
00031 {
00032
00033 class OBAtom;
00034
00060 class OBAPI OBInternalCoord
00061 {
00062 public:
00063 //class members
00064 OBAtom *_a;
00065 OBAtom *_b;
00066 OBAtom *_c;
00067 double _dst;
00068 double _ang;
00069 double _tor;
00070
00072 OBInternalCoord(OBAtom *a= NULL, OBAtom *b= NULL, OBAtom *c= NULL,
00073 double dst = 0.0, double ang = 0.0, double tor = 0.0) :
00074 _a(a), _b(b), _c(c), _dst(dst), _ang(ang), _tor(tor)
00075 {}
00076 };
00077
00078 } // end namespace
00079
00080 #endif // OB_INTERNALCOORD_H
00081
internalcoord.h 1437
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
internalcoord.h 1438
internalcoord.h File Reference
Declaration of OBInternalCoord class, conversion between Cartesian and Z-matrix form. More...
#include <openbabel/babelconfig.h>
This graph shows which files directly or indirectly include this file:
Namespaces
namespace OpenBabel
Classes
class OBInternalCoord
Used to transform from z-matrix to cartesian coordinates. More...
Detailed Description
Declaration of OBInternalCoord class, conversion between Cartesian and Z-matrix form.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
The heart of Open Babel lies in the OBMol, OBAtom, and OBBond classes, which handle operations on
atoms, bonds and molecules. Newcomers should start with looking at the OBMol class, designed to store the
basic information in a molecule and to perceive information about a molecule.
One of the key philosophies in the code is that transformations and automatic perception of properties are
performed in a "lazy" manner. That is, until you call for partial atomic charges, no charges are calculated. This
ensures faster transformations of chemical data -- properties that are not needed for your code will typically
not be calculated. When such data is needed, appropriate routines are called, and a "flag" is set (e.g., via
OBMol::SetFlag or OBAtom::SetFlag etc.) so that the code is only run once.
Arbitrary custom data and text descriptors can be stored in any atom, bond, molecule, or residue using the
OBGenericData or OBPairData classes.
Conversion between various chemical file formats is accomplished through the OBConversion and OBFormat
classes, often through use of the OBMoleculeFormat subclass which is designed for easy read/write access to
one or more OBMol objects. The philosophy of the file format codes is to parse as much chemical information
from a given file as possible (no data left behind) and ideally any perception or transformations will occur
when writing to some other format later.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
#include <openbabel/babelconfig.h>
#include <openbabel/mol.h>
#include <sstream>
Namespaces
namespace OpenBabel
Defines
#define SINGLE 1
#define DOUBLE 2
Detailed Description
Alternate algorithm to kekulize a molecule (OBMol::NewPerceiveKekuleBonds()).
Define Documentation
#define SINGLE 1
Referenced by OBMol::start_kekulize().
#define DOUBLE 2
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
00001 /**********************************************************************
00002 Copyright (C) 2005 by Chris Morley
00003
00004 This file is part of the Open Babel project.
00005 For more information, see <http://openbabel.sourceforge.net/>
00006
00007 This program is free software; you can redistribute it and/or modify
00008 it under the terms of the GNU General Public License as published by
00009 the Free Software Foundation version 2 of the License.
00010
00011 This program is distributed in the hope that it will be useful,
00012 but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00014 GNU General Public License for more details.
00015 ***********************************************************************/
00016 #ifndef OB_KINETICS_H
00017 #define OB_KINETICS_H
00018
00019 #include <openbabel/generic.h>
00020
00021 namespace OpenBabel
00022 {
00023
00024 const unsigned RateData = 55555;
00025 const unsigned ThermoData = 55556;
00026
00029
00036 class OBRateData : public OBGenericData
00037 {
00038 protected:
00039 double Rates[3];
00040 double LoRates[3];
00041 double TroeParams[4];
00042 std::map<std::string,double> Efficiencies;
00043 public:
00044 virtual OBGenericData* Clone(OBBase* parent) const{return new OBRateData(*this);}
00045 enum rate_type {A, n, E};
00046 enum reaction_type {ARRHENIUS=55555, LINDERMANN, TROE, SRI, THREEBODY};
00047 reaction_type ReactionType;
00048 OBRateData():OBGenericData("Rate data", RateData)
00049 {
00050 Rates[0]=Rates[1]=Rates[2]=0;
00051 LoRates[0]=LoRates[1]=LoRates[2]=0;
00052 TroeParams[0]=TroeParams[1]=TroeParams[2]=TroeParams[3]=0;
00053 ReactionType = ARRHENIUS;
00054 }
00055
00056 double GetRate(rate_type n) const
00057 {
00058 return Rates[n];
00059 }
00060
00061 void SetRate(rate_type n, const double val)
00062 {
00063 if(n<3)
kinetics.h 1444
Open Babel: API Documentation
00064 Rates[n] = val;
00065 }
00066
00067 double GetLoRate(rate_type n) const
00068 {
00069 return LoRates[n];
00070 }
00071
00072 void SetLoRate(rate_type n, const double val)
00073 {
00074 if(n<3)
00075 LoRates[n] = val;
00076 }
00077
00078 double GetTroeParam(int n) const
00079 {
00080 return TroeParams[n];
00081 }
00082
00083 void SetTroeParams(int n, const double val)
00084 {
00085 if(n<4)
00086 TroeParams[n] = val;
00087 }
00088
00089 void SetEfficiency(std::string id, double Eff)
00090 {
00091 Efficiencies[id] = Eff;
00092 }
00093
00094 double GetEfficiency(std::string id)
00095 {
00096 return Efficiencies[id]; //will be 0 if not found
00097 }
00098
00099 bool GetNextEff(std::string& id, double& Eff)
00100 {
00101 //Supply id empty to begin, then id is the*last* id
00102 std::map<std::string, double>::iterator itr;
00103 if(id.empty())
00104 itr = Efficiencies.begin();
00105 else
00106 {
00107 itr = Efficiencies.find(id);
00108 if(itr!=Efficiencies.end())
00109 ++itr;
00110 }
00111 if(itr==Efficiencies.end())
00112 return false;
00113 id = itr->first;
00114 Eff = itr->second;
00115 return true;
00116 }
00117 };
00118
00119 //******************************************************************************
00122
00134 class OBNasaThermoData : public OBGenericData
00135 {
00136 protected:
00137 double Coeffs[14];
kinetics.h 1445
Open Babel: API Documentation
00138 double LoT, MidT, HiT;
00139 char phase;
00140 public:
00141 OBNasaThermoData(): LoT(300),MidT(1000),HiT(3000),phase('G')
00142 { _type = ThermoData; _attr = "Nasa thermo data";}
00143
00144 virtual OBGenericData* Clone(OBBase* parent) const{return new OBNasaThermoData(*this);}
00145
00146 double GetCoeff(unsigned n) const
00147 {
00148 return Coeffs[n];
00149 }
00150
00151 void SetCoeff(unsigned n, const double val)
00152 {
00153 if(n<14)
00154 Coeffs[n] = val;
00155 }
00156 double GetLoT() const {return LoT;}
00157 double GetMidT() const {return MidT;}
00158 double GetHiT() const {return HiT;}
00159 void SetLoT(double val){LoT=val;}
00160 void SetMidT(double val){MidT=val;}
00161 void SetHiT(double val){HiT=val;}
00162
00163 char GetPhase() const {return phase;}
00164 void SetPhase(char ph){phase=ph;}
00165 };
00166
00167 } //namespace OpenBabel
00168
00169 #endif //OB_KINETICS_H
00170
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
kinetics.h 1446
kinetics.h File Reference
OBRateData and OBNasaThermoData classes. More...
#include <openbabel/generic.h>
Namespaces
namespace OpenBabel
Classes
class OBRateData
Holds rate constant data for OBReaction. More...
class OBNasaThermoData
Thermodynamic data in old style NASA polynomial form for OBMol. More...
Variables
const unsigned RateData = 55555
const unsigned ThermoData = 55556
Detailed Description
OBRateData and OBNasaThermoData classes.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
00001 /**********************************************************************
00002 lineend.h - Stream buffer for filtering line endings, converting \r or \r\n -> \n
00003
00004 Copyright (C) 1998 by James Kanze
00005 Copyright (C) 2007 by Chris Morley
00006
00007 This file is part of the Open Babel project.
00008 For more information, see <http://openbabel.sourceforge.net/>
00009
00010 This program is free software; you can redistribute it and/or modify
00011 it under the terms of the GNU General Public License as published by
00012 the Free Software Foundation version 2 of the License.
00013
00014 This program is distributed in the hope that it will be useful, but
00015 WITHOUT ANY WARRANTY; without even the implied warranty of
00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
00017 General Public License for more details.
00018 ***********************************************************************/
00019
00020 #ifndef OB_LINEEND_H
00021 #define OB_LINEEND_H
00022
00023 #include <streambuf>
00024 #include <climits>
00025
00026 #ifndef OBCONV
00027 #define OBCONV
00028 #endif
00029
00030 namespace OpenBabel
00031 {
00032
00058 template< class Extractor >
00059 class FilteringInputStreambuf : public std::streambuf
00060 {
00061 public:
00062 FilteringInputStreambuf(
00063 std::streambuf* source = NULL ,
00064 bool deleteWhenFinished = false
00065 ) ;
00066 virtual ~FilteringInputStreambuf()
00067 {
00068 //sync(); comment out so can be deleted in OBConversion destructor
00069 };
00070 virtual int overflow( int ) {return EOF;};
00071 virtual int underflow() ;
00072 virtual int sync() ;
00073
00074 //Pass the random acess functions to the source rdbuf and synchronize
00075 virtual std::streampos seekoff(std::streamoff off, std::ios_base::seekdir way,
00076 std::ios_base::openmode which = std::ios_base::in | std::ios_base::out )
00077 {
00078 std::streampos ret = mySource->pubseekoff(off, way, which);
00079 // sync();
00080 return ret;
lineend.h 1449
Open Babel: API Documentation
00081 };
00082
00083 virtual std::streampos seekpos(std::streampos sp,
00084 std::ios_base::openmode which = std::ios_base::in | std::ios_base::out )
00085 {
00086 std::streampos ret = mySource->pubseekpos(sp, which);
00087 // sync();
00088 return ret;
00089 };
00090
00092 std::streambuf* GetSource()const
00093 {
00094 return mySource;
00095 };
00096
00098 void SetSource(std::streambuf* newsource)
00099 {
00100 mySource = newsource;
00101 setg( &myBuffer , &myBuffer , &myBuffer + 1 ) ;
00102 }
00103
00104 // Extractor& extractor() {return myExtractor;};
00105
00106 private:
00107 std::streambuf* mySource ;
00108 Extractor myExtractor ;
00109 char myBuffer ;
00110 bool myDeleteWhenFinished ;
00111 } ;
00112
00113 //*******************************************************
00114 template< class Extractor >
00115 FilteringInputStreambuf< Extractor >::FilteringInputStreambuf(
00116 std::streambuf* source ,
00117 bool deleteWhenFinished)
00118 : mySource(source), myDeleteWhenFinished(deleteWhenFinished)
00119 {
00120 setg( &myBuffer , &myBuffer , &myBuffer ) ;
00121 }
00122
00124 template< class Extractor >
00125 int
00126 FilteringInputStreambuf< Extractor >::underflow()
00127 {
00128 int result( EOF ) ;
00129 if( gptr() < egptr() )
00130 result = *gptr() ;
00131 else if ( mySource != NULL )
00132 {
00133 result = myExtractor( *mySource ) ;
00134 if ( result != EOF )
00135 {
00136 if( result < 0 || result > UCHAR_MAX )
00137 std::cerr << "FilteringInputStreambuf error" << std::endl;
00138 myBuffer = result ;
00139 setg( &myBuffer , &myBuffer , &myBuffer + 1 ) ;
00140 }
00141 }
00142 return result ;
00143 }
00144
lineend.h 1450
Open Babel: API Documentation
00146 template< class Extractor >
00147 int
00148 FilteringInputStreambuf< Extractor >::sync()
00149 {
00150 int result( 0 ) ;
00151 if ( mySource != NULL )
00152 {
00153 if ( gptr() < egptr() )
00154 {
00155 result = mySource->sputbackc( *gptr() ) ;
00156 setg( NULL , NULL , NULL ) ;
00157 }
00158 if ( mySource->pubsync() == EOF )
00159 result = EOF ;
00160 }
00161 return result ;
00162 }
00163
00164 //*********************************************
00167 class OBCONV LineEndingExtractor
00168 {
00169 public:
00170 int operator()( std::streambuf& src )
00171 {
00172 int ch( src.sbumpc() ) ;
00173 switch (ch)
00174 {
00175 case 13: //CR or CRLF
00176 if(src.sgetc() == 10)
00177 src.sbumpc(); //CRLF
00178 //fall through
00179 case 10: //LF
00180 return '\n';
00181 break;
00182 default:
00183 return ch;
00184 }
00185 }
00186 void finalize( std::streambuf& ) {}
00187 };
00188
00189 } //namespace
00190
00191 #endif //OB_LINEEND_H
This file is part of the documentation for Open Babel, version 2.2.0.
lineend.h 1451
Open Babel: API Documentation
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
lineend.h 1452
lineend.h File Reference
Translate line endings automatically (UNIX, Classic Mac, DOS). More...
#include <streambuf>
#include <climits>
This graph shows which files directly or indirectly include this file:
Namespaces
namespace OpenBabel
Classes
class FilteringInputStreambuf
Delivers characters from an istream or streambuf from a source while filtering. More...
class LineEndingExtractor
Replaces CRLF (DOS) and CR (Mac OS 9) line endings by LF (POSIX). More...
Detailed Description
Translate line endings automatically (UNIX, Classic Mac, DOS).
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
#include <stdlib.h>
#include <string.h>
#include <openbabel/locale.h>
Namespaces
namespace OpenBabel
Detailed Description
Handle internal numeric locale issues -- parse data in "C".
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
00001 /**********************************************************************
00002 locale.h - Handle internal numeric locale issues -- parse data in "C"
00003
00004 Copyright (C) 2008 by Geoffrey R. Hutchison
00005
00006 This file is part of the Open Babel project.
00007 For more information, see <http://openbabel.sourceforge.net/>
00008
00009 This program is free software; you can redistribute it and/or modify
00010 it under the terms of the GNU General Public License as published by
00011 the Free Software Foundation version 2 of the License.
00012
00013 This program is distributed in the hope that it will be useful,
00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00016 GNU General Public License for more details.
00017 ***********************************************************************/
00018
00019 #ifndef OB_LOCALE_H
00020 #define OB_LOCALE_H
00021
00022 #include <locale>
00023 #include <openbabel/babelconfig.h>
00024
00025 #ifndef OBERROR
00026 #define OBERROR
00027 #endif
00028
00029 namespace OpenBabel
00030 {
00031 class OBLocalePrivate;
00032
00033 // more detailed descriptions and documentation in locale.cpp
00035 class OBERROR OBLocale {
00036 public:
00037
00038 OBLocale();
00039 ~OBLocale();
00040
00041 void SetLocale();
00042 void RestoreLocale();
00043
00044 protected:
00045 OBLocalePrivate* d;
00046 };
00047
00048 //global definitions
00050 OBERROR extern OBLocale obLocale;
00051
00052 } // namespace OpenBabel
00053 #endif // OB_LOCALE_H
00054
locale.h 1456
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
locale.h 1457
locale.h File Reference
Handle internal numeric locale issues -- parse data in "C". More...
#include <locale>
#include <openbabel/babelconfig.h>
This graph shows which files directly or indirectly include this file:
Namespaces
namespace OpenBabel
Classes
class OBLocale
Handle the locale for numeric data parsing. More...
Variables
OBERROR OBLocale obLocale
Detailed Description
Handle internal numeric locale issues -- parse data in "C".
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
Import / Export:
Chemical Utilities:
Utility Classes:
Arbitrary Data:
• OBBase - General base class of OBAtom, OBMol, OBResidue, etc. for storing generic, arbitrary
custom data
• OBGenericData - General base class for arbitrary data types
• OBPairData - Arbitrary text key/value data for all atoms, bonds, residues, or molecules
• OBUnitCell - Storage and manipulation of crystal structure / reciprocal unit cells
Math Utilities:
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
#include <openbabel/babelconfig.h>
#include <openbabel/math/matrix3x3.h>
#include <openbabel/obutil.h>
Namespaces
namespace OpenBabel
Functions
vector3 operator* (const matrix3x3 &m, const vector3 &v)
matrix3x3 operator* (const matrix3x3 &A, const matrix3x3 &B)
static double SQUARE (double x)
ostream & operator<< (ostream &co, const matrix3x3 &m)
Detailed Description
Handle 3D rotation matrix.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
00001 /**********************************************************************
00002 matrix3x3.cpp - Handle 3D Rotation matrix.
00003
00004 Copyright (C) 1998-2001 by OpenEye Scientific Software, Inc.
00005 Some portions Copyright (C) 2001-2006 by Geoffrey R. Hutchison
00006 Some portions Copyright (C) 2006 by Benoit Jacob
00007
00008 This file is part of the Open Babel project.
00009 For more information, see <http://openbabel.sourceforge.net/>
00010
00011 This program is free software; you can redistribute it and/or modify
00012 it under the terms of the GNU General Public License as published by
00013 the Free Software Foundation version 2 of the License.
00014
00015 This program is distributed in the hope that it will be useful,
00016 but WITHOUT ANY WARRANTY; without even the implied warranty of
00017 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00018 GNU General Public License for more details.
00019 ***********************************************************************/
00020
00021 #ifndef OB_MATRIX3x3_H
00022 #define OB_MATRIX3x3_H
00023
00024 #include <ostream>
00025
00026 #include <openbabel/math/vector3.h> // includes rand.h, which includes <math.h>
00027 #include <openbabel/oberror.h>
00028
00029 #ifndef RAD_TO_DEG
00030 #define RAD_TO_DEG (180.0/M_PI)
00031 #endif
00032
00033 #ifndef DEG_TO_RAD
00034 #define DEG_TO_RAD (M_PI/180.0)
00035 #endif
00036
00037 namespace OpenBabel
00038 {
00039 class OBRandom; // class introduction in rand.h
00040
00041 // class introduction in matrix3x3.cpp
00042 class OBAPI matrix3x3
00043 {
00045
00047 double ele[3][3];
00048
00049 public:
00051 matrix3x3(void)
00052 {
00053 // Loops are typically unrolled and/or vectorized
00054 for (unsigned int i = 0; i < 3; ++i)
00055 for (unsigned int j = 0; j < 3; ++j)
00056 ele[i][j] = 0.0;
00057 }
00058
matrix3x3.h 1463
Open Babel: API Documentation
00060 matrix3x3(double s)
00061 {
00062 // Loops are typically unrolled and/or vectorized
00063 for (unsigned int i = 0; i < 3; ++i)
00064 for (unsigned int j = 0; j < 3; ++j)
00065 ele[i][j] = 0.0;
00066
00067 for (unsigned int i = 0; i < 3; ++i)
00068 ele[i][i] = s;
00069 }
00070
00072 matrix3x3(vector3 row1,vector3 row2,vector3 row3)
00073 {
00074 ele[0][0] = row1.x();
00075 ele[0][1] = row1.y();
00076 ele[0][2] = row1.z();
00077 ele[1][0] = row2.x();
00078 ele[1][1] = row2.y();
00079 ele[1][2] = row2.z();
00080 ele[2][0] = row3.x();
00081 ele[2][1] = row3.y();
00082 ele[2][2] = row3.z();
00083 }
00084
00086
00087 matrix3x3(double d[3][3])
00088 {
00089 // Loops are typically unrolled and/or vectorized
00090 for (unsigned int i = 0; i < 3; ++i)
00091 for (unsigned int j = 0; j < 3; ++j)
00092 ele[i][j] = d[i][j];
00093
00094 // We could also potentially use memcpy here
00095 }
00096
00098 ~matrix3x3() {}
00099
00101
00104 void GetArray(double *m)
00105 {
00106 for (unsigned int i = 0; i < 3; ++i)
00107 for (unsigned int j = 0; j < 3; ++j)
00108 m[3*i+j] = ele[i][j];
00109 }
00110
00113 const double & operator() (int row, int column ) const
00114 {
00115 return ele[row][column];
00116 }
00117
00120 double & operator() (int row, int column )
00121 {
00122 return ele[row][column];
00123 }
00124
00126 matrix3x3 inverse(void) const
00127 #ifdef OB_OLD_MATH_CHECKS
00128 throw(OBError)
00129 #endif
00130 ;
00131
matrix3x3.h 1464
Open Babel: API Documentation
00133 matrix3x3 transpose(void) const;
00134
00136 void randomRotation(OBRandom &rnd);
00137
00139 double determinant() const;
00140
00142 bool isSymmetric(void) const;
00143
00145
00159 bool isOrthogonal(void) const
00160 {
00161 return (*this * transpose()).isUnitMatrix();
00162 };
00163
00165 bool isDiagonal(void) const;
00166
00168 bool isUnitMatrix(void) const;
00169
00171
00174 double Get(int row,int column) const
00175 {
00176 #ifdef OB_OLD_MATH_CHECKS
00177 if (row >= 0 && row <= 2 && column >= 0 && column <= 2)
00178 return(ele[row][column]);
00179 else
00180 return 0.0f;
00181 #else
00182 return(ele[row][column]);
00183 #endif
00184 }
00185
00187
00190 void Set(int row,int column, double v)
00191 {
00192 #ifdef OB_OLD_MATH_CHECKS
00193 if (row >= 0 && row <= 2 && column >= 0 && column <= 2)
00194 ele[row][column]= v;
00195 #else
00196 ele[row][column]= v;
00197 #endif
00198 }
00199
00201
00203 void SetColumn(int column, const vector3 &v)
00204 #ifdef OB_OLD_MATH_CHECKS
00205 throw(OBError)
00206 #endif
00207 ;
00208
00210
00212 void SetRow(int row, const vector3 &v)
00213 #ifdef OB_OLD_MATH_CHECKS
00214 throw(OBError)
00215 #endif
00216 ;
00217
00219
00221 vector3 GetColumn(unsigned int col) const
00222 #ifdef OB_OLD_MATH_CHECKS
00223 throw(OBError)
00224 #endif
matrix3x3.h 1465
Open Babel: API Documentation
00225 ;
00226
00228
00230 vector3 GetRow(unsigned int row) const
00231 #ifdef OB_OLD_MATH_CHECKS
00232 throw(OBError)
00233 #endif
00234 ;
00235
00237 matrix3x3 &operator*=(const double &c)
00238 {
00239 for( int i = 0; i < 3; i++ )
00240 for( int j = 0; j < 3; j++ )
00241 ele[i][j] *= c;
00242 return *this;
00243 }
00244
00246 matrix3x3 &operator/=(const double &c)
00247 {
00248 return( (*this) *= ( 1.0 / c ) );
00249 }
00250
00253 void SetupRotMat(double x, double y, double z);
00254
00256 void PlaneReflection(const vector3 &norm);
00257
00260 void RotAboutAxisByAngle(const vector3 &axis, const double angle);
00261
00267 void FillOrth(double alpha, double beta, double gamma,
00268 double a, double b, double c);
00269
00271 matrix3x3 findEigenvectorsIfSymmetric(vector3 &eigenvals) const
00272 #ifdef OB_OLD_MATH_CHECKS
00273 throw(OBError)
00274 #endif
00275 ;
00276
00278 friend OBAPI vector3 operator *(const matrix3x3 &,const vector3 &);
00279
00281 friend OBAPI matrix3x3 operator *(const matrix3x3 &,const matrix3x3 &);
00282
00284 friend OBAPI std::ostream& operator<< ( std::ostream&, const matrix3x3 & ) ;
00285
00287 static void jacobi(unsigned int n, double *a, double *d, double *v);
00288 };
00289
00290 #ifndef SWIG
00291 OBAPI vector3 center_coords(double*,int);
00292 #endif
00293 }
00294
00295 #endif // OB_MATRIX3x3_H
00296
matrix3x3.h 1466
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
matrix3x3.h 1467
matrix3x3.h File Reference
Handle 3D Rotation matrix. More...
#include <ostream>
#include <openbabel/math/vector3.h>
#include <openbabel/oberror.h>
This graph shows which files directly or indirectly include this file:
Namespaces
namespace OpenBabel
Classes
class matrix3x3
Represents a real 3x3 matrix. More...
Defines
#define RAD_TO_DEG (180.0/M_PI)
#define DEG_TO_RAD (M_PI/180.0)
Functions
vector3 center_coords (double *, int)
Detailed Description
Handle 3D Rotation matrix.
Define Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
#include <openbabel/babelconfig.h>
#include <openbabel/matrix.h>
#include <cstdio>
Namespaces
namespace OpenBabel
Functions
void print_matrix (std::vector< std::vector< double > > &m)
void print_matrix_f (double *m, int rows, int cols)
void print_matrix_ff (double **m, int rows, int cols)
bool mult_matrix (std::vector< std::vector< double > > &c, std::vector< std::vector< double > > &a,
std::vector< std::vector< double > > &b)
bool mult_matrix_f (double *c, double *a, double *b, int rows, int cols)
bool mult_matrix_ff (double **c, double **a, double **b, int rows, int cols)
bool invert_matrix (std::vector< std::vector< double > > &m, double &det)
bool invert_matrix_f (double *m, double &det, int rows, int cols)
bool invert_matrix_ff (double **m, double &det, int rows, int cols)
bool convert_matrix_f (std::vector< std::vector< double > > &src, double *dst)
bool convert_matrix_ff (std::vector< std::vector< double > > &src, double **dst)
bool convert_matrix_f (double *src, std::vector< std::vector< double > > &dst, int rows, int cols)
bool convert_matrix_ff (double **src, std::vector< std::vector< double > > &dst, int rows, int cols)
bool convert_matrix_f_ff (double *src, double **dst, int rows, int cols)
bool convert_matrix_ff_f (double **src, double *dst, int rows, int cols)
Detailed Description
Operations on arbitrary-sized matrix.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
00001 /**********************************************************************
00002 matrix.h - Operations on arbitrary-sized matrix.
00003
00004 Copyright (C) 1998-2001 by OpenEye Scientific Software, Inc.
00005 Some portions Copyright (C) 2001-2005 by Geoffrey R. Hutchison
00006
00007 This file is part of the Open Babel project.
00008 For more information, see <http://openbabel.sourceforge.net/>
00009
00010 This program is free software; you can redistribute it and/or modify
00011 it under the terms of the GNU General Public License as published by
00012 the Free Software Foundation version 2 of the License.
00013
00014 This program is distributed in the hope that it will be useful,
00015 but WITHOUT ANY WARRANTY; without even the implied warranty of
00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00017 GNU General Public License for more details.
00018 ***********************************************************************/
00019
00020 #ifndef OB_MATRIX_H
00021 #define OB_MATRIX_H
00022 #include <openbabel/babelconfig.h>
00023 #include <vector>
00024 #include <math.h>
00025
00026 namespace OpenBabel
00027 {
00028
00029 /*
00030 * vector<vector<double> > m : m[row][col] gives appropriate row/col entry
00031 * double **m : m[row][col] gives appropriate row/col entry
00032 * double *m : m[(row * numCols) + col] gives appropriate row/col entry
00033 */
00034
00035 void print_matrix(std::vector<std::vector<double> > &m);
00036 void print_matrix_f (double *m, int rows, int cols);
00037 void print_matrix_ff(double **m, int rows, int cols);
00038
00039 bool mult_matrix(std::vector<std::vector<double> > &c, std::vector<std::vector<double> >
00040 bool mult_matrix_f (double *c, double *a, double *b, int rows, int cols);
00041 bool mult_matrix_ff(double **c, double **a, double **b, int rows, int cols);
00042
00043 bool invert_matrix(std::vector<std::vector<double> > &m, double &det);
00044 bool invert_matrix_f (double *m, double &det, int rows, int cols);
00045 bool invert_matrix_ff(double **m, double &det, int rows, int cols);
00046
00047 bool convert_matrix_f (std::vector<std::vector<double> > &src, double *dst);
00048 bool convert_matrix_ff(std::vector<std::vector<double> > &src, double **dst);
00049 bool convert_matrix_f (double *src, std::vector<std::vector<double> > &dst, int rows, in
00050 bool convert_matrix_ff(double **src, std::vector<std::vector<double> > &dst, int rows, in
00051 bool convert_matrix_ff_f(double **src, double *dst, int rows, int cols);
00052 bool convert_matrix_f_ff(double *src, double **dst, int rows, int cols);
00053
00054 }
00055
matrix.h 1472
Open Babel: API Documentation
00056 #endif // OB_MATRIX_H
00057
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
matrix.h 1473
matrix.h File Reference
Operations on arbitrary-sized matrix. More...
#include <openbabel/babelconfig.h>
#include <vector>
#include <math.h>
This graph shows which files directly or indirectly include this file:
Namespaces
namespace OpenBabel
Functions
void print_matrix (std::vector< std::vector< double > > &m)
void print_matrix_f (double *m, int rows, int cols)
void print_matrix_ff (double **m, int rows, int cols)
bool mult_matrix (std::vector< std::vector< double > > &c, std::vector< std::vector< double > > &a,
std::vector< std::vector< double > > &b)
bool mult_matrix_f (double *c, double *a, double *b, int rows, int cols)
bool mult_matrix_ff (double **c, double **a, double **b, int rows, int cols)
bool invert_matrix (std::vector< std::vector< double > > &m, double &det)
bool invert_matrix_f (double *m, double &det, int rows, int cols)
bool invert_matrix_ff (double **m, double &det, int rows, int cols)
bool convert_matrix_f (std::vector< std::vector< double > > &src, double *dst)
bool convert_matrix_ff (std::vector< std::vector< double > > &src, double **dst)
bool convert_matrix_f (double *src, std::vector< std::vector< double > > &dst, int rows, int cols)
bool convert_matrix_ff (double **src, std::vector< std::vector< double > > &dst, int rows, int cols)
bool convert_matrix_ff_f (double **src, double *dst, int rows, int cols)
bool convert_matrix_f_ff (double *src, double **dst, int rows, int cols)
Detailed Description
Operations on arbitrary-sized matrix.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
#include <openbabel/babelconfig.h>
#include <openbabel/mol.h>
#include <openbabel/rotamer.h>
#include <openbabel/phmodel.h>
#include <openbabel/bondtyper.h>
#include <openbabel/builder.h>
#include <openbabel/math/matrix3x3.h>
#include <sstream>
#include <set>
Namespaces
namespace OpenBabel
Defines
#define OBAtomIncrement 100
#define OBBondIncrement 100
#define OBAtomIncrement 100
#define OBBondIncrement 100
Functions
bool SortVVInt (const vector< int > &a, const vector< int > &b)
bool SortAtomZ (const pair< OBAtom *, double > &a, const pair< OBAtom *, double > &b)
static bool OBComparePairSecond (const pair< OBAtom *, unsigned int > &a, const pair< OBAtom *,
unsigned int > &b)
static bool OBComparePairFirst (const pair< OBAtom *, unsigned int > &a, const pair< OBAtom *,
unsigned int > &b)
static void ClassCount (vector< pair< OBAtom *, unsigned int > > &vp, unsigned int &count)
static void CreateNewClassVector (vector< pair< OBAtom *, unsigned int > > &vp1, vector< pair<
OBAtom *, unsigned int > > &vp2)
static int ValenceSum (OBAtom *atom)
static bool KekulePropagate (OBAtom *atom, vector< int > &visit, vector< int > &ival, int depth)
int GetCurrentValence (OBAtom *atom)
bool ExpandKekule (OBMol &mol, vector< OBAtom * > &va, vector< OBAtom * >::iterator i,
vector< int > &maxv, bool secondpass)
void CorrectBadResonanceForm (OBMol &mol)
bool WriteTitles (ostream &ofs, OBMol &mol)
Variables
bool SwabInt = (STPTR[0]!=0)
Detailed Description
Handle molecules. Implementation of OBMol.
Define Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
Variables 1477
mol.h
Go to the documentation of this file.
00001 /**********************************************************************
00002 mol.h - Handle molecules. Declarations of OBMol, OBAtom, OBBond, OBResidue.
00003 (the main header for Open Babel)
00004
00005 Copyright (C) 1998-2001 by OpenEye Scientific Software, Inc.
00006 Some portions Copyright (C) 2001-2006 by Geoffrey R. Hutchison
00007 Some portions Copyright (C) 2003 by Michael Banck
00008
00009 This file is part of the Open Babel project.
00010 For more information, see <http://openbabel.sourceforge.net/>
00011
00012 This program is free software; you can redistribute it and/or modify
00013 it under the terms of the GNU General Public License as published by
00014 the Free Software Foundation version 2 of the License.
00015
00016 This program is distributed in the hope that it will be useful,
00017 but WITHOUT ANY WARRANTY; without even the implied warranty of
00018 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00019 GNU General Public License for more details.
00020 ***********************************************************************/
00021
00022 #ifndef OB_MOL_H
00023 #define OB_MOL_H
00024
00025 #include <openbabel/babelconfig.h>
00026
00027 #ifndef EXTERN
00028 # define EXTERN extern
00029 #endif
00030
00031 #include <math.h>
00032 #include <float.h>
00033
00034 #include <vector>
00035 #include <string>
00036 #include <map>
00037
00038 // Currently includes many headers for 2.x backwards compatibility
00039 // \deprecated -- this will be cleaned up in 3.0 efforts
00040 // to improve compile time significantly.
00041 // Only include necessary headers and class declaration stubs.
00042 #include <openbabel/atom.h>
00043 #include <openbabel/bond.h>
00044 #include <openbabel/base.h>
00045 #include <openbabel/data.h>
00046 #include <openbabel/chains.h>
00047 #include <openbabel/math/vector3.h>
00048 #include <openbabel/bitvec.h>
00049 #include <openbabel/residue.h>
00050 #include <openbabel/ring.h>
00051 #include <openbabel/generic.h>
00052 #include <openbabel/typer.h>
00053 #include <openbabel/oberror.h>
00054 #include <openbabel/obiter.h>
00055 #include <openbabel/internalcoord.h>
mol.h 1478
Open Babel: API Documentation
00056
00057 namespace OpenBabel
00058 {
00059
00060 class OBAtom;
00061 class OBBond;
00062 class OBInternalCoord;
00063
00064 // Class OBMol
00065 //MOL Property Macros (flags) -- 32+ bits
00067 #define OB_SSSR_MOL (1<<1)
00069 #define OB_RINGFLAGS_MOL (1<<2)
00071 #define OB_AROMATIC_MOL (1<<3)
00073 #define OB_ATOMTYPES_MOL (1<<4)
00075 #define OB_CHIRALITY_MOL (1<<5)
00077 #define OB_PCHARGE_MOL (1<<6)
00079 #define OB_HYBRID_MOL (1<<8)
00081 #define OB_IMPVAL_MOL (1<<9)
00083 #define OB_KEKULE_MOL (1<<10)
00085 #define OB_CLOSURE_MOL (1<<11)
00087 #define OB_H_ADDED_MOL (1<<12)
00089 #define OB_PH_CORRECTED_MOL (1<<13)
00091 #define OB_AROM_CORRECTED_MOL (1<<14)
00093 #define OB_CHAINS_MOL (1<<15)
00095 #define OB_TCHARGE_MOL (1<<16)
00097 #define OB_TSPIN_MOL (1<<17)
00099 #define OB_RINGTYPES_MOL (1<<18)
00100 // flags 18-32 unspecified
00101 #define OB_CURRENT_CONFORMER -1
00102
00103 // class introduction in mol.cpp
00104 class OBAPI OBMol: public OBBase
00105 {
00106 protected:
00107 int _flags;
00108 bool _autoPartialCharge;
00109 bool _autoFormalCharge;
00110 std::string _title;
00111 std::vector<OBAtom*> _vatom;
00112 std::vector<OBBond*> _vbond;
00113 unsigned short int _dimension;
00114 int _totalCharge;
00115 unsigned int _totalSpin;
00116 double *_c;
00117 std::vector<double*> _vconf;
00118 double _energy;
00119 unsigned int _natoms;
00120 unsigned int _nbonds;
00121 std::vector<OBResidue*> _residue;
00122 std::vector<OBInternalCoord*> _internals;
00123 unsigned short int _mod;
00124
00125 bool HasFlag(int flag) { return((_flags & flag) ? true : false); }
00126 void SetFlag(int flag) { _flags |= flag; }
00127
00129
00130 void start_kekulize(std::vector <OBAtom*> &cycle, std::vector<int> &electron);
00131 int expand_kekulize(OBAtom *atom1, OBAtom *atom2, std::vector<int> ¤tState, std
00132 int getorden(OBAtom *atom);
00133 bool expandcycle(OBAtom *atom, OBBitVec &avisit, OBAtom *first = NULL, int depth = 0)
00135
mol.h 1479
Open Babel: API Documentation
00136 public:
00137
00139
00140
00141 OBMol();
00143 OBMol(const OBMol &);
00145 virtual ~OBMol();
00147 OBMol &operator=(const OBMol &mol);
00149 OBMol &operator+=(const OBMol &mol);
00150
00153 void ReserveAtoms(int natoms)
00154 {
00155 if (natoms > 0 && _mod)
00156 _vatom.reserve(natoms);
00157 }
00158
00161 virtual OBAtom *CreateAtom(void);
00164 virtual OBBond *CreateBond(void);
00167 virtual OBResidue *CreateResidue(void);
00170 virtual void DestroyAtom(OBAtom*);
00173 virtual void DestroyBond(OBBond*);
00176 virtual void DestroyResidue(OBResidue*);
00177
00180 bool AddAtom(OBAtom&);
00183 bool InsertAtom(OBAtom &);
00191 bool AddBond(int beginIdx, int endIdx, int order,
00192 int flags=0,int insertpos=-1);
00195 bool AddBond(OBBond&);
00198 bool AddResidue(OBResidue&);
00199
00202 OBAtom *NewAtom();
00205 OBBond *NewBond();
00207 OBResidue *NewResidue();
00212 bool DeleteAtom(OBAtom*, bool destroyAtom = true);
00215 bool DeleteBond(OBBond*, bool destroyBond = true);
00218 bool DeleteResidue(OBResidue*, bool destroyResidue = true);
00220
00222
00223
00224
00225
00226 virtual void BeginModify(void);
00230 virtual void EndModify(bool nukePerceivedData=true);
00232 int GetMod() { return(_mod); }
00235 void IncrementMod() { _mod++; }
00238 void DecrementMod() { _mod--; }
00240
00242
00243
00244 int GetFlags() { return(_flags); }
00247 const char *GetTitle(bool replaceNewlines = true) const;
00249 unsigned int NumAtoms() const { return(_natoms); }
00251 unsigned int NumBonds() const { return(_nbonds); }
00253 unsigned int NumHvyAtoms();
00255 unsigned int NumResidues() const { return(_residue.size()); }
00257 unsigned int NumRotors();
00258
00261 OBAtom *GetAtom(int idx) const;
00264 OBAtom *GetFirstAtom() const;
00267 OBBond *GetBond(int idx) const;
00270 OBBond *GetBond(int a, int b) const;
mol.h 1480
Open Babel: API Documentation
00271 // The safer version of the above method
00273 OBBond *GetBond(OBAtom* bgn, OBAtom* end) const;
00276 OBResidue *GetResidue(int idx) const;
00277 std::vector<OBInternalCoord*> GetInternalCoord();
00282 double GetTorsion(int,int,int,int);
00287 double GetTorsion(OBAtom* a,OBAtom* b,OBAtom* c,OBAtom* d);
00290 double GetAngle(OBAtom* a, OBAtom* b, OBAtom* c);
00292 std::string GetFormula();
00294 std::string GetSpacedFormula(int ones=0, const char* sp=" ", bool implicitH = true);
00296 double GetEnergy() const { return _energy; }
00298 double GetMolWt(bool implicitH = true);
00300 double GetExactMass(bool implicitH = true);
00302 int GetTotalCharge();
00304 unsigned int GetTotalSpinMultiplicity();
00306 unsigned short int GetDimension() const { return _dimension; }
00308 double *GetCoordinates() { return(_c); }
00310 std::vector<OBRing*> &GetSSSR();
00312 bool AutomaticFormalCharge() { return(_autoFormalCharge); }
00314 bool AutomaticPartialCharge() { return(_autoPartialCharge); }
00316
00317
00319
00320
00321 void SetTitle(const char *title);
00323 void SetTitle(std::string &title);
00325 void SetFormula(std::string molFormula);
00327 void SetEnergy(double energy) { _energy = energy; }
00329 void SetDimension(unsigned short int d) { _dimension = d; }
00331 void SetTotalCharge(int charge);
00334 void SetTotalSpinMultiplicity(unsigned int spinMultiplicity);
00337 void SetInternalCoord(std::vector<OBInternalCoord*> int_coord)
00338 { _internals = int_coord; }
00340 void SetAutomaticFormalCharge(bool val)
00341 { _autoFormalCharge=val; }
00343 void SetAutomaticPartialCharge(bool val)
00344 { _autoPartialCharge=val; }
00345
00347 void SetAromaticPerceived() { SetFlag(OB_AROMATIC_MOL); }
00349 void SetSSSRPerceived() { SetFlag(OB_SSSR_MOL); }
00351 void SetRingAtomsAndBondsPerceived(){SetFlag(OB_RINGFLAGS_MOL);}
00353 void SetAtomTypesPerceived() { SetFlag(OB_ATOMTYPES_MOL); }
00355 void SetRingTypesPerceived() { SetFlag(OB_RINGTYPES_MOL); }
00357 void SetChainsPerceived() { SetFlag(OB_CHAINS_MOL); }
00359 void SetChiralityPerceived() { SetFlag(OB_CHIRALITY_MOL); }
00361 void SetPartialChargesPerceived(){ SetFlag(OB_PCHARGE_MOL); }
00363 void SetHybridizationPerceived() { SetFlag(OB_HYBRID_MOL); }
00365 void SetImplicitValencePerceived(){ SetFlag(OB_IMPVAL_MOL); }
00367 void SetKekulePerceived() { SetFlag(OB_KEKULE_MOL); }
00369 void SetClosureBondsPerceived(){ SetFlag(OB_CLOSURE_MOL); }
00371 void SetHydrogensAdded() { SetFlag(OB_H_ADDED_MOL); }
00372 void SetCorrectedForPH() { SetFlag(OB_PH_CORRECTED_MOL);}
00373 void SetAromaticCorrected() { SetFlag(OB_AROM_CORRECTED_MOL);}
00374 void SetSpinMultiplicityAssigned(){ SetFlag(OB_TSPIN_MOL); }
00375 void SetFlags(int flags) { _flags = flags; }
00376
00377 void UnsetAromaticPerceived() { _flags &= (~(OB_AROMATIC_MOL)); }
00378 void UnsetSSSRPerceived() { _flags &= (~(OB_SSSR_MOL)); }
00379 void UnsetRingTypesPerceived() { _flags &= (~(OB_RINGTYPES_MOL)); }
00380 void UnsetPartialChargesPerceived(){ _flags &= (~(OB_PCHARGE_MOL));}
00381 void UnsetImplicitValencePerceived(){_flags &= (~(OB_IMPVAL_MOL)); }
00382 void UnsetHydrogensAdded() { UnsetFlag(OB_H_ADDED_MOL); }
mol.h 1481
Open Babel: API Documentation
00383 void UnsetFlag(int flag) { _flags &= (~(flag)); }
00385
00387
00388 // Description in transform.cpp (command-line transformations to this molecule)
00389 virtual OBBase* DoTransformations(const std::map<std::string,std::string>* pOption
00390 // Ditto (documentation on transformation options)
00391 static const char* ClassDescription();
00393 bool Clear();
00395 void RenumberAtoms(std::vector<OBAtom*>&);
00398 void SetCoordinates(double *c);
00400 void ToInertialFrame(int conf, double *rmat);
00402 void ToInertialFrame();
00404 void Translate(const vector3 &v);
00406 void Translate(const vector3 &v, int conf);
00408 void Rotate(const double u[3][3]);
00410 void Rotate(const double m[9]);
00412 void Rotate(const double m[9],int nconf);
00414 void Center();
00416
00417 bool Kekulize();
00418 bool PerceiveKekuleBonds();
00419
00420 void NewPerceiveKekuleBonds();
00421
00424 bool DeleteHydrogens();
00427 bool DeleteHydrogens(OBAtom*);
00430 bool DeleteNonPolarHydrogens();
00433 bool DeleteHydrogen(OBAtom*);
00440 bool AddHydrogens(bool polaronly=false,bool correctForPH=false, double pH=7.4);
00442 bool AddHydrogens(OBAtom*);
00444 bool AddPolarHydrogens();
00445
00447 bool StripSalts(int threshold);
00449 std::vector<OBMol> Separate(int StartIndex=1);
00451 bool GetNextFragment( OpenBabel::OBMolAtomDFSIter& iter, OBMol& newMol );
00453 bool ConvertDativeBonds();
00454
00456 bool CorrectForPH(double pH=7.4);
00457 // docs in mol.cpp
00458 bool AssignSpinMultiplicity(bool NoImplicitH=false);
00461 vector3 Center(int nconf);
00467 void SetTorsion(OBAtom*,OBAtom*,OBAtom*,OBAtom*,double ang);
00469
00471
00472
00473 void FindSSSR();
00475 void FindRingAtomsAndBonds();
00477 void FindChiralCenters();
00478 // documented in mol.cpp -- locates all atom indexes which can reach 'end'
00479 void FindChildren(std::vector<int> & children,int bgnIdx,int endIdx);
00480 // documented in mol.cpp -- locates all atoms which can reach 'end'
00481 void FindChildren(std::vector<OBAtom*>& children,OBAtom* bgn,OBAtom* end);
00486 void FindLargestFragment(OBBitVec &frag);
00489 void ContigFragList(std::vector<std::vector<int> >&);
00491 void Align(OBAtom*,OBAtom*,vector3&,vector3&);
00493 void ConnectTheDots();
00495 void PerceiveBondOrders();
00497 void FindAngles();
00499 void FindTorsions();
00500 // documented in mol.cpp: graph-theoretical distance for each atom
00501 bool GetGTDVector(std::vector<int> &);
mol.h 1482
Open Babel: API Documentation
00502 // documented in mol.cpp: graph-invariant index for each atom
00503 void GetGIVector(std::vector<unsigned int> &);
00504 // documented in mol.cpp: calculate symmetry-unique identifiers
00505 void GetGIDVector(std::vector<unsigned int> &);
00507
00509
00510
00511 bool Has2D();
00513 bool Has3D();
00515 bool HasNonZeroCoords();
00517 bool HasAromaticPerceived() { return(HasFlag(OB_AROMATIC_MOL)); }
00519 bool HasSSSRPerceived() { return(HasFlag(OB_SSSR_MOL)); }
00521 bool HasRingAtomsAndBondsPerceived(){return(HasFlag(OB_RINGFLAGS_MOL));}
00523 bool HasAtomTypesPerceived() { return(HasFlag(OB_ATOMTYPES_MOL));}
00525 bool HasRingTypesPerceived() { return(HasFlag(OB_RINGTYPES_MOL));}
00527 bool HasChiralityPerceived() { return(HasFlag(OB_CHIRALITY_MOL));}
00529 bool HasPartialChargesPerceived() { return(HasFlag(OB_PCHARGE_MOL));}
00531 bool HasHybridizationPerceived() { return(HasFlag(OB_HYBRID_MOL)); }
00533 bool HasImplicitValencePerceived() { return(HasFlag(OB_IMPVAL_MOL));}
00535 bool HasKekulePerceived() { return(HasFlag(OB_KEKULE_MOL)); }
00537 bool HasClosureBondsPerceived() { return(HasFlag(OB_CLOSURE_MOL)); }
00539 bool HasChainsPerceived() { return(HasFlag(OB_CHAINS_MOL)); }
00541 bool HasHydrogensAdded() { return(HasFlag(OB_H_ADDED_MOL)); }
00543 bool HasAromaticCorrected() { return(HasFlag(OB_AROM_CORRECTED_MOL));}
00545 bool IsCorrectedForPH() { return(HasFlag(OB_PH_CORRECTED_MOL)); }
00547 bool HasSpinMultiplicityAssigned() { return(HasFlag(OB_TSPIN_MOL)); }
00549 bool IsChiral();
00551 bool Empty() { return(_natoms == 0); }
00553
00555
00556
00557 int NumConformers() { return((_vconf.empty())?0:_vconf.size()); }
00559 void SetConformers(std::vector<double*> &v);
00561 void AddConformer(double *f) { _vconf.push_back(f); }
00564 void SetConformer(int i);
00567 void CopyConformer(double* c,int nconf);
00569 void DeleteConformer(int nconf);
00571 double *GetConformer(int i) { return(_vconf[i]); }
00573 void SetEnergies(std::vector<double> &energies);
00575 std::vector<double> GetEnergies();
00578 double GetEnergy(int ci);
00581 double *BeginConformer(std::vector<double*>::iterator&i)
00582 { i = _vconf.begin();
00583 return((i == _vconf.end()) ? NULL:*i); }
00586 double *NextConformer(std::vector<double*>::iterator&i)
00587 { ++i;
00588 return((i == _vconf.end()) ? NULL:*i); }
00590 std::vector<double*> &GetConformers() { return(_vconf); }
00592
00594
00595
00596 OBAtomIterator BeginAtoms() { return _vatom.begin(); }
00598 OBAtomIterator EndAtoms() { return _vatom.begin() + NumAtoms() ; }
00600 OBBondIterator BeginBonds() { return _vbond.begin(); }
00602 OBBondIterator EndBonds() { return _vbond.begin() + NumBonds() ; }
00604 OBResidueIterator BeginResidues() { return _residue.begin(); }
00606 OBResidueIterator EndResidues() { return _residue.end(); }
00607
00610 OBAtom *BeginAtom(OBAtomIterator &i);
00613 OBAtom *NextAtom(OBAtomIterator &i);
00616 OBBond *BeginBond(OBBondIterator &i);
mol.h 1483
Open Babel: API Documentation
00619 OBBond *NextBond(OBBondIterator &i);
00622 OBResidue *BeginResidue(OBResidueIterator &i)
00623 {
00624 i = _residue.begin();
00625 return((i == _residue.end()) ? NULL:*i);
00626 }
00629 OBResidue *NextResidue(OBResidueIterator &i)
00630 {
00631 ++i;
00632 return((i == _residue.end()) ? NULL:*i);
00633 }
00637 OBInternalCoord *BeginInternalCoord(std::vector<OBInternalCoord*>::iterator &i)
00638 {
00639 i = _internals.begin();
00640 return((i == _internals.end()) ? NULL:*i);
00641 }
00645 OBInternalCoord *NextInternalCoord(std::vector<OBInternalCoord*>::iterator &i)
00646 {
00647 ++i;
00648 return((i == _internals.end()) ? NULL:*i);
00649 }
00651
00652 };
00653
00654 // Utility function prototypes
00655 //tokenize and Trim declarations moved to base.h
00656 // Deprecated -- use OBMessageHandler class instead (docs in obutil.cpp)
00657 OBAPI void ThrowError(char *str);
00658 // Deprecated -- use OBMessageHandler class instead (docs in obutil.cpp)
00659 OBAPI void ThrowError(std::string &str);
00661 OBAPI void CartesianToInternal(std::vector<OBInternalCoord*>&,OBMol&);
00663 OBAPI void InternalToCartesian(std::vector<OBInternalCoord*>&,OBMol&);
00664 // Replace the last extension in str with a new one (docs in obutil.cpp)
00665 OBAPI std::string NewExtension(std::string&,char*);
00666
00667 //global definitions
00669 EXTERN OBElementTable etab;
00672 EXTERN OBTypeTable ttab;
00674 EXTERN OBIsotopeTable isotab;
00676 EXTERN OBAromaticTyper aromtyper;
00679 EXTERN OBAtomTyper atomtyper;
00681 EXTERN OBChainsParser chainsparser;
00683 OBERROR extern OBMessageHandler obErrorLog;
00685 EXTERN OBResidueData resdat;
00686
00687 //Utility Macros
00688
00689 #ifndef BUFF_SIZE
00690 #define BUFF_SIZE 32768
00691 #endif
00692
00693 #ifndef EQ
00694 #define EQ(a,b) (!strcmp((a), (b)))
00695 #endif
00696
00697 #ifndef EQn
00698 #define EQn(a,b,n) (!strncmp((a), (b), (n)))
00699 #endif
00700
00701 #ifndef SQUARE
00702 #define SQUARE(x) ((x)*(x))
mol.h 1484
Open Babel: API Documentation
00703 #endif
00704
00705 #ifndef IsUnsatType
00706 #define IsUnsatType(x) (EQ(x,"Car") || EQ(x,"C2") || EQ(x,"Sox") || EQ(x,"Sac") || EQ(x,
00707 #endif
00708
00709 #ifndef __KCC
00710 extern "C"
00711 {
00712 OBAPI void get_rmat(double*,double*,double*,int);
00713 OBAPI void ob_make_rmat(double mat[3][3],double rmat[9]);
00714 OBAPI void qtrfit (double *r,double *f,int size,double u[3][3]);
00715 OBAPI double superimpose(double*,double*,int);
00716 }
00717 #else
00718 OBAPI void get_rmat(double*,double*,double*,int);
00719 OBAPI void ob_make_rmat(double mat[3][3],double rmat[9]);
00720 OBAPI void qtrfit (double *r,double *f,int size,double u[3][3]);
00721 OBAPI double superimpose(double*,double*,int);
00722 #endif // __KCC
00723
00724 // extern OBMol* (*CreateMolecule) (void);
00725
00726 } // end namespace OpenBabel
00727
00728 #endif // OB_MOL_H
00729
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
mol.h 1485
mol.h File Reference
Handle molecules. Declarations of OBMol, OBAtom, OBBond, OBResidue. (the main header for Open
Babel). More...
#include <openbabel/babelconfig.h>
#include <math.h>
#include <float.h>
#include <vector>
#include <string>
#include <map>
#include <openbabel/atom.h>
#include <openbabel/bond.h>
#include <openbabel/base.h>
#include <openbabel/data.h>
#include <openbabel/chains.h>
#include <openbabel/math/vector3.h>
#include <openbabel/bitvec.h>
#include <openbabel/residue.h>
#include <openbabel/ring.h>
#include <openbabel/generic.h>
#include <openbabel/typer.h>
#include <openbabel/oberror.h>
#include <openbabel/obiter.h>
#include <openbabel/internalcoord.h>
This graph shows which files directly or indirectly include this file:
Namespaces
namespace OpenBabel
Classes
class OBMol
Molecule Class. More...
Defines
#define OB_SSSR_MOL (1<<1)
#define OB_RINGFLAGS_MOL (1<<2)
#define OB_AROMATIC_MOL (1<<3)
#define OB_ATOMTYPES_MOL (1<<4)
#define OB_CHIRALITY_MOL (1<<5)
#define OB_PCHARGE_MOL (1<<6)
#define OB_HYBRID_MOL (1<<8)
#define OB_IMPVAL_MOL (1<<9)
#define OB_KEKULE_MOL (1<<10)
#define OB_CLOSURE_MOL (1<<11)
#define OB_H_ADDED_MOL (1<<12)
#define OB_PH_CORRECTED_MOL (1<<13)
#define OB_AROM_CORRECTED_MOL (1<<14)
#define OB_CHAINS_MOL (1<<15)
#define OB_TCHARGE_MOL (1<<16)
#define OB_TSPIN_MOL (1<<17)
#define OB_RINGTYPES_MOL (1<<18)
#define OB_CURRENT_CONFORMER -1
#define BUFF_SIZE 32768
#define EQ(a, b) (!strcmp((a), (b)))
#define EQn(a, b, n) (!strncmp((a), (b), (n)))
#define SQUARE(x) ((x)*(x))
#define IsUnsatType(x) (EQ(x,"Car") || EQ(x,"C2") || EQ(x,"Sox") || EQ(x,"Sac") ||
EQ(x,"Pac") || EQ(x,"So2"))
Functions
void ThrowError (char *str)
void ThrowError (std::string &str)
void CartesianToInternal (std::vector< OBInternalCoord * > &, OBMol &)
void InternalToCartesian (std::vector< OBInternalCoord * > &, OBMol &)
std::string NewExtension (string &src, char *ext)
void get_rmat (double *, double *, double *, int)
void ob_make_rmat (double mat[3][3], double rmat[9])
void qtrfit (double *r, double *f, int size, double u[3][3])
Namespaces 1487
Open Babel: API Documentation
Variables
OBElementTable etab
OBTypeTable ttab
OBIsotopeTable isotab
OBAromaticTyper aromtyper
OBAtomTyper atomtyper
OBChainsParser chainsparser
OBERROR OBMessageHandler obErrorLog
OBResidueData resdat
Detailed Description
Handle molecules. Declarations of OBMol, OBAtom, OBBond, OBResidue. (the main header for Open
Babel).
Define Documentation
Functions 1488
Open Babel: API Documentation
#define OB_CURRENT_CONFORMER -1
OBForceField::SteepestDescentInitialize(), OBForceField::SteepestDescentTakeNSteps(),
OBForceField::SystematicRotorSearchInitialize(), OBForceField::SystematicRotorSearchNextConformer(),
OBForceField::ValidateConjugateGradients(), OBForceField::ValidateSteepestDescent(), and
OBForceField::WeightedRotorSearch().
#define EQ ( a,
(!strcmp((a),
b )
(b)))
#define EQn ( a,
b,
n ) (!strncmp((a), (b), (n)))
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
#include <openbabel/babelconfig.h>
#include <openbabel/mol.h>
#include <openbabel/molchrg.h>
Namespaces
namespace OpenBabel
Detailed Description
Assign Gasteiger partial charges.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
00001 /**********************************************************************
00002 molchrg.h - Assign Gasteiger partial charges.
00003
00004 Copyright (C) 1998-2001 by OpenEye Scientific Software, Inc.
00005 Some portions Copyright (C) 2001-2005 by Geoffrey R. Hutchison
00006
00007 This file is part of the Open Babel project.
00008 For more information, see <http://openbabel.sourceforge.net/>
00009
00010 This program is free software; you can redistribute it and/or modify
00011 it under the terms of the GNU General Public License as published by
00012 the Free Software Foundation version 2 of the License.
00013
00014 This program is distributed in the hope that it will be useful,
00015 but WITHOUT ANY WARRANTY; without even the implied warranty of
00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00017 GNU General Public License for more details.
00018 ***********************************************************************/
00019
00020 #ifndef OB_MOLCHRG_H
00021 #define OB_MOLCHRG_H
00022
00023 namespace OpenBabel
00024 {
00025
00026 class GasteigerState;
00027
00028 // class introduction in molchrg.cpp
00029 class OBAPI OBGastChrg
00030 {
00031 std::vector <GasteigerState*> _gsv;
00032
00033 void InitialPartialCharges(OBMol &);
00034 bool GasteigerSigmaChi(OBAtom *,double &,double &,double &);
00035
00036 public:
00037 OBGastChrg() {}
00038 ~OBGastChrg();
00039
00041 bool AssignPartialCharges(OBMol &);
00043 void GSVResize(int);
00044 };
00045
00048 class OBAPI GasteigerState
00049 {
00050 public:
00051 GasteigerState();
00052 ~GasteigerState() {}
00053
00054 void SetValues(double _a,double _b,double _c,double _q)
00055 {
00056 a = _a;
00057 b = _b;
00058 c = _c;
00059 denom=a+b+c;
molchrg.h 1493
Open Babel: API Documentation
00060 q = _q;
00061 }
00062
00063 double a, b, c;
00064 double denom;
00065 double chi;
00066 double q;
00067 };
00068
00069 }
00070
00071 #define OB_GASTEIGER_DENOM 20.02
00072 #define OB_GASTEIGER_DAMP 0.5
00073 #define OB_GASTEIGER_ITERS 6
00074
00075 #endif // OB_MOLCHRG_H
00076
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
molchrg.h 1494
molchrg.h File Reference
Assign Gasteiger partial charges. More...
This graph shows which files directly or indirectly include this file:
Namespaces
namespace OpenBabel
Classes
class OBGastChrg
Assigns Gasteiger partial charges. More...
class GasteigerState
Helper class for OBGastChrg which stores the Gasteiger states of a given atom. More...
Defines
#define OB_GASTEIGER_DENOM 20.02
#define OB_GASTEIGER_DAMP 0.5
#define OB_GASTEIGER_ITERS 6
Detailed Description
Assign Gasteiger partial charges.
Define Documentation
Referenced by OBGastChrg::AssignPartialCharges().
Referenced by OBGastChrg::AssignPartialCharges().
#define OB_GASTEIGER_ITERS 6
Referenced by OBGastChrg::AssignPartialCharges().
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
Classes
class AliasData
Indicate atoms as aliases for larger functional groups. More...
class OBAtom
Atom class. More...
class OBAtomClassData
Handle atom classes in reaction SMILES/SMIRKS. More...
class OBGenericData
Base class for generic data. More...
class OBBase
Base Class. More...
class OBBitVec
A speed-optimized vector of bits. More...
class OBBond
Bond class. More...
class OBBondTyper
Assigns bond types for file formats without bond information.
More...
class OBBuilder
Class to build 3D structures. More...
class OBChainsParser
Perceives peptide or nucleotide chains and residues in an OBMol.
More...
class OBGlobalDataBase
Base data table class, handles reading data files. More...
class OBElement
Individual element data type. More...
class OBElementTable
Periodic Table of the Elements. More...
class OBIsotopeTable
Table of atomic isotope masses. More...
class OBTypeTable
Atom Type Translation Table. More...
class OBResidueData
Table of common biomolecule residues (for PDB or other files).
More...
class OBDescriptor
Base class for molecular properties, descriptors or features. More...
class OBFingerprint
The base class for fingerprints. More...
struct FptIndexHeader
Header for fastsearch index file. More...
struct FptIndex
Structure of fastsearch index files. More...
Classes 1498
Open Babel: API Documentation
gamma). More...
class OBConformerData
Used to hold data on conformers or geometry optimization steps.
More...
class OBSymmetryData
Used to hold the point-group and/or space-group symmetry. More...
class OBTorsion
Used to hold the torsion data for a single rotatable bond and all four
atoms around it. More...
class OBTorsionData
Used to hold torsions as generic data for OBMol. More...
class OBAngle
Used to hold the 3 atoms in an angle and the angle itself. More...
class OBAngleData
Used to hold all angles in a molecule as generic data for OBMol.
More...
class OBChiralData
Used to hold chiral inforamtion about the atom as OBGenericData.
More...
class OBSerialNums
Defines a map between serial numbers (e.g., in a PDB file) and
OBAtom objects inside a molecule. More...
class OBVibrationData
Used to hold the normal modes of a molecule, etc. More...
class OBRotationData
Used to hold the rotational constants and symmetry numbers. More...
class OBVectorData
Used to hold a 3D vector item (e.g., a dipole moment). More...
class OBMatrixData
Used to hold a 3x3 matrix item (e.g., a quadrupole moment). More...
class OBGrid
A base grid class. More...
class OBFloatGrid
Handle double precision floating point 3D grids (e.g., charge density
around an OBMol). More...
class OBProxGrid
A grid for determining the proximity of a given point to atoms in an
OBMol. More...
class OBScoreGrid
A base class for scoring docking interactions between multiple
molecules. More...
class OBGridData
Store values for numeric grids such as orbitals or electrostatic
potential. More...
class OBGroupContrib
Handle group contribution algorithms. More...
class OBInternalCoord
Used to transform from z-matrix to cartesian coordinates. More...
class OBRateData
Holds rate constant data for OBReaction. More...
class OBNasaThermoData
Classes 1499
Open Babel: API Documentation
Thermodynamic data in old style NASA polynomial form for
OBMol. More...
class FilteringInputStreambuf
Delivers characters from an istream or streambuf from a source while
filtering. More...
class LineEndingExtractor
Replaces CRLF (DOS) and CR (Mac OS 9) line endings by LF
(POSIX). More...
class OBLocale
Handle the locale for numeric data parsing. More...
class OBMol
Molecule Class. More...
class OBGastChrg
Assigns Gasteiger partial charges. More...
class GasteigerState
Helper class for OBGastChrg which stores the Gasteiger states of a
given atom. More...
class OBConversion
Class to convert from one format to another. More...
class OBError
Customizable error handling and logging -- store a message,
including the method yielding the error, causes, etc. More...
class OBMessageHandler
Handle error messages, warnings, debugging information and the
like. More...
class obLogBuf
A minimal streambuf derivative to wrap calls to cerr into calls to
OBMessageHandler as needed. More...
class OBMolAtomIter
Iterate over all atoms in an OBMol. More...
class OBMolAtomDFSIter
Iterate over all atoms in an OBMol in a depth-first search (DFS).
More...
class OBMolAtomBFSIter
Iterate over all atoms in an OBMol in a breadth-first search (BFS).
More...
class OBMolBondIter
Iterate over all bonds in an OBMol. More...
class OBAtomAtomIter
Iterate over all neighboring atoms to an OBAtom. More...
class OBAtomBondIter
Iterate over all bonds on an OBAtom. More...
class OBResidueIter
Iterate over all residues in an OBMol. More...
class OBResidueAtomIter
Iterate over all atoms in an OBResidue. More...
class OBMolAngleIter
Iterate over all angles in an OBMol. More...
class OBMolTorsionIter
Iterate over all torsions in an OBMol. More...
class OBMolPairIter
Classes 1500
Open Babel: API Documentation
Iterate over all pairs of atoms (>1-4) in an OBMol. More...
class OBMolRingIter
Iterate over all rings in an OBMol. More...
class OBMoleculeFormat
An OBFormat convenience subclass for conversion to/from OBMol
data. More...
class OBStopwatch
Stopwatch class used for timing length of execution. More...
class OBSqrtTbl
Square Root lookup table - given a distance squared returns distance.
More...
class triple
A 3-element templated, based on the design of the STL pair<>.
More...
class quad
A 4-element templated, based on the design of the STL pair<>.
More...
class OBOp
Operations to modify molecules before output. More...
class OpTransform
Applies molecular transforms (OBChemTsfm class) read from a
datafile. More...
union _AtomExpr
An internal (SMARTS parser) atomic expression. More...
union _BondExpr
An internal (SMARTS parser) bond expression. More...
struct BondSpec
An internal (SMARTS parser) bond specification. More...
struct AtomSpec
An internal (SMARTS parser) atom specification. More...
struct Pattern
A SMARTS parser internal pattern. More...
class OBSmartsPattern
SMARTS (SMiles ARbitrary Target Specification) substructure
searching. More...
class OBSSMatch
Internal class: performs fast, exhaustive matching used to find just a
single match in match() using recursion and explicit stack handling.
More...
class patty
Programmable Atom Typer. More...
class OBChemTsfm
SMARTS based structural modification (chemical transformation).
More...
class OBPhModel
Corrections for pH used by OBMol::CorrectForPH(). More...
struct CharPtrLess
Case insensitive string comparison for PluginMapType key. More...
class OBPlugin
Base class for all types of dynamic classes discovered at runtime.
More...
Classes 1501
Open Babel: API Documentation
class OBPointGroup
Brute-force point group symmetry perception. More...
struct DoubleType
Used for internal random number generation OBRandom (unless the
system random generator is used). More...
class OBRandom
Random number generator. More...
class OBReaction
Used to store chemical reactions (i.e., reactants -> products). More...
class OBResidue
Residue information. More...
class OBRing
Stores information on rings in a molecule from SSSR perception.
More...
class OBRingSearch
Internal class to facilitate OBMol::FindSSSR(). More...
class OBRTree
Internal class for OBRing search algorithms to create a search tree of
OBAtom objects. More...
class OBRotamerList
Supports a set of rotamer coordinate sets for some number of
potentially rotatable bonds. More...
class OBRotorRule
A rule for torsional conformer searching, defined by a SMARTS
pattern. More...
class OBRotorRules
Database of default hybridization torsional rules and
SMARTS-defined OBRotorRule objects. More...
class OBRotor
A single rotatable OBBond as part of rotamer searching. More...
class OBRotorList
Given an OBMol, set up a list of possibly rotatable torsions,. More...
class OBRotorKeys
A class to generate all possible rotorKeys. More...
class OBAtomTyper
Assigns atom types, hybridization, implicit valence and formal
charges. More...
class OBAromaticTyper
Assigns aromatic typing to atoms and bonds. More...
class OBRingTyper
Assigns ring types. More...
class XMLConversion
A subclass for conversion of XML formats. More...
class XMLBaseFormat
Abstract class containing common functionality for XML formats.
More...
class XMLMoleculeFormat
Abstract class for XML formats which represent molecules. More...
class matrix3x3
Represents a real 3x3 matrix. More...
class SpaceGroup
Classes 1502
Open Babel: API Documentation
Handle crystallographic space group symmetry. More...
class transform3d
Handle 3D transformations, such as space group definitions. More...
class vector3
Represents a vector in 3-dimensional real space. More...
Namespaces
namespace OBGenericDataType
namespace OBAminoAcidProperty
namespace OBResidueAtomProperty
namespace OBResidueIndex
namespace OBResidueProperty
Typedefs
typedef OBAtom OBNodeBase
typedef std::vector< OBBond * >
::iterator OBBondIterator
typedef std::vector< OBAtom * >
::iterator OBAtomIterator
typedef std::vector
< OBGenericData * >::iterator OBDataIterator
typedef OBBond OBEdgeBase
typedef struct Template Template
typedef OBPairTemplate< int > OBPairInteger
typedef OBPairTemplate< double > OBPairFloatingPoint
typedef OBPlugin::PluginIterator Formatpos
typedef union OpenBabel::_AtomExpr AtomExpr
typedef union OpenBabel::_BondExpr BondExpr
typedef std::vector< OBResidue * >
::iterator OBResidueIterator
typedef std::vector< OBRotor * >
::iterator OBRotorIterator
typedef std::list< transform3d * >
::const_iterator transform3dIterator
typedef union OpenBabel::_ByteCode ByteCode
Enumerations
enum DataOrigin {
any, fileformatInput, userInput, perceived,
external
}
enum atomreftype { output, input, calcvolume }
enum score_t { Undefined = -1, PLP, ChemScore }
enum obMessageLevel {
obError, obWarning, obInfo, obAuditMsg,
obDebug
Namespaces 1503
Open Babel: API Documentation
}
enum errorQualifier { always, onceOnly }
enum { SPACE_GROUP_ID, SPACE_GROUP_HALL,
SPACE_GROUP_HM, SPACE_GROUP_TRANSFORM }
Functions
OBERROR double Tanimoto (const OBBitVec &bv1, const OBBitVec &bv2)
void CanonicalLabels (OBMol *pmol, OBBitVec &frag_atoms,
std::vector< unsigned int > &symmetry_classes, std::vector<
unsigned int > &canonical_labels)
void GraphPotentials (OBMol &mol, std::vector< double > &pot)
void construct_g_matrix (OBMol &mol, std::vector< std::vector< double
> > &m)
void construct_c_matrix (OBMol &mol, std::vector< std::vector< double
> > &m)
double CalcSignedVolume (OBMol &mol, OBAtom *, bool ReZeroZ=true)
double signed_volume (const vector3 &a, const vector3 &b, const vector3
&c, const vector3 &d)
void GetChirality (OBMol &mol, std::vector< int > &chirality)
int GetParity4Ref (std::vector< unsigned int > pref)
bool CorrectChirality (OBMol &mol, OBAtom *atm, atomreftype i=input,
atomreftype o=output)
template<class T>
static bool DoComparison (char ch1, char ch2, T &val, T &filterval)
void print_matrix (std::vector< std::vector< double > > &m)
void print_matrix_f (double *m, int rows, int cols)
void print_matrix_ff (double **m, int rows, int cols)
bool mult_matrix (std::vector< std::vector< double > > &c, std::vector<
std::vector< double > > &a, std::vector< std::vector< double > > &b)
bool mult_matrix_f (double *c, double *a, double *b, int rows, int cols)
bool mult_matrix_ff (double **c, double **a, double **b, int rows, int
cols)
bool invert_matrix (std::vector< std::vector< double > > &m, double
&det)
bool invert_matrix_f (double *m, double &det, int rows, int cols)
bool invert_matrix_ff (double **m, double &det, int rows, int cols)
bool convert_matrix_f (std::vector< std::vector< double > > &src, double
*dst)
bool convert_matrix_ff (std::vector< std::vector< double > > &src, double
**dst)
bool convert_matrix_f (double *src, std::vector< std::vector< double > >
&dst, int rows, int cols)
bool convert_matrix_ff (double **src, std::vector< std::vector< double > >
&dst, int rows, int cols)
bool convert_matrix_ff_f (double **src, double *dst, int rows, int cols)
bool convert_matrix_f_ff (double *src, double **dst, int rows, int cols)
void ThrowError (char *str)
void ThrowError (std::string &str)
void
Enumerations 1504
Open Babel: API Documentation
CartesianToInternal (std::vector< OBInternalCoord * > &, OBMol
&)
void InternalToCartesian (std::vector< OBInternalCoord * > &, OBMol
&)
std::string NewExtension (string &src, char *ext)
void get_rmat (double *, double *, double *, int)
void ob_make_rmat (double mat[3][3], double rmat[9])
void qtrfit (double *r, double *f, int size, double u[3][3])
double superimpose (double *, double *, int)
void rotate_coords (double *, double m[3][3], int)
double calc_rms (double *r, double *f, unsigned int N)
bool OBCompareInt (const int &a, const int &b)
bool OBCompareUnsigned (const unsigned int &a, const unsigned int &b)
bool IsNear (const double &a, const double &b, const double epsilon)
bool IsNearZero (const double &a, const double epsilon)
bool IsNan (const double &a)
bool IsNegligible (const double &a, const double &b, const double
precision=1e-11)
bool IsApprox (const double &a, const double &b, const double
precision=1e-11)
bool IsApprox_pos (const double &a, const double &b, const double
precision=1e-11)
bool CanBeSquared (const double &)
bool SafeOpen (std::ifstream &fs, const char *filename)
bool SafeOpen (std::ofstream &fs, const char *filename)
void SmartsLexReplace (std::string &, std::vector< std::pair< std::string,
std::string > > &)
void DoubleMultiply (unsigned int, unsigned int, DoubleType *)
void DoubleAdd (DoubleType *, unsigned int)
unsigned int DoubleModulus (DoubleType *, unsigned int)
bool CompareRingSize (const OBRing *, const OBRing *)
int Swab (int)
OBERROR bool tokenize (std::vector< std::string > &, const char *buf, const char
*delimstr=" \t\n\r")
OBERROR bool tokenize (std::vector< std::string > &, std::string &, const char
*delimstr=" \t\n\r", int limit=-1)
OBERROR std::string & Trim (std::string &txt)
OBERROR std::string OpenDatafile (std::ifstream &fs, const std::string &filename, const
std::string &envvar="BABEL_DATADIR")
vector3 center_coords (double *, int)
std::ostream & operator<< (std::ostream &, const vector3 &)
vector3 operator+ (const vector3 &v1, const vector3 &v2)
vector3 operator- (const vector3 &v1, const vector3 &v2)
vector3 operator- (const vector3 &v)
vector3 operator* (const double &c, const vector3 &v)
vector3 operator* (const vector3 &v, const double &c)
vector3 operator/ (const vector3 &v, const double &c)
vector3 operator* (const matrix3x3 &m, const vector3 &v)
double dot (const vector3 &v1, const vector3 &v2)
vector3 cross (const vector3 &, const vector3 &)
double vectorAngle (const vector3 &v1, const vector3 &v2)
Functions 1505
Open Babel: API Documentation
double CalcTorsionAngle (const vector3 &a, const vector3 &b, const
vector3 &c, const vector3 &d)
double Point2Plane (vector3 a, vector3 b, vector3 c, vector3 d)
double Point2PlaneAngle (const vector3 a, const vector3 b, const vector3 c,
const vector3 d)
static void ApplyRotMatToBond (OBMol &mol, matrix3x3 &m, OBAtom *a1,
OBAtom *a2)
OBBitVec operator| (const OBBitVec &bv1, const OBBitVec &bv2)
OBBitVec operator & (const OBBitVec &bv1, const OBBitVec &bv2)
OBBitVec operator^ (const OBBitVec &bv1, const OBBitVec &bv2)
OBBitVec operator- (const OBBitVec &bv1, const OBBitVec &bv2)
bool operator== (const OBBitVec &bv1, const OBBitVec &bv2)
bool operator< (const OBBitVec &bv1, const OBBitVec &bv2)
std::istream & operator>> (std::istream &is, OBBitVec &bv)
std::ostream & operator<< (std::ostream &os, const OBBitVec &bv)
static bool CompareUnsigned (const unsigned int &a, const unsigned int &b)
static bool ComparePairFirst (const pair< OBAtom *, unsigned int > &a, const
pair< OBAtom *, unsigned int > &b)
static bool ComparePairSecond (const pair< OBAtom *, unsigned int > &a,
const pair< OBAtom *, unsigned int > &b)
static bool CompareBondPairSecond (const pair< OBBond *, unsigned int > &a,
const pair< OBBond *, unsigned int > &b)
static unsigned int GetValence (OBAtom *atom, OBBitVec &frag_atoms)
static unsigned int GetHvyValence (OBAtom *atom, OBBitVec &frag_atoms)
static unsigned int GetHvyBondSum (OBAtom *atom, OBBitVec &frag_atoms)
static bool GetGTDVector (OBMol *pmol, OBBitVec &frag_atoms, vector< int
> >d)
static void FindRingAtoms (OBMol *pmol, OBBitVec &frag_atoms, OBBitVec
&ring_atoms)
static void GetGIVector (OBMol *pmol, OBBitVec &frag_atoms, vector<
unsigned int > &vid)
static void CreateNewClassVector (vector< pair< OBAtom *, unsigned int > >
&vp1, vector< pair< OBAtom *, unsigned int > > &vp2, OBBitVec
&frag_atoms, int natoms)
static void CountAndRenumberClasses (vector< pair< OBAtom *, unsigned int
> > &vp, unsigned int &count)
static int ExtendInvarients (vector< pair< OBAtom *, unsigned int > >
&symmetry_classes, OBBitVec &frag_atoms, int nfragatoms, int
natoms)
static int CalculateSymmetry (OBMol *pmol, OBBitVec &frag_atoms,
vector< pair< OBAtom *, unsigned int > > &symmetry_classes)
static void BreakChiralTies (OBMol *pmol, OBBitVec &frag_atoms, int
nfragatoms, vector< pair< OBAtom *, unsigned int > >
&atom_sym_classes)
static void FindConjugatedEZBonds (OBAtom *atom, OBBitVec &flip_bonds,
OBBitVec &visited_atoms)
static void FixCisTransBonds (OBMol *pmol, OBBitVec &frag_atoms, vector<
unsigned int > &symmetry_classes, vector< unsigned int >
&canonical_labels)
static ByteCode * AllocateByteCode (int type)
static void DeleteByteCode (ByteCode *node)
Functions 1506
Open Babel: API Documentation
static void FatalMemoryError (void)
void GenerateByteCodes (ByteCode **node, int resid, int curr, int prev,
int bond)
void Toupper (string &s)
void Tolower (string &s)
void Reweight (std::vector< std::vector< double > > &rotorWeights,
std::vector< int > rotorKey, double bonus)
ostream & operator<< (ostream &os, const OBFloatGrid &fg)
istream & operator>> (istream &is, OBFloatGrid &fg)
bool SortVVInt (const vector< int > &a, const vector< int > &b)
bool SortAtomZ (const pair< OBAtom *, double > &a, const pair<
OBAtom *, double > &b)
static bool OBComparePairSecond (const pair< OBAtom *, unsigned int > &a,
const pair< OBAtom *, unsigned int > &b)
static bool OBComparePairFirst (const pair< OBAtom *, unsigned int > &a,
const pair< OBAtom *, unsigned int > &b)
static void ClassCount (vector< pair< OBAtom *, unsigned int > > &vp,
unsigned int &count)
static void CreateNewClassVector (vector< pair< OBAtom *, unsigned int > >
&vp1, vector< pair< OBAtom *, unsigned int > > &vp2)
static int ValenceSum (OBAtom *atom)
static bool KekulePropagate (OBAtom *atom, vector< int > &visit, vector< int >
&ival, int depth)
int GetCurrentValence (OBAtom *atom)
bool ExpandKekule (OBMol &mol, vector< OBAtom * > &va, vector<
OBAtom * >::iterator i, vector< int > &maxv, bool secondpass)
void CorrectBadResonanceForm (OBMol &mol)
bool WriteTitles (ostream &ofs, OBMol &mol)
vector3 center_coords (double *c, unsigned int size)
void rotate_coords (double *c, double m[3][3], unsigned int size)
void SetRotorToAngle (double *c, vector< int > &tor, double ang, vector<
int > &atoms)
bool SafeOpen (std::ifstream &fs, const string &filename)
bool SafeOpen (std::ofstream &fs, const string &filename)
void InvertCase (std::string &s, unsigned int start)
int SolveLinear (double A, double B)
int SolveQuadratic (double A, double B, double C)
double CubeRoot (double X)
int SolveCubic (double A, double B, double C, double D)
static int get_roots_3_3 (double mat[3][3], double roots[3])
OpCenter theOpCenter ("center")
static bool match (OBMol &mol, Pattern *pat, std::vector< std::vector< int > >
&mlist, bool single=false)
static bool EvalAtomExpr (AtomExpr *expr, OBAtom *atom)
static bool EvalBondExpr (BondExpr *expr, OBBond *bond)
static int GetVectorBinding ()
static int CreateAtom (Pattern *, AtomExpr *, int, int vb=0)
static void FatalAllocationError (const char *ptr)
static void FreePattern (Pattern *)
static Pattern * CopyPattern (Pattern *)
static AtomExpr * AllocAtomExpr (void)
Functions 1507
Open Babel: API Documentation
static AtomExpr * CopyAtomExpr (AtomExpr *expr)
static void FreeAtomExpr (AtomExpr *expr)
static AtomExpr * BuildAtomLeaf (int prop, int val)
static AtomExpr * BuildAtomNot (AtomExpr *expr)
static AtomExpr * BuildAtomBin (int op, AtomExpr *lft, AtomExpr *rgt)
static AtomExpr * BuildAtomRecurs (Pattern *pat)
static AtomExpr * GenerateElement (int elem)
static AtomExpr * GenerateAromElem (int elem, int flag)
static int IsInvalidAtom (AtomExpr *expr)
static BondExpr * AllocBondExpr (void)
static BondExpr * CopyBondExpr (BondExpr *expr)
static bool EquivalentBondExpr (BondExpr *expr1, BondExpr *expr2)
static void FreeBondExpr (BondExpr *expr)
static BondExpr * BuildBondLeaf (int prop, int val)
static BondExpr * BuildBondNot (BondExpr *expr)
static BondExpr * BuildBondBin (int op, BondExpr *lft, BondExpr *rgt)
static BondExpr * GenerateDefaultBond (void)
static Pattern * AllocPattern (void)
static int CreateBond (Pattern *pat, BondExpr *expr, int src, int dst)
static Pattern * ParseSMARTSPattern (void)
static Pattern * ParseSMARTSPart (Pattern *, int)
static Pattern * SMARTSError (Pattern *pat)
static AtomExpr * ParseSimpleAtomPrimitive (void)
static AtomExpr * ParseComplexAtomPrimitive (void)
static AtomExpr * ParseAtomExpr (int level)
static BondExpr * ParseBondPrimitive (void)
static BondExpr * ParseBondExpr (int level)
static Pattern * ParseSMARTSError (Pattern *pat, BondExpr *expr)
static Pattern * SMARTSParser (Pattern *pat, ParseState *stat, int prev, int part)
static void MarkGrowBonds (Pattern *pat)
static int GetChiralFlag (AtomExpr *expr)
static Pattern * ParseSMARTSString (char *ptr)
Pattern * ParseSMARTSRecord (char *ptr)
static void TraverseSMARTS (Pattern *pat, int i)
static AtomExpr * NotAtomExpr (AtomExpr *)
static AtomExpr * AndAtomExpr (AtomExpr *, AtomExpr *)
static AtomExpr * OrAtomExpr (AtomExpr *, AtomExpr *)
static int IsBooleanAtomLeaf (AtomExpr *expr)
static int IsNegatingAtomLeaf (AtomExpr *expr)
static int EqualAtomExpr (AtomExpr *lft, AtomExpr *rgt)
static int OrderAtomExpr (AtomExpr *lft, AtomExpr *rgt)
static int AtomLeafConflict (AtomExpr *lft, AtomExpr *rgt)
static int AtomExprConflict (AtomExpr *lft, AtomExpr *rgt)
static int AtomLeafImplies (AtomExpr *lft, AtomExpr *rgt)
static int AtomExprImplied (AtomExpr *lft, AtomExpr *rgt)
static AtomExpr * AtomExprImplies (AtomExpr *lft, AtomExpr *rgt)
static AtomExpr * AndAtomExprLeaf (AtomExpr *lft, AtomExpr *rgt)
static AtomExpr * ConstrainRecursion (AtomExpr *recur, AtomExpr *expr)
static AtomExpr * OrAtomExprLeaf (AtomExpr *lft, AtomExpr *rgt)
static int GetBondLeafIndex (BondExpr *expr)
static int GetBondExprIndex (BondExpr *expr)
Functions 1508
Open Babel: API Documentation
void SetupAtomMatchTable (std::vector< std::vector< bool > > &ttab,
Pattern *pat, OBMol &mol)
static void FastSingleMatch (OBMol &mol, Pattern *pat, std::vector<
std::vector< int > > &mlist)
static int GetExprOrder (BondExpr *expr)
void SmartsLexReplace (std::string &s, std::vector< std::pair< std::string,
std::string > > &vlex)
static unsigned int isqrt (unsigned int val)
static int IsOddPrime (unsigned int x)
static int RelativelyPrime (unsigned int x, unsigned int y)
static int LeadingZeros (unsigned int x)
static int DeterminePotency (unsigned int m, unsigned int a)
static int DetermineFactors (unsigned int x, unsigned int *factors)
static unsigned int DetermineIncrement (unsigned int m)
int DetermineSequence (unsigned int m, unsigned int *pm, unsigned int
*pa, unsigned int *pc)
void GenerateSequence (unsigned int p, unsigned int m, unsigned int a,
unsigned int c)
static unsigned int GetAtomIDNumber (const char *atomid)
static unsigned int GetResidueNumber (const char *res)
static void SetResidueKeys (const char *residue, unsigned int &reskey,
unsigned int &aakey)
static int DetermineFRJ (OBMol &)
static void BuildOBRTreeVector (OBAtom *, OBRTree *, vector< OBRTree *
> &, OBBitVec &)
static void FindRings (OBMol &mol, vector< int > &path, OBBitVec &avisit,
OBBitVec &bvisit, int natom, int depth)
double rint (double x)
void SetRotorToAngle (double *c, OBAtom **ref, double ang, vector< int
> atoms)
int PackCoordinate (double c[3], double max[3])
void UnpackCoordinate (double c[3], double max[3], int tmp)
static bool GetDFFVector (OBMol &, vector< int > &, OBBitVec &)
static bool CompareRotor (const pair< OBBond *, int > &, const pair< OBBond
*, int > &)
static double MinimumPairRMS (OBMol &, double *, double *, bool &)
char * trim_spaces (char *string)
matrix3x3 operator* (const matrix3x3 &A, const matrix3x3 &B)
static double SQUARE (double x)
ostream & operator<< (ostream &co, const matrix3x3 &m)
const vector3 VZero (0.0, 0.0, 0.0)
const vector3 VX (1.0, 0.0, 0.0)
const vector3 VY (0.0, 1.0, 0.0)
const vector3 VZ (0.0, 0.0, 1.0)
String conversion utilities
void ToUpper (std::string &s)
void ToUpper (char *cptr)
void ToLower (std::string &s)
void ToLower (char *cptr)
void InvertCase (std::string &, int)
void InvertCase (char *cptr)
Functions 1509
Open Babel: API Documentation
Variables
const unsigned int AliasDataType = 0x7883
const unsigned RateData = 55555
const unsigned ThermoData = 55556
OBERROR OBLocale obLocale
OBElementTable etab
OBTypeTable ttab
OBIsotopeTable isotab
OBAromaticTyper aromtyper
OBAtomTyper atomtyper
OBChainsParser chainsparser
OBERROR OBMessageHandler obErrorLog
OBResidueData resdat
char Residue [MAXRES][4]
char ElemDesc [MAXELEM][4]
unsigned int ResNo = MINRES
unsigned int ElemNo = MINELEM
const vector3 VZero
const vector3 VX
const vector3 VY
const vector3 VZ
OBPhModel phmodel
static int bitsoff [SETWORD]
const unsigned nibble_bit_count [0x10]
OBBondTyper bondtyper
static Template Peptide [MAXPEPTIDE]
static Template Nucleotide [MAXNUCLEIC]
static char ChainsAtomName [ATOMMAX][4]
static ResidType AminoAcids [AMINOMAX]
static ResidType Nucleotides [NUCLEOMAX]
static MonoAtomType MonoAtom [MaxMonoAtom]
static MonoBondType MonoBond [MaxMonoBond]
static int MonoAtomCount
static int MonoBondCount
static StackType Stack [STACKSIZE]
static int StackPtr
static int AtomIndex
static int BondIndex
static bool StrictFlag = false
bool SwabInt = (STPTR[0]!=0)
static double Roots [4]
std::vector< std::pair
< Pattern *, std::vector< bool > > > RSCACHE
static char * MainPtr
static char * LexPtr
static char Buffer [BUFF_SIZE]
static char Descr [BUFF_SIZE]
Variables 1510
Open Babel: API Documentation
POINT_GROUP PointGroups []
static int primes [MAXPRIMES]
OBRingTyper ringtyper
static int SINT = 0x00000001
static unsigned char * STPTR = (unsigned char*)&SINT
static SpaceGroups _SpaceGroups
Detailed Description
Global namespace for all Open Babel code.
Typedef Documentation
enum DataOrigin
Enumerator:
any Undefined or unspecified (default).
fileformatInput Read from an input file.
userInput Added by the user.
perceived Perceived by Open Babel library methods.
external Added by an external program.
enum atomreftype
Enumerator:
output
input
calcvolume
enum score_t
Enumerator:
Undefined
PLP
ChemScore
enum obMessageLevel
Levels of error and audit messages to allow filtering.
Enumerator:
obError for critical errors (e.g., cannot read a file)
obWarning for non-critical problems (e.g., molecule appears empty)
obInfo for informative messages (e.g., file is a non-standard format)
obAuditMsg for messages auditing methods which destroy or perceive molecular data (e.g.,
kekulization, atom typing, etc.)
obDebug for messages only useful for debugging purposes
enum errorQualifier
Enumerator:
always
onceOnly
anonymous enum
Enumerator:
SPACE_GROUP_ID
SPACE_GROUP_HALL
SPACE_GROUP_HM
SPACE_GROUP_TRANSFORM
Function Documentation
The Tanimoto coefficient may be regarded as the proportion of the "on-bits" which are shared.
Parameters:
[in] bv1 the first bit vector
[in] bv2 the second bit vector
Returns:
the ratio of shared bits to bits which either vector has set.
Referenced by FastSearch::FindSimilar().
based on V.E. and Rozenblit, A.B. Golender Logical and Combinatorial Algorithms for Drug Design.
For an example see: Walters, W. P., Yalkowsky, S. H., JCICS, 1996, 36(5), 1015-1017. DOI:
10.1021/ci950278o
Referenced by GraphPotentials().
Referenced by GraphPotentials().
Calculate the signed volume for an atom. If the atom has a valence of 3 the coordinates of an attached
hydrogen are calculated Puts attached Hydrogen last at the moment, like mol V3000 format. If ReZero=false
(the default is true) always make pseudo z coords and leave them in mol
Referenced by GetChirality().
Referenced by CalcSignedVolume().
Referenced by CorrectChirality().
Referenced by GraphPotentials().
Referenced by GraphPotentials().
double
bool invert_matrix_f ( m,
*
double
det,
&
int rows,
int cols
)
Deprecated:
Throw an error through the OpenBabel::OBMessageHandler class
Deprecated:
Throw an error through the OpenBabel::OBMessageHandler class
std::vector<
void CartesianToInternal ( OBInternalCoord * > vic,
&
OBMol & mol
)
Convert Cartesian XYZ to a set of OBInternalCoord coordinates.
Use the supplied OBMol and its Cartesian coordinates to generate a set of internal (z-matrix) coordinates as
supplied in the vector<OBInternalCoord*> argument. Implements
blue-obelisk:cartesianCoordinatesIntoZmatrixCoordinates.
Referenced by OBMol::GetInternalCoord().
std::vector<
void InternalToCartesian ( OBInternalCoord * > vic,
&
OBMol & mol
)
Convert set of OBInternalCoord coordinates into Cartesian XYZ.
Transform the supplied vector<OBInternalCoord*> into cartesian and update the OBMol accordingly.
Implements blue-obelisk:zmatrixCoordinatesIntoCartesianCoordinates
std::string
string NewExtension ( src,
&
char * ext
)
Utility function: replace the last extension in string &src with new extension char *ext.
double * f,
int size
)
char
void CleanAtomType ( id )
*
"Clean" the supplied atom type
"Clean" the supplied atom type, shifting the first character to uppercase, the second character (if it's a letter) to
lowercase, and terminating with a NULL to strip off any trailing characters
Returns:
True if a < b, False otherwise.
Returns:
True if a < b, False otherwise.
Referenced by CreateNewClassVector().
"Safe" comparison for floats/doubles: returns fabs(a - b) < epsilon This function really doesn't make any sense
w.r.t. floating-point representation, so you should never use it. It is provided only for backwards
compatibility.
Deprecated:
Use IsApprox() instead
"Safe" comparison for floats/doubles: true if a is less than epsilon This function really doesn't make any sense
w.r.t. floating-point representation, so you should never use it. It is provided only for backwards
compatibility.
Deprecated:
const
bool IsNan ( double a )
&
Comparison for nan (not a number).
Referenced by OBDescriptor::CompareStringWithFilter().
Returns:
true if a is much smaller than b. More precisely:
return( fabs(a) <= precision * fabs(b) );
Note:
To check if x is zero, use
IsNegligible( x, 1.0)
instead of
IsApprox( x, 0.0 )
const
bool CanBeSquared ( double a )
&
Tests whether its argument can be squared without triggering an overflow or underflow.
Tests whether its argument can be squared without triggering an overflow or underflow.
Referenced by vector3::CanBeNormalized().
)
Safely open the supplied filename and return an ifstream, throwing an error to the default OBMessageHandler
error log if it fails.
Referenced by SafeOpen().
const OBRing * b
)
Comparison function for rings, used by OBRingSearch::SortRings()
Returns:
true if a.size() > b.size()
Referenced by OBRingSearch::SortRings().
Opens the filestream with the first file called filename found by looking successively in the following
directories:
Parameters:
ifs Stream to load
filename Name of the data file to load
envvar Name of the environment variable
Returns:
the name of the file that was opened. This includes the path unless it is in current directory
const
vector3 operator* ( matrix3x3 m,
&
const
v
vector3 &
)
Multiplication of matrix and vector.
Matrix-vector multiplication.
Calculates the product m*v of the matrix m and the column vector represented by v
)
Cross product of two vectors.
Warning:
If length() of any of the two vectors is == 0.0, this method will divide by zero. If the product of the
length() of the two vectors is very close to 0.0, but not == 0.0, this method may behave in unexpected
ways and return almost random results; details may depend on your particular floating point
implementation. The use of this method is therefore highly discouraged, unless you are certain that
the length()es are in a reasonable range, away from 0.0 (Stefan Kebekus)
Deprecated:
This method will probably replaced by a safer algorithm in the future.
Todo:
Replace this method with a more fool-proof version.
Returns:
the angle in degrees (0-360)
This function calculates the torsion angle of three vectors, represented by four points A--B--C--D, i.e. B and C
are vertexes, but none of A--B, B--C, and C--D are colinear. A "torsion angle" is the amount of "twist" or
torsion needed around the B--C axis to bring A--B into the same plane as B--C--D. The torsion is measured by
Referenced by OBAtom::SetHybAndGeom().
Parameters:
[in] bv1 A bit vector
[in] bv2 Another bit vector
Returns:
A bit vector
Parameters:
[in] bv1 A bit vector
[in] bv2 Another bit vector
Returns:
A bit vector
Parameters:
[in] bv1 A bit vector
[in] bv2 Another bit vector
Returns:
A bit vector
const
OBBitVec OpenBabel::operator- ( OBBitVec bv1,
&
const
OBBitVec bv2
&
)
Return a bit vector of the results of clearing each bit in bv1 which is set in bv2
Parameters:
[in] bv1 A bit vector
[in] bv2 Another bit vector
Returns:
A bit vector
const
bool OpenBabel::operator== ( OBBitVec bv1,
&
const bv2
OBBitVec
&
)
Return true if bv1 and bv2 are equivalent Not that they may be of different size, and still equivalent provided
that the extra bits are all zero.
Parameters:
[in] bv1 A bit vector
[in] bv2 Another bit vector
Returns:
true if equal, false otherwise
Parameters:
[in] bv1 A bit vector
[in] bv2 Another bit vector
Returns:
true if equal, false otherwise
Parameters:
[in,out] is The input stream
[out] bv The bit vector to contain the result
Parameters:
[out] os The output stream
[in] bv The bit vector to be output
Referenced by CreateNewClassVector().
static bool OpenBabel::ComparePairFirst ( const pair< OBAtom *, unsigned int > & a,
const pair< OBAtom *, unsigned int > & b
) [static]
Referenced by CanonicalLabels().
static bool OpenBabel::ComparePairSecond ( const pair< OBAtom *, unsigned int > & a,
const pair< OBAtom *, unsigned int > & b
) [static]
Referenced by FixCisTransBonds().
Referenced by GetGIVector().
) [static]
Referenced by GetGIVector().
Referenced by GetGIVector().
Referenced by GetGIVector().
Referenced by CalculateSymmetry().
vector< pair<
OBAtom *,
static void OpenBabel::CreateNewClassVector ( vp1,
unsigned int >
>&
vector< pair<
OBAtom *,
vp2,
unsigned int >
>&
OBBitVec & frag_atoms,
int natoms
) [static]
vector< pair<
OBAtom *,
unsigned int >
>&
unsigned int
count
&
) [static]
static int
( OBMol * pmol,
OpenBabel::CalculateSymmetry
OBBitVec & frag_atoms,
vector< pair< OBAtom *,
symmetry_classes
unsigned int > > &
) [static]
Referenced by CanonicalLabels().
static void
( OBMol * pmol,
OpenBabel::BreakChiralTies
OBBitVec & frag_atoms,
int nfragatoms,
vector< pair< OBAtom *, unsigned
atom_sym_classes
int > > &
) [static]
Referenced by CanonicalLabels().
Referenced by FixCisTransBonds().
Referenced by CanonicalLabels().
Referenced by GenerateByteCodes().
Referenced by OBChainsParser::~OBChainsParser().
Referenced by GenerateByteCodes().
string
void OpenBabel::Toupper ( s )
&
string
void OpenBabel::Tolower ( s )
&
Referenced by OBForceField::WeightedRotorSearch().
std::istream
istream& OpenBabel::operator>> ( is,
&
OBFloatGrid
fg
&
)
Referenced by OBMol::ContigFragList().
static bool OpenBabel::OBComparePairSecond ( const pair< OBAtom *, unsigned int > & a,
const pair< OBAtom *, unsigned int > & b
) [static]
Referenced by ClassCount().
static bool OpenBabel::OBComparePairFirst ( const pair< OBAtom *, unsigned int > & a,
const pair< OBAtom *, unsigned int > & b
) [static]
static void OpenBabel::ClassCount ( vector< pair< OBAtom *, unsigned int > > & vp,
Referenced by OBMol::GetGIDVector().
vector< pair<
OBAtom *,
static void OpenBabel::CreateNewClassVector ( vp1,
unsigned int > >
&
vector< pair<
OBAtom *,
vp2
unsigned int > >
&
) [static]
creates a new vector of symmetry classes base on an existing vector helper routine to GetGIDVector
Referenced by KekulePropagate().
OBAtom
static bool OpenBabel::KekulePropagate ( atom,
*
vector<
visit,
int > &
vector<
ival,
int > &
int depth
) [static]
Referenced by ExpandKekule().
Referenced by OBMol::PerceiveKekuleBonds().
OBMol
void OpenBabel::CorrectBadResonanceForm ( mol )
&
Referenced by OBMol::PerceiveKekuleBonds().
ostream
bool OpenBabel::WriteTitles ( ofs,
&
OBMol
mol
&
)
Returns:
the geometric centroid to an array of coordinates in double* format and center the coordinates to the
origin. Operates on the first "size" coordinates in the array.
std::ofstream
bool OpenBabel::SafeOpen ( fs,
&
const string
filename
&
)
Safely open the supplied filename and return an ofstream, throwing an error to the default OBMessageHandler
error log if it fails.
Parameters:
s - The string to switch case
start - The position to start
inverting case
Referenced by SolveQuadratic().
Referenced by SolveCubic().
Referenced by SolveCubic().
Referenced by SMARTSParser().
Referenced by CopyAtomExpr().
AtomExpr * rgt
) [static]
Referenced by ParseComplexAtomPrimitive().
Referenced by ConstrainRecursion().
Referenced by CopyPattern().
Referenced by SMARTSParser().
Referenced by ParseBondExpr().
Referenced by SMARTSParser().
Referenced by ParseSMARTSPattern().
Referenced by SMARTSParser().
Referenced by ParseAtomExpr().
Referenced by SMARTSParser().
Referenced by ParseBondExpr().
Referenced by SMARTSParser().
Referenced by SMARTSParser().
int prev,
int part
) [static]
Referenced by ParseSMARTSPart().
Referenced by ParseSMARTSPart().
Referenced by ParseSMARTSPart().
Referenced by ParseSMARTSRecord().
Referenced by OBSmartsPattern::Init().
Referenced by NotAtomExpr().
Referenced by AtomExprConflict().
Referenced by AndAtomExprLeaf().
) [static]
Referenced by AndAtomExprLeaf().
Referenced by AndAtomExprLeaf().
Referenced by AndAtomExpr().
Referenced by AndAtomExpr().
Referenced by OrAtomExpr().
Referenced by GetBondExprIndex().
std::vector<
void OpenBabel::SetupAtomMatchTable ( std::vector< bool ttab,
>>&
Pattern * pat,
OBMol & mol
)
Referenced by match().
Referenced by OBSmartsPattern::GetBond().
Referenced by IsOddPrime().
Referenced by DetermineFactors().
Referenced by DetermineIncrement().
Referenced by DoubleModulus().
unsigned
static int OpenBabel::DeterminePotency ( m,
int
unsigned
a
int
) [static]
Referenced by DetermineSequence().
Referenced by DetermineSequence().
Referenced by DetermineSequence().
Referenced by OBRandom::OBRandom().
Referenced by OBResidue::GetAtomProperty().
Referenced by SetResidueKeys().
Referenced by OBResidue::SetName().
Referenced by OBMol::FindSSSR().
Referenced by OBRingSearch::AddRingFromClosure().
Referenced by OBMol::FindRingAtomsAndBonds().
Referenced by OBRotamerList::AddRotamer().
Todo:
Referenced by OBRotorList::SetRotAtomsByFix().
Referenced by OBRotorList::FindRotors().
Referenced by OBRotorList::RemoveSymVals().
std::ostream
ostream& OpenBabel::operator<< ( co,
&
const
m
matrix3x3 &
)
Print a text representation of the matrix in the standardized form: [ a, b, c ]
[ d, e, f ]
[ g, h, i ]
where the letters represent the appropriate entries in the matrix. Uses the standard output format for the
individual entries, separated by ", " for each column, and [ ] indicating each row.
Referenced by CalcSignedVolume().
Variable Documentation
Referenced by OBNasaThermoData::OBNasaThermoData().
OBLocale obLocale
Global OBLocale for setting and restoring locale information.
OBElementTable etab
Global OBElementTable for element properties.
OBTypeTable ttab
Global OBTypeTable for translating between different atom types (e.g., Sybyl <-> MM2)
OBIsotopeTable isotab
Global OBIsotopeTable for isotope properties.
OBAromaticTyper aromtyper
Global OBAromaticTyper for detecting aromatic atoms and bonds.
OBAtomTyper atomtyper
Global OBAtomTyper for marking internal valence, hybridization, and atom types (for internal and external
use)
OBChainsParser chainsparser
Global OBChainsParser for detecting macromolecular chains and residues.
Referenced by OBAtom::GetResidue().
OBMessageHandler obErrorLog
Global OBMessageHandler error handler.
OBResidueData resdat
Global OBResidueData biomolecule residue database.
char Residue
Referenced by GetResidueNumber().
char ElemDesc
Referenced by GetAtomIDNumber().
Referenced by GetResidueNumber().
Referenced by GetAtomIDNumber().
OBPhModel phmodel
Referenced by OBBitVec::NextBit().
Referenced by OBBitVec::CountBits().
OBBondTyper bondtyper
Global OBBondTyper for perception of bond order assignment.
Referenced by OBMol::PerceiveBondOrders().
Side chains for recognized amino acids using a pseudo-SMARTS syntax for branching and bonds. Numbers
indicate atom types defined by ChainsAtomName global array above
Referenced by OBChainsParser::OBChainsParser().
Side chains for recognized nucleotides using a pseudo-SMARTS syntax for branching and bonds. Numbers
indicate atom types defined by ChainsAtomName global array above
Referenced by OBChainsParser::OBChainsParser().
Referenced by GenerateByteCodes().
Referenced by GenerateByteCodes().
Referenced by GenerateByteCodes().
Referenced by GenerateByteCodes().
Referenced by GenerateByteCodes().
Referenced by GenerateByteCodes().
Referenced by GenerateByteCodes().
Referenced by GenerateByteCodes().
Referenced by GenerateByteCodes().
POINT_GROUP PointGroups[]
OBRingTyper ringtyper
Referenced by OBRing::GetType().
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
OpenBabel::OBAminoAcidProperty
Enumerations
enum {
ACIDIC = 0, ACYCLIC = 1, ALIPHATIC = 2, AROMATIC = 3,
BASIC = 4, BURIED = 5, CHARGED = 6, CYCLIC = 7,
HYDROPHOBIC = 8, LARGE = 9, MEDIUM = 10, NEGATIVE
= 11,
NEUTRAL = 12, POLAR = 13, POSITIVE = 14, SMALL = 15,
SURFACE = 16
}
Detailed Description
Residue property definitions.
anonymous enum
Enumerator:
ACIDIC
ACYCLIC
ALIPHATIC
AROMATIC
BASIC
BURIED
CHARGED
CYCLIC
HYDROPHOBIC
LARGE
MEDIUM
NEGATIVE
NEUTRAL
POLAR
POSITIVE
SMALL
SURFACE
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
OpenBabel::OBGenericDataType
Enumerations
enum {
UndefinedData = 0, PairData = 1, EnergyData = 2, CommentData = 3,
ConformerData = 4, ExternalBondData = 5, RotamerList = 6, VirtualBondData = 7,
RingData = 8, TorsionData = 9, AngleData = 10, SerialNums = 11,
UnitCell = 12, SpinData = 13, ChargeData = 14, SymmetryData = 15,
ChiralData = 16, OccupationData = 17, DensityData = 18, ElectronicData = 19,
VibrationData = 20, RotationData = 21, NuclearData = 22, SetData = 23,
GridData = 24, VectorData = 25, MatrixData = 26, CustomData0 = 16384,
CustomData1 = 16385, CustomData2 = 16386, CustomData3 = 16387, CustomData4 =
16388,
CustomData5 = 16389, CustomData6 = 16390, CustomData7 = 16391, CustomData8 =
16392,
CustomData9 = 16393, CustomData10 = 16394, CustomData11 = 16395, CustomData12 =
16396,
CustomData13 = 16397, CustomData14 = 16398, CustomData15 = 16399
}
Detailed Description
Classification of data stored via OBGenericData class and subclasses.
OBGenericDataType can be used as a faster, direct access to a particular category instead of the slower access
via GetData(std::string), which must loop through all data to find a match with the supplied key. It is
implemented as a set of unsigned integer constants for maximum flexibility and future expansion.
CustomData0 through CustomData15 are data slots that are not used in OpenBabel directly and are meant for
use in derivative programs. Macro definitions can be used to define what each data slot is used in your code.
anonymous enum
Enumerator:
UndefinedData Unknown data type (default).
PairData Arbitrary key/value data, i.e., OBPairData.
EnergyData Energetics data (e.g., total energy, heat of formation, etc.).
CommentData
Storing text comments (one per molecule, atom, bond, etc.) (for other data, e.g.,
author, keyword, ... use OBPairData).
ConformerData Arbitrary information about conformers, i.e., OBConformerData.
ExternalBondData Bond data external to OpenBabel, i.e., OBExternalBond, OBExternalBondData.
RotamerList Information for generating & manipulating rotamers, i.e. OBRotamerList.
VirtualBondData Info. for storing bonds to atoms yet to be added, i.e. OBVirtualBond.
RingData Information on rings in a molecule, i.e., OBRingData.
TorsionData Information about torsion/dihedral angles, i.e., OBTorsionData and OBTorsion.
AngleData Bond angles in a molecule, i.e., OBAngle, OBAngleData.
SerialNums Residue serial numbers.
UnitCell Crystallographic unit cell data, i.e., OBUnitCell.
SpinData Spin data, including NMR, atomic and molecular spin, etc.
ChargeData Arbitrary partial and total charges, dipole moments, etc.
SymmetryData Symmetry data -- point and space groups, transforms, etc. i.e., OBSymmetryData.
ChiralData Arbitrary chiral information (atom, bond, molecule, etc.) i.e., OBChiralData.
OccupationData Atomic and molecular occupation data.
DensityData Density (cube) data and surfaces.
ElectronicData Electronic levels, redox states, orbitals, etc.
VibrationData Vibrational modes, frequencies, etc.
RotationData Rotational energy information.
NuclearData Nuclear transitions (e.g., decay, capture, fission, fusion).
SetData Set Data (a set of OBGenericData).
GridData Grid Data (e.g., 3D grids of data a.k.a. cubes).
VectorData Vector Data (i.e., one vector like a dipole moment).
MatrixData Matrix data (i.e., a 3x3 matrix like a rotation or quadrupole moment).
CustomData0 Custom (user-defined data).
CustomData1
CustomData2
CustomData3
CustomData4
CustomData5
CustomData6
CustomData7
CustomData8
CustomData9
CustomData10
CustomData11
CustomData12
CustomData13
CustomData14
CustomData15
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
OpenBabel::OBResidueAtomProperty
Enumerations
enum {
ALPHA_CARBON = 0, AMINO_BACKBONE = 1, BACKBONE = 2, CYSTEINE_SULPHUR = 3,
LIGAND = 4, NUCLEIC_BACKBONE = 5, SHAPELY_BACKBONE = 6, SHAPELY_SPECIAL =
7,
SIDECHAIN = 8, SUGAR_PHOSPHATE = 9
}
Detailed Description
Residue atom properties.
anonymous enum
Enumerator:
ALPHA_CARBON
AMINO_BACKBONE
BACKBONE
CYSTEINE_SULPHUR
LIGAND
NUCLEIC_BACKBONE
SHAPELY_BACKBONE
SHAPELY_SPECIAL
SIDECHAIN
SUGAR_PHOSPHATE
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
OpenBabel::OBResidueIndex
Enumerations
enum {
ALA = 0, GLY = 1, LEU = 2, SER = 3,
VAL = 4, THR = 5, LYS = 6, ASP = 7,
ILE = 8, ASN = 9, GLU = 10, PRO = 11,
ARG = 12, PHE = 13, GLN = 14, TYR = 15,
HIS = 16, CYS = 17, MET = 18, TRP = 19,
ASX = 20, GLX = 21, PCA = 22, HYP = 23,
A = 24, C = 25, G = 26, T = 27,
U = 28, UPLUS = 29, I = 30, _1MA = 32,
_5MC = 32, OMC = 33, _1MG = 34, _2MG = 35,
M2G = 36, _7MG = 37, OMG = 38, YG = 39,
H2U = 40, _5MU = 41, PSU = 42, UNK = 43,
ACE = 44, FOR = 45, HOH = 46, DOD = 47,
SO4 = 48, PO4 = 49, NAD = 50, COA = 51,
NAP = 52, NDP = 53
}
Detailed Description
Residue names (index into Residue[] array).
anonymous enum
Enumerator:
ALA
GLY
LEU
SER
VAL
THR
LYS
ASP
ILE
ASN
GLU
PRO
ARG
PHE
GLN
TYR
HIS
CYS
MET
TRP
ASX
GLX
PCA
HYP
A
C
G
T
U
UPLUS
I
_1MA
_5MC
OMC
_1MG
_2MG
M2G
_7MG
OMG
YG
H2U
_5MU
PSU
UNK
ACE
FOR
HOH
DOD
SO4
PO4
NAD
COA
NAP
NDP
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
OpenBabel::OBResidueProperty
Enumerations
enum {
AMINO = 0, AMINO_NUCLEO = 1, COENZYME = 2, ION = 3,
NUCLEO = 4, PROTEIN = 5, PURINE = 6, PYRIMIDINE = 7,
SOLVENT = 8, WATER = 9
}
Detailed Description
Residue types.
anonymous enum
Enumerator:
AMINO
AMINO_NUCLEO
COENZYME
ION
NUCLEO
PROTEIN
PURINE
PYRIMIDINE
SOLVENT
WATER
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•y
Here is a list of all namespace members with links to the namespace documentation for each member:
-_-
• _1MA : OpenBabel::OBResidueIndex
• _1MG : OpenBabel::OBResidueIndex
• _2MG : OpenBabel::OBResidueIndex
• _5MC : OpenBabel::OBResidueIndex
• _5MU : OpenBabel::OBResidueIndex
• _7MG : OpenBabel::OBResidueIndex
• _SpaceGroups : OpenBabel
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
•_
•a
•b
•c
•d
•e
•f
•g
-_- 1573
Open Babel: API Documentation
•h
•i
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•y
Here is a list of all namespace members with links to the namespace documentation for each member:
-k-
• KekulePropagate() : OpenBabel
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
• All
• Functions
-k- 1574
Open Babel: API Documentation
• Variables
• Typedefs
• Enumerations
• Enumerator
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•y
Here is a list of all namespace members with links to the namespace documentation for each member:
-l-
• LARGE : OpenBabel::OBAminoAcidProperty
• LeadingZeros() : OpenBabel
• LEU : OpenBabel::OBResidueIndex
• LexPtr : OpenBabel
• LIGAND : OpenBabel::OBResidueAtomProperty
• LYS : OpenBabel::OBResidueIndex
This file is part of the documentation for Open Babel, version 2.2.0.
-l- 1575
Open Babel: API Documentation
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•y
Here is a list of all namespace members with links to the namespace documentation for each member:
-l- 1576
Open Babel: API Documentation
-m-
• M2G : OpenBabel::OBResidueIndex
• MainPtr : OpenBabel
• MarkGrowBonds() : OpenBabel
• match() : OpenBabel
• MatrixData : OpenBabel::OBGenericDataType
• MEDIUM : OpenBabel::OBAminoAcidProperty
• MET : OpenBabel::OBResidueIndex
• MinimumPairRMS() : OpenBabel
• MonoAtom : OpenBabel
• MonoAtomCount : OpenBabel
• MonoBond : OpenBabel
• MonoBondCount : OpenBabel
• mult_matrix() : OpenBabel
• mult_matrix_f() : OpenBabel
• mult_matrix_ff() : OpenBabel
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
-m- 1577
Open Babel: API Documentation
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•y
Here is a list of all namespace members with links to the namespace documentation for each member:
-n-
• NAD : OpenBabel::OBResidueIndex
• NAP : OpenBabel::OBResidueIndex
• NDP : OpenBabel::OBResidueIndex
• NEGATIVE : OpenBabel::OBAminoAcidProperty
• NEUTRAL : OpenBabel::OBAminoAcidProperty
• NewExtension() : OpenBabel
• nibble_bit_count : OpenBabel
• NotAtomExpr() : OpenBabel
• NuclearData : OpenBabel::OBGenericDataType
• NUCLEIC_BACKBONE : OpenBabel::OBResidueAtomProperty
• NUCLEO : OpenBabel::OBResidueProperty
• Nucleotide : OpenBabel
• Nucleotides : OpenBabel
-n- 1578
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•y
Here is a list of all namespace members with links to the namespace documentation for each member:
-n- 1579
Open Babel: API Documentation
-o-
• ob_make_rmat() : OpenBabel
• OBAtomIterator : OpenBabel
• obAuditMsg : OpenBabel
• OBBondIterator : OpenBabel
• OBCompareInt() : OpenBabel
• OBComparePairFirst() : OpenBabel
• OBComparePairSecond() : OpenBabel
• OBCompareUnsigned() : OpenBabel
• OBDataIterator : OpenBabel
• obDebug : OpenBabel
• OBEdgeBase : OpenBabel
• obError : OpenBabel
• obErrorLog : OpenBabel
• obInfo : OpenBabel
• obLocale : OpenBabel
• obMessageLevel : OpenBabel
• OBNodeBase : OpenBabel
• OBPairFloatingPoint : OpenBabel
• OBPairInteger : OpenBabel
• OBResidueIterator : OpenBabel
• OBRotorIterator : OpenBabel
• obWarning : OpenBabel
• OccupationData : OpenBabel::OBGenericDataType
• OMC : OpenBabel::OBResidueIndex
• OMG : OpenBabel::OBResidueIndex
• onceOnly : OpenBabel
• OpenDatafile() : OpenBabel
• operator &() : OpenBabel
• operator*() : OpenBabel
• operator+() : OpenBabel
• operator-() : OpenBabel
• operator/() : OpenBabel
• operator<() : OpenBabel
• operator<<() : OpenBabel
• operator==() : OpenBabel
• operator>>() : OpenBabel
• operator^() : OpenBabel
• operator|() : OpenBabel
• OrAtomExpr() : OpenBabel
• OrAtomExprLeaf() : OpenBabel
• OrderAtomExpr() : OpenBabel
• output : OpenBabel
-o- 1580
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•k
•l
•m
•n
•o
•p
•q
•r
•s
-o- 1581
Open Babel: API Documentation
•t
•u
•v
•w
•y
Here is a list of all namespace members with links to the namespace documentation for each member:
-a-
• A : OpenBabel::OBResidueIndex
• ACE : OpenBabel::OBResidueIndex
• ACIDIC : OpenBabel::OBAminoAcidProperty
• ACYCLIC : OpenBabel::OBAminoAcidProperty
• ALA : OpenBabel::OBResidueIndex
• AliasDataType : OpenBabel
• ALIPHATIC : OpenBabel::OBAminoAcidProperty
• AllocateByteCode() : OpenBabel
• AllocAtomExpr() : OpenBabel
• AllocBondExpr() : OpenBabel
• AllocPattern() : OpenBabel
• ALPHA_CARBON : OpenBabel::OBResidueAtomProperty
• always : OpenBabel
• AMINO : OpenBabel::OBResidueProperty
• AMINO_BACKBONE : OpenBabel::OBResidueAtomProperty
• AMINO_NUCLEO : OpenBabel::OBResidueProperty
• AminoAcids : OpenBabel
• AndAtomExpr() : OpenBabel
• AndAtomExprLeaf() : OpenBabel
• AngleData : OpenBabel::OBGenericDataType
• any : OpenBabel
• ApplyRotMatToBond() : OpenBabel
• ARG : OpenBabel::OBResidueIndex
• AROMATIC : OpenBabel::OBAminoAcidProperty
• aromtyper : OpenBabel
• ASN : OpenBabel::OBResidueIndex
• ASP : OpenBabel::OBResidueIndex
• ASX : OpenBabel::OBResidueIndex
• AtomExpr : OpenBabel
• AtomExprConflict() : OpenBabel
• AtomExprImplied() : OpenBabel
• AtomExprImplies() : OpenBabel
• AtomIndex : OpenBabel
• AtomLeafConflict() : OpenBabel
• AtomLeafImplies() : OpenBabel
• atomreftype : OpenBabel
• atomtyper : OpenBabel
-a- 1582
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•k
•l
•m
•n
•o
•p
•q
•r
•s
-a- 1583
Open Babel: API Documentation
•t
•u
•v
•w
•y
Here is a list of all namespace members with links to the namespace documentation for each member:
-b-
• BACKBONE : OpenBabel::OBResidueAtomProperty
• BASIC : OpenBabel::OBAminoAcidProperty
• bitsoff : OpenBabel
• BondExpr : OpenBabel
• BondIndex : OpenBabel
• bondtyper : OpenBabel
• BreakChiralTies() : OpenBabel
• Buffer : OpenBabel
• BuildAtomBin() : OpenBabel
• BuildAtomLeaf() : OpenBabel
• BuildAtomNot() : OpenBabel
• BuildAtomRecurs() : OpenBabel
• BuildBondBin() : OpenBabel
• BuildBondLeaf() : OpenBabel
• BuildBondNot() : OpenBabel
• BuildOBRTreeVector() : OpenBabel
• BURIED : OpenBabel::OBAminoAcidProperty
• ByteCode : OpenBabel
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
-b- 1584
Open Babel: API Documentation
• Namespace List
• Namespace Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•y
Here is a list of all namespace members with links to the namespace documentation for each member:
-c-
• C : OpenBabel::OBResidueIndex
• calc_rms() : OpenBabel
• CalcSignedVolume() : OpenBabel
• CalcTorsionAngle() : OpenBabel
• CalculateSymmetry() : OpenBabel
• calcvolume : OpenBabel
• CanBeSquared() : OpenBabel
• CanonicalLabels() : OpenBabel
• CartesianToInternal() : OpenBabel
• center_coords() : OpenBabel
• ChainsAtomName : OpenBabel
• chainsparser : OpenBabel
-c- 1585
Open Babel: API Documentation
• CHARGED : OpenBabel::OBAminoAcidProperty
• ChargeData : OpenBabel::OBGenericDataType
• ChemScore : OpenBabel
• ChiralData : OpenBabel::OBGenericDataType
• ClassCount() : OpenBabel
• CleanAtomType() : OpenBabel
• COA : OpenBabel::OBResidueIndex
• COENZYME : OpenBabel::OBResidueProperty
• CommentData : OpenBabel::OBGenericDataType
• CompareBondPairSecond() : OpenBabel
• ComparePairFirst() : OpenBabel
• ComparePairSecond() : OpenBabel
• CompareRingSize() : OpenBabel
• CompareRotor() : OpenBabel
• CompareUnsigned() : OpenBabel
• ConformerData : OpenBabel::OBGenericDataType
• ConstrainRecursion() : OpenBabel
• construct_c_matrix() : OpenBabel
• construct_g_matrix() : OpenBabel
• convert_matrix_f() : OpenBabel
• convert_matrix_f_ff() : OpenBabel
• convert_matrix_ff() : OpenBabel
• convert_matrix_ff_f() : OpenBabel
• CopyAtomExpr() : OpenBabel
• CopyBondExpr() : OpenBabel
• CopyPattern() : OpenBabel
• CorrectBadResonanceForm() : OpenBabel
• CorrectChirality() : OpenBabel
• CountAndRenumberClasses() : OpenBabel
• CreateAtom() : OpenBabel
• CreateBond() : OpenBabel
• CreateNewClassVector() : OpenBabel
• cross() : OpenBabel
• CubeRoot() : OpenBabel
• CustomData0 : OpenBabel::OBGenericDataType
• CustomData1 : OpenBabel::OBGenericDataType
• CustomData10 : OpenBabel::OBGenericDataType
• CustomData11 : OpenBabel::OBGenericDataType
• CustomData12 : OpenBabel::OBGenericDataType
• CustomData13 : OpenBabel::OBGenericDataType
• CustomData14 : OpenBabel::OBGenericDataType
• CustomData15 : OpenBabel::OBGenericDataType
• CustomData2 : OpenBabel::OBGenericDataType
• CustomData3 : OpenBabel::OBGenericDataType
• CustomData4 : OpenBabel::OBGenericDataType
• CustomData5 : OpenBabel::OBGenericDataType
• CustomData6 : OpenBabel::OBGenericDataType
• CustomData7 : OpenBabel::OBGenericDataType
• CustomData8 : OpenBabel::OBGenericDataType
• CustomData9 : OpenBabel::OBGenericDataType
• CYCLIC : OpenBabel::OBAminoAcidProperty
-c- 1586
Open Babel: API Documentation
• CYS : OpenBabel::OBResidueIndex
• CYSTEINE_SULPHUR : OpenBabel::OBResidueAtomProperty
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•k
•l
•m
•n
•o
•p
-c- 1587
Open Babel: API Documentation
•q
•r
•s
•t
•u
•v
•w
•y
Here is a list of all namespace members with links to the namespace documentation for each member:
-d-
• DataOrigin : OpenBabel
• DeleteByteCode() : OpenBabel
• DensityData : OpenBabel::OBGenericDataType
• Descr : OpenBabel
• DetermineFactors() : OpenBabel
• DetermineFRJ() : OpenBabel
• DetermineIncrement() : OpenBabel
• DeterminePotency() : OpenBabel
• DetermineSequence() : OpenBabel
• DoComparison() : OpenBabel
• DOD : OpenBabel::OBResidueIndex
• dot() : OpenBabel
• DoubleAdd() : OpenBabel
• DoubleModulus() : OpenBabel
• DoubleMultiply() : OpenBabel
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
-d- 1588
Open Babel: API Documentation
• Namespace List
• Namespace Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•y
Here is a list of all namespace members with links to the namespace documentation for each member:
-e-
• ElectronicData : OpenBabel::OBGenericDataType
• ElemDesc : OpenBabel
• ElemNo : OpenBabel
• EnergyData : OpenBabel::OBGenericDataType
• EqualAtomExpr() : OpenBabel
• EquivalentBondExpr() : OpenBabel
• errorQualifier : OpenBabel
• etab : OpenBabel
• EvalAtomExpr() : OpenBabel
• EvalBondExpr() : OpenBabel
• ExpandKekule() : OpenBabel
• ExtendInvarients() : OpenBabel
-e- 1589
Open Babel: API Documentation
• external : OpenBabel
• ExternalBondData : OpenBabel::OBGenericDataType
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•k
•l
•m
•n
•o
•p
-e- 1590
Open Babel: API Documentation
•q
•r
•s
•t
•u
•v
•w
•y
Here is a list of all namespace members with links to the namespace documentation for each member:
-f-
• FastSingleMatch() : OpenBabel
• FatalAllocationError() : OpenBabel
• FatalMemoryError() : OpenBabel
• fileformatInput : OpenBabel
• FindConjugatedEZBonds() : OpenBabel
• FindRingAtoms() : OpenBabel
• FindRings() : OpenBabel
• FixCisTransBonds() : OpenBabel
• FOR : OpenBabel::OBResidueIndex
• Formatpos : OpenBabel
• FreeAtomExpr() : OpenBabel
• FreeBondExpr() : OpenBabel
• FreePattern() : OpenBabel
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
-f- 1591
Open Babel: API Documentation
• Namespace Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•y
Here is a list of all namespace members with links to the namespace documentation for each member:
-g-
• G : OpenBabel::OBResidueIndex
• GenerateAromElem() : OpenBabel
• GenerateByteCodes() : OpenBabel
• GenerateDefaultBond() : OpenBabel
• GenerateElement() : OpenBabel
• GenerateSequence() : OpenBabel
• get_rmat() : OpenBabel
• get_roots_3_3() : OpenBabel
• GetAtomIDNumber() : OpenBabel
• GetBondExprIndex() : OpenBabel
• GetBondLeafIndex() : OpenBabel
• GetChiralFlag() : OpenBabel
• GetChirality() : OpenBabel
-g- 1592
Open Babel: API Documentation
• GetCurrentValence() : OpenBabel
• GetDFFVector() : OpenBabel
• GetExprOrder() : OpenBabel
• GetGIVector() : OpenBabel
• GetGTDVector() : OpenBabel
• GetHvyBondSum() : OpenBabel
• GetHvyValence() : OpenBabel
• GetParity4Ref() : OpenBabel
• GetResidueNumber() : OpenBabel
• GetValence() : OpenBabel
• GetVectorBinding() : OpenBabel
• GLN : OpenBabel::OBResidueIndex
• GLU : OpenBabel::OBResidueIndex
• GLX : OpenBabel::OBResidueIndex
• GLY : OpenBabel::OBResidueIndex
• GraphPotentials() : OpenBabel
• GridData : OpenBabel::OBGenericDataType
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
•_
-g- 1593
Open Babel: API Documentation
•a
•b
•c
•d
•e
•f
•g
•h
•i
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•y
Here is a list of all namespace members with links to the namespace documentation for each member:
-h-
• H2U : OpenBabel::OBResidueIndex
• HIS : OpenBabel::OBResidueIndex
• HOH : OpenBabel::OBResidueIndex
• HYDROPHOBIC : OpenBabel::OBAminoAcidProperty
• HYP : OpenBabel::OBResidueIndex
This file is part of the documentation for Open Babel, version 2.2.0.
-h- 1594
Open Babel: API Documentation
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•y
Here is a list of all namespace members with links to the namespace documentation for each member:
-i-
• I : OpenBabel::OBResidueIndex
• ILE : OpenBabel::OBResidueIndex
• input : OpenBabel
• InternalToCartesian() : OpenBabel
• invert_matrix() : OpenBabel
• invert_matrix_f() : OpenBabel
-i- 1595
Open Babel: API Documentation
• invert_matrix_ff() : OpenBabel
• InvertCase() : OpenBabel
• ION : OpenBabel::OBResidueProperty
• IsApprox() : OpenBabel
• IsApprox_pos() : OpenBabel
• IsBooleanAtomLeaf() : OpenBabel
• IsInvalidAtom() : OpenBabel
• IsNan() : OpenBabel
• IsNear() : OpenBabel
• IsNearZero() : OpenBabel
• IsNegatingAtomLeaf() : OpenBabel
• IsNegligible() : OpenBabel
• IsOddPrime() : OpenBabel
• isotab : OpenBabel
• isqrt() : OpenBabel
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
•_
•a
•b
-i- 1596
Open Babel: API Documentation
•c
•d
•e
•f
•g
•h
•i
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•y
Here is a list of all namespace members with links to the namespace documentation for each member:
-p-
• PackCoordinate() : OpenBabel
• PairData : OpenBabel::OBGenericDataType
• ParseAtomExpr() : OpenBabel
• ParseBondExpr() : OpenBabel
• ParseBondPrimitive() : OpenBabel
• ParseComplexAtomPrimitive() : OpenBabel
• ParseSimpleAtomPrimitive() : OpenBabel
• ParseSMARTSError() : OpenBabel
• ParseSMARTSPart() : OpenBabel
• ParseSMARTSPattern() : OpenBabel
• ParseSMARTSRecord() : OpenBabel
• ParseSMARTSString() : OpenBabel
• PCA : OpenBabel::OBResidueIndex
• Peptide : OpenBabel
• perceived : OpenBabel
• PHE : OpenBabel::OBResidueIndex
• phmodel : OpenBabel
• PLP : OpenBabel
• PO4 : OpenBabel::OBResidueIndex
• Point2Plane() : OpenBabel
• Point2PlaneAngle() : OpenBabel
• PointGroups : OpenBabel
• POLAR : OpenBabel::OBAminoAcidProperty
• POSITIVE : OpenBabel::OBAminoAcidProperty
• primes : OpenBabel
-p- 1597
Open Babel: API Documentation
• print_matrix() : OpenBabel
• print_matrix_f() : OpenBabel
• print_matrix_ff() : OpenBabel
• PRO : OpenBabel::OBResidueIndex
• PROTEIN : OpenBabel::OBResidueProperty
• PSU : OpenBabel::OBResidueIndex
• PURINE : OpenBabel::OBResidueProperty
• PYRIMIDINE : OpenBabel::OBResidueProperty
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
-p- 1598
Open Babel: API Documentation
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•y
Here is a list of all namespace members with links to the namespace documentation for each member:
-q-
• qtrfit() : OpenBabel
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
• All
• Functions
• Variables
• Typedefs
-q- 1599
Open Babel: API Documentation
• Enumerations
• Enumerator
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•y
Here is a list of all namespace members with links to the namespace documentation for each member:
-r-
• RateData : OpenBabel
• RelativelyPrime() : OpenBabel
• resdat : OpenBabel
• Residue : OpenBabel
• ResNo : OpenBabel
• Reweight() : OpenBabel
• RingData : OpenBabel::OBGenericDataType
• ringtyper : OpenBabel
• rint() : OpenBabel
• Roots : OpenBabel
• RotamerList : OpenBabel::OBGenericDataType
• rotate_coords() : OpenBabel
• RotationData : OpenBabel::OBGenericDataType
• RSCACHE : OpenBabel
-r- 1600
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•k
•l
•m
•n
•o
•p
•q
•r
•s
-r- 1601
Open Babel: API Documentation
•t
•u
•v
•w
•y
Here is a list of all namespace members with links to the namespace documentation for each member:
-s-
• SafeOpen() : OpenBabel
• score_t : OpenBabel
• SER : OpenBabel::OBResidueIndex
• SerialNums : OpenBabel::OBGenericDataType
• SetData : OpenBabel::OBGenericDataType
• SetResidueKeys() : OpenBabel
• SetRotorToAngle() : OpenBabel
• SetupAtomMatchTable() : OpenBabel
• SHAPELY_BACKBONE : OpenBabel::OBResidueAtomProperty
• SHAPELY_SPECIAL : OpenBabel::OBResidueAtomProperty
• SIDECHAIN : OpenBabel::OBResidueAtomProperty
• signed_volume() : OpenBabel
• SINT : OpenBabel
• SMALL : OpenBabel::OBAminoAcidProperty
• SMARTSError() : OpenBabel
• SmartsLexReplace() : OpenBabel
• SMARTSParser() : OpenBabel
• SO4 : OpenBabel::OBResidueIndex
• SolveCubic() : OpenBabel
• SolveLinear() : OpenBabel
• SOLVENT : OpenBabel::OBResidueProperty
• SolveQuadratic() : OpenBabel
• SortAtomZ() : OpenBabel
• SortVVInt() : OpenBabel
• SPACE_GROUP_HALL : OpenBabel
• SPACE_GROUP_HM : OpenBabel
• SPACE_GROUP_ID : OpenBabel
• SPACE_GROUP_TRANSFORM : OpenBabel
• SpinData : OpenBabel::OBGenericDataType
• SQUARE() : OpenBabel
• Stack : OpenBabel
• StackPtr : OpenBabel
• STPTR : OpenBabel
• StrictFlag : OpenBabel
• SUGAR_PHOSPHATE : OpenBabel::OBResidueAtomProperty
• superimpose() : OpenBabel
• SURFACE : OpenBabel::OBAminoAcidProperty
• Swab() : OpenBabel
• SwabInt : OpenBabel
• SymmetryData : OpenBabel::OBGenericDataType
-s- 1602
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•k
•l
•m
•n
•o
•p
•q
•r
-s- 1603
Open Babel: API Documentation
•s
•t
•u
•v
•w
•y
Here is a list of all namespace members with links to the namespace documentation for each member:
-t-
• T : OpenBabel::OBResidueIndex
• Tanimoto() : OpenBabel
• Template : OpenBabel
• theOpCenter() : OpenBabel
• ThermoData : OpenBabel
• THR : OpenBabel::OBResidueIndex
• ThrowError() : OpenBabel
• tokenize() : OpenBabel
• ToLower() : OpenBabel
• Tolower() : OpenBabel
• TorsionData : OpenBabel::OBGenericDataType
• Toupper() : OpenBabel
• ToUpper() : OpenBabel
• transform3dIterator : OpenBabel
• TraverseSMARTS() : OpenBabel
• Trim() : OpenBabel
• trim_spaces() : OpenBabel
• TRP : OpenBabel::OBResidueIndex
• ttab : OpenBabel
• TYR : OpenBabel::OBResidueIndex
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
-t- 1604
Open Babel: API Documentation
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•y
Here is a list of all namespace members with links to the namespace documentation for each member:
-u-
• U : OpenBabel::OBResidueIndex
• Undefined : OpenBabel
• UndefinedData : OpenBabel::OBGenericDataType
• UnitCell : OpenBabel::OBGenericDataType
• UNK : OpenBabel::OBResidueIndex
• UnpackCoordinate() : OpenBabel
• UPLUS : OpenBabel::OBResidueIndex
• userInput : OpenBabel
-u- 1605
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•k
•l
•m
•n
•o
•p
•q
•r
-u- 1606
Open Babel: API Documentation
•s
•t
•u
•v
•w
•y
Here is a list of all namespace members with links to the namespace documentation for each member:
-v-
• VAL : OpenBabel::OBResidueIndex
• ValenceSum() : OpenBabel
• vectorAngle() : OpenBabel
• VectorData : OpenBabel::OBGenericDataType
• VibrationData : OpenBabel::OBGenericDataType
• VirtualBondData : OpenBabel::OBGenericDataType
• VX() : OpenBabel
• VY : OpenBabel
• VZ : OpenBabel
• VZero() : OpenBabel
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
• All
• Functions
• Variables
-v- 1607
Open Babel: API Documentation
• Typedefs
• Enumerations
• Enumerator
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•y
Here is a list of all namespace members with links to the namespace documentation for each member:
-w-
• WATER : OpenBabel::OBResidueProperty
• WriteTitles() : OpenBabel
This file is part of the documentation for Open Babel, version 2.2.0.
-w- 1608
Open Babel: API Documentation
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
•y
Here is a list of all namespace members with links to the namespace documentation for each member:
-y-
• YG : OpenBabel::OBResidueIndex
-y- 1609
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• atomreftype : OpenBabel
• DataOrigin : OpenBabel
• errorQualifier : OpenBabel
• obMessageLevel : OpenBabel
• score_t : OpenBabel
This file is part of the documentation for Open Babel, version 2.2.0.
-y- 1610
Open Babel: API Documentation
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
•_
•a
•b
•c
•d
•e
•f
•g
•h
•i
•l
•m
•n
•o
•p
•r
•s
•t
•u
•v
•w
•y
-_-
• _1MA : OpenBabel::OBResidueIndex
-_- 1611
Open Babel: API Documentation
• _1MG : OpenBabel::OBResidueIndex
• _2MG : OpenBabel::OBResidueIndex
• _5MC : OpenBabel::OBResidueIndex
• _5MU : OpenBabel::OBResidueIndex
• _7MG : OpenBabel::OBResidueIndex
-a-
• A : OpenBabel::OBResidueIndex
• ACE : OpenBabel::OBResidueIndex
• ACIDIC : OpenBabel::OBAminoAcidProperty
• ACYCLIC : OpenBabel::OBAminoAcidProperty
• ALA : OpenBabel::OBResidueIndex
• ALIPHATIC : OpenBabel::OBAminoAcidProperty
• ALPHA_CARBON : OpenBabel::OBResidueAtomProperty
• always : OpenBabel
• AMINO : OpenBabel::OBResidueProperty
• AMINO_BACKBONE : OpenBabel::OBResidueAtomProperty
• AMINO_NUCLEO : OpenBabel::OBResidueProperty
• AngleData : OpenBabel::OBGenericDataType
• any : OpenBabel
• ARG : OpenBabel::OBResidueIndex
• AROMATIC : OpenBabel::OBAminoAcidProperty
• ASN : OpenBabel::OBResidueIndex
• ASP : OpenBabel::OBResidueIndex
• ASX : OpenBabel::OBResidueIndex
-b-
• BACKBONE : OpenBabel::OBResidueAtomProperty
• BASIC : OpenBabel::OBAminoAcidProperty
• BURIED : OpenBabel::OBAminoAcidProperty
-c-
• C : OpenBabel::OBResidueIndex
• calcvolume : OpenBabel
• CHARGED : OpenBabel::OBAminoAcidProperty
• ChargeData : OpenBabel::OBGenericDataType
• ChemScore : OpenBabel
• ChiralData : OpenBabel::OBGenericDataType
• COA : OpenBabel::OBResidueIndex
• COENZYME : OpenBabel::OBResidueProperty
• CommentData : OpenBabel::OBGenericDataType
• ConformerData : OpenBabel::OBGenericDataType
• CustomData0 : OpenBabel::OBGenericDataType
• CustomData1 : OpenBabel::OBGenericDataType
• CustomData10 : OpenBabel::OBGenericDataType
• CustomData11 : OpenBabel::OBGenericDataType
• CustomData12 : OpenBabel::OBGenericDataType
-a- 1612
Open Babel: API Documentation
• CustomData13 : OpenBabel::OBGenericDataType
• CustomData14 : OpenBabel::OBGenericDataType
• CustomData15 : OpenBabel::OBGenericDataType
• CustomData2 : OpenBabel::OBGenericDataType
• CustomData3 : OpenBabel::OBGenericDataType
• CustomData4 : OpenBabel::OBGenericDataType
• CustomData5 : OpenBabel::OBGenericDataType
• CustomData6 : OpenBabel::OBGenericDataType
• CustomData7 : OpenBabel::OBGenericDataType
• CustomData8 : OpenBabel::OBGenericDataType
• CustomData9 : OpenBabel::OBGenericDataType
• CYCLIC : OpenBabel::OBAminoAcidProperty
• CYS : OpenBabel::OBResidueIndex
• CYSTEINE_SULPHUR : OpenBabel::OBResidueAtomProperty
-d-
• DensityData : OpenBabel::OBGenericDataType
• DOD : OpenBabel::OBResidueIndex
-e-
• ElectronicData : OpenBabel::OBGenericDataType
• EnergyData : OpenBabel::OBGenericDataType
• external : OpenBabel
• ExternalBondData : OpenBabel::OBGenericDataType
-f-
• fileformatInput : OpenBabel
• FOR : OpenBabel::OBResidueIndex
-g-
• G : OpenBabel::OBResidueIndex
• GLN : OpenBabel::OBResidueIndex
• GLU : OpenBabel::OBResidueIndex
• GLX : OpenBabel::OBResidueIndex
• GLY : OpenBabel::OBResidueIndex
• GridData : OpenBabel::OBGenericDataType
-h-
• H2U : OpenBabel::OBResidueIndex
• HIS : OpenBabel::OBResidueIndex
• HOH : OpenBabel::OBResidueIndex
• HYDROPHOBIC : OpenBabel::OBAminoAcidProperty
• HYP : OpenBabel::OBResidueIndex
-c- 1613
Open Babel: API Documentation
-i-
• I : OpenBabel::OBResidueIndex
• ILE : OpenBabel::OBResidueIndex
• input : OpenBabel
• ION : OpenBabel::OBResidueProperty
-l-
• LARGE : OpenBabel::OBAminoAcidProperty
• LEU : OpenBabel::OBResidueIndex
• LIGAND : OpenBabel::OBResidueAtomProperty
• LYS : OpenBabel::OBResidueIndex
-m-
• M2G : OpenBabel::OBResidueIndex
• MatrixData : OpenBabel::OBGenericDataType
• MEDIUM : OpenBabel::OBAminoAcidProperty
• MET : OpenBabel::OBResidueIndex
-n-
• NAD : OpenBabel::OBResidueIndex
• NAP : OpenBabel::OBResidueIndex
• NDP : OpenBabel::OBResidueIndex
• NEGATIVE : OpenBabel::OBAminoAcidProperty
• NEUTRAL : OpenBabel::OBAminoAcidProperty
• NuclearData : OpenBabel::OBGenericDataType
• NUCLEIC_BACKBONE : OpenBabel::OBResidueAtomProperty
• NUCLEO : OpenBabel::OBResidueProperty
-o-
• obAuditMsg : OpenBabel
• obDebug : OpenBabel
• obError : OpenBabel
• obInfo : OpenBabel
• obWarning : OpenBabel
• OccupationData : OpenBabel::OBGenericDataType
• OMC : OpenBabel::OBResidueIndex
• OMG : OpenBabel::OBResidueIndex
• onceOnly : OpenBabel
• output : OpenBabel
-p-
• PairData : OpenBabel::OBGenericDataType
• PCA : OpenBabel::OBResidueIndex
• perceived : OpenBabel
-i- 1614
Open Babel: API Documentation
• PHE : OpenBabel::OBResidueIndex
• PLP : OpenBabel
• PO4 : OpenBabel::OBResidueIndex
• POLAR : OpenBabel::OBAminoAcidProperty
• POSITIVE : OpenBabel::OBAminoAcidProperty
• PRO : OpenBabel::OBResidueIndex
• PROTEIN : OpenBabel::OBResidueProperty
• PSU : OpenBabel::OBResidueIndex
• PURINE : OpenBabel::OBResidueProperty
• PYRIMIDINE : OpenBabel::OBResidueProperty
-r-
• RingData : OpenBabel::OBGenericDataType
• RotamerList : OpenBabel::OBGenericDataType
• RotationData : OpenBabel::OBGenericDataType
-s-
• SER : OpenBabel::OBResidueIndex
• SerialNums : OpenBabel::OBGenericDataType
• SetData : OpenBabel::OBGenericDataType
• SHAPELY_BACKBONE : OpenBabel::OBResidueAtomProperty
• SHAPELY_SPECIAL : OpenBabel::OBResidueAtomProperty
• SIDECHAIN : OpenBabel::OBResidueAtomProperty
• SMALL : OpenBabel::OBAminoAcidProperty
• SO4 : OpenBabel::OBResidueIndex
• SOLVENT : OpenBabel::OBResidueProperty
• SPACE_GROUP_HALL : OpenBabel
• SPACE_GROUP_HM : OpenBabel
• SPACE_GROUP_ID : OpenBabel
• SPACE_GROUP_TRANSFORM : OpenBabel
• SpinData : OpenBabel::OBGenericDataType
• SUGAR_PHOSPHATE : OpenBabel::OBResidueAtomProperty
• SURFACE : OpenBabel::OBAminoAcidProperty
• SymmetryData : OpenBabel::OBGenericDataType
-t-
• T : OpenBabel::OBResidueIndex
• THR : OpenBabel::OBResidueIndex
• TorsionData : OpenBabel::OBGenericDataType
• TRP : OpenBabel::OBResidueIndex
• TYR : OpenBabel::OBResidueIndex
-u-
• U : OpenBabel::OBResidueIndex
• Undefined : OpenBabel
• UndefinedData : OpenBabel::OBGenericDataType
-p- 1615
Open Babel: API Documentation
• UnitCell : OpenBabel::OBGenericDataType
• UNK : OpenBabel::OBResidueIndex
• UPLUS : OpenBabel::OBResidueIndex
• userInput : OpenBabel
-v-
• VAL : OpenBabel::OBResidueIndex
• VectorData : OpenBabel::OBGenericDataType
• VibrationData : OpenBabel::OBGenericDataType
• VirtualBondData : OpenBabel::OBGenericDataType
-w-
• WATER : OpenBabel::OBResidueProperty
-y-
• YG : OpenBabel::OBResidueIndex
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
-u- 1616
Open Babel: API Documentation
• Enumerator
•a
•b
•c
•d
•e
•f
•g
•i
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
-a-
• AllocateByteCode() : OpenBabel
• AllocAtomExpr() : OpenBabel
• AllocBondExpr() : OpenBabel
• AllocPattern() : OpenBabel
• AndAtomExpr() : OpenBabel
• AndAtomExprLeaf() : OpenBabel
• ApplyRotMatToBond() : OpenBabel
• AtomExprConflict() : OpenBabel
• AtomExprImplied() : OpenBabel
• AtomExprImplies() : OpenBabel
• AtomLeafConflict() : OpenBabel
• AtomLeafImplies() : OpenBabel
This file is part of the documentation for Open Babel, version 2.2.0.
-y- 1617
Open Babel: API Documentation
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
•a
•b
•c
•d
•e
•f
•g
•i
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
-k-
• KekulePropagate() : OpenBabel
-a- 1618
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
•a
•b
•c
•d
•e
•f
•g
•i
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
-k- 1619
Open Babel: API Documentation
•v
•w
-l-
• LeadingZeros() : OpenBabel
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
•a
•b
•c
•d
•e
•f
•g
•i
•k
-l- 1620
Open Babel: API Documentation
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
-m-
• MarkGrowBonds() : OpenBabel
• match() : OpenBabel
• MinimumPairRMS() : OpenBabel
• mult_matrix() : OpenBabel
• mult_matrix_f() : OpenBabel
• mult_matrix_ff() : OpenBabel
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
• All
-m- 1621
Open Babel: API Documentation
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
•a
•b
•c
•d
•e
•f
•g
•i
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
-n-
• NewExtension() : OpenBabel
• NotAtomExpr() : OpenBabel
This file is part of the documentation for Open Babel, version 2.2.0.
-n- 1622
Open Babel: API Documentation
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
•a
•b
•c
•d
•e
•f
•g
•i
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
-o-
• ob_make_rmat() : OpenBabel
• OBCompareInt() : OpenBabel
• OBComparePairFirst() : OpenBabel
• OBComparePairSecond() : OpenBabel
• OBCompareUnsigned() : OpenBabel
• OpenDatafile() : OpenBabel
• operator &() : OpenBabel
• operator*() : OpenBabel
• operator+() : OpenBabel
-o- 1623
Open Babel: API Documentation
• operator-() : OpenBabel
• operator/() : OpenBabel
• operator<() : OpenBabel
• operator<<() : OpenBabel
• operator==() : OpenBabel
• operator>>() : OpenBabel
• operator^() : OpenBabel
• operator|() : OpenBabel
• OrAtomExpr() : OpenBabel
• OrAtomExprLeaf() : OpenBabel
• OrderAtomExpr() : OpenBabel
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
•a
•b
•c
•d
•e
•f
•g
-o- 1624
Open Babel: API Documentation
•i
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
-b-
• BreakChiralTies() : OpenBabel
• BuildAtomBin() : OpenBabel
• BuildAtomLeaf() : OpenBabel
• BuildAtomNot() : OpenBabel
• BuildAtomRecurs() : OpenBabel
• BuildBondBin() : OpenBabel
• BuildBondLeaf() : OpenBabel
• BuildBondNot() : OpenBabel
• BuildOBRTreeVector() : OpenBabel
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
-b- 1625
Open Babel: API Documentation
• Namespace List
• Namespace Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
•a
•b
•c
•d
•e
•f
•g
•i
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
-c-
• calc_rms() : OpenBabel
• CalcSignedVolume() : OpenBabel
• CalcTorsionAngle() : OpenBabel
• CalculateSymmetry() : OpenBabel
• CanBeSquared() : OpenBabel
• CanonicalLabels() : OpenBabel
• CartesianToInternal() : OpenBabel
• center_coords() : OpenBabel
• ClassCount() : OpenBabel
• CleanAtomType() : OpenBabel
• CompareBondPairSecond() : OpenBabel
• ComparePairFirst() : OpenBabel
• ComparePairSecond() : OpenBabel
• CompareRingSize() : OpenBabel
• CompareRotor() : OpenBabel
-c- 1626
Open Babel: API Documentation
• CompareUnsigned() : OpenBabel
• ConstrainRecursion() : OpenBabel
• construct_c_matrix() : OpenBabel
• construct_g_matrix() : OpenBabel
• convert_matrix_f() : OpenBabel
• convert_matrix_f_ff() : OpenBabel
• convert_matrix_ff() : OpenBabel
• convert_matrix_ff_f() : OpenBabel
• CopyAtomExpr() : OpenBabel
• CopyBondExpr() : OpenBabel
• CopyPattern() : OpenBabel
• CorrectBadResonanceForm() : OpenBabel
• CorrectChirality() : OpenBabel
• CountAndRenumberClasses() : OpenBabel
• CreateAtom() : OpenBabel
• CreateBond() : OpenBabel
• CreateNewClassVector() : OpenBabel
• cross() : OpenBabel
• CubeRoot() : OpenBabel
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
-c- 1627
Open Babel: API Documentation
•a
•b
•c
•d
•e
•f
•g
•i
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
-d-
• DeleteByteCode() : OpenBabel
• DetermineFactors() : OpenBabel
• DetermineFRJ() : OpenBabel
• DetermineIncrement() : OpenBabel
• DeterminePotency() : OpenBabel
• DetermineSequence() : OpenBabel
• DoComparison() : OpenBabel
• dot() : OpenBabel
• DoubleAdd() : OpenBabel
• DoubleModulus() : OpenBabel
• DoubleMultiply() : OpenBabel
This file is part of the documentation for Open Babel, version 2.2.0.
-d- 1628
Open Babel: API Documentation
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
•a
•b
•c
•d
•e
•f
•g
•i
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
-e-
• EqualAtomExpr() : OpenBabel
• EquivalentBondExpr() : OpenBabel
• EvalAtomExpr() : OpenBabel
• EvalBondExpr() : OpenBabel
• ExpandKekule() : OpenBabel
-e- 1629
Open Babel: API Documentation
• ExtendInvarients() : OpenBabel
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
•a
•b
•c
•d
•e
•f
•g
•i
•k
•l
•m
•n
•o
•p
•q
•r
•s
-e- 1630
Open Babel: API Documentation
•t
•u
•v
•w
-f-
• FastSingleMatch() : OpenBabel
• FatalAllocationError() : OpenBabel
• FatalMemoryError() : OpenBabel
• FindConjugatedEZBonds() : OpenBabel
• FindRingAtoms() : OpenBabel
• FindRings() : OpenBabel
• FixCisTransBonds() : OpenBabel
• FreeAtomExpr() : OpenBabel
• FreeBondExpr() : OpenBabel
• FreePattern() : OpenBabel
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
-f- 1631
Open Babel: API Documentation
• Enumerator
•a
•b
•c
•d
•e
•f
•g
•i
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
-g-
• GenerateAromElem() : OpenBabel
• GenerateByteCodes() : OpenBabel
• GenerateDefaultBond() : OpenBabel
• GenerateElement() : OpenBabel
• GenerateSequence() : OpenBabel
• get_rmat() : OpenBabel
• get_roots_3_3() : OpenBabel
• GetAtomIDNumber() : OpenBabel
• GetBondExprIndex() : OpenBabel
• GetBondLeafIndex() : OpenBabel
• GetChiralFlag() : OpenBabel
• GetChirality() : OpenBabel
• GetCurrentValence() : OpenBabel
• GetDFFVector() : OpenBabel
• GetExprOrder() : OpenBabel
• GetGIVector() : OpenBabel
• GetGTDVector() : OpenBabel
• GetHvyBondSum() : OpenBabel
• GetHvyValence() : OpenBabel
• GetParity4Ref() : OpenBabel
• GetResidueNumber() : OpenBabel
• GetValence() : OpenBabel
• GetVectorBinding() : OpenBabel
-g- 1632
Open Babel: API Documentation
• GraphPotentials() : OpenBabel
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
•a
•b
•c
•d
•e
•f
•g
•i
•k
•l
•m
•n
•o
•p
•q
•r
•s
-g- 1633
Open Babel: API Documentation
•t
•u
•v
•w
-i-
• InternalToCartesian() : OpenBabel
• invert_matrix() : OpenBabel
• invert_matrix_f() : OpenBabel
• invert_matrix_ff() : OpenBabel
• InvertCase() : OpenBabel
• IsApprox() : OpenBabel
• IsApprox_pos() : OpenBabel
• IsBooleanAtomLeaf() : OpenBabel
• IsInvalidAtom() : OpenBabel
• IsNan() : OpenBabel
• IsNear() : OpenBabel
• IsNearZero() : OpenBabel
• IsNegatingAtomLeaf() : OpenBabel
• IsNegligible() : OpenBabel
• IsOddPrime() : OpenBabel
• isqrt() : OpenBabel
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
-i- 1634
Open Babel: API Documentation
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
•a
•b
•c
•d
•e
•f
•g
•i
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
-p-
• PackCoordinate() : OpenBabel
• ParseAtomExpr() : OpenBabel
• ParseBondExpr() : OpenBabel
• ParseBondPrimitive() : OpenBabel
• ParseComplexAtomPrimitive() : OpenBabel
• ParseSimpleAtomPrimitive() : OpenBabel
• ParseSMARTSError() : OpenBabel
• ParseSMARTSPart() : OpenBabel
• ParseSMARTSPattern() : OpenBabel
• ParseSMARTSRecord() : OpenBabel
• ParseSMARTSString() : OpenBabel
• Point2Plane() : OpenBabel
• Point2PlaneAngle() : OpenBabel
• print_matrix() : OpenBabel
• print_matrix_f() : OpenBabel
• print_matrix_ff() : OpenBabel
-p- 1635
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
•a
•b
•c
•d
•e
•f
•g
•i
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
-p- 1636
Open Babel: API Documentation
•v
•w
-q-
• qtrfit() : OpenBabel
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
•a
•b
•c
•d
•e
•f
•g
•i
•k
-q- 1637
Open Babel: API Documentation
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
-r-
• RelativelyPrime() : OpenBabel
• Reweight() : OpenBabel
• rint() : OpenBabel
• rotate_coords() : OpenBabel
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
• All
• Functions
• Variables
-r- 1638
Open Babel: API Documentation
• Typedefs
• Enumerations
• Enumerator
•a
•b
•c
•d
•e
•f
•g
•i
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
-s-
• SafeOpen() : OpenBabel
• SetResidueKeys() : OpenBabel
• SetRotorToAngle() : OpenBabel
• SetupAtomMatchTable() : OpenBabel
• signed_volume() : OpenBabel
• SMARTSError() : OpenBabel
• SmartsLexReplace() : OpenBabel
• SMARTSParser() : OpenBabel
• SolveCubic() : OpenBabel
• SolveLinear() : OpenBabel
• SolveQuadratic() : OpenBabel
• SortAtomZ() : OpenBabel
• SortVVInt() : OpenBabel
• SQUARE() : OpenBabel
• superimpose() : OpenBabel
• Swab() : OpenBabel
-s- 1639
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
•a
•b
•c
•d
•e
•f
•g
•i
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
-s- 1640
Open Babel: API Documentation
•v
•w
-t-
• Tanimoto() : OpenBabel
• theOpCenter() : OpenBabel
• ThrowError() : OpenBabel
• tokenize() : OpenBabel
• ToLower() : OpenBabel
• Tolower() : OpenBabel
• ToLower() : OpenBabel
• ToUpper() : OpenBabel
• Toupper() : OpenBabel
• ToUpper() : OpenBabel
• TraverseSMARTS() : OpenBabel
• Trim() : OpenBabel
• trim_spaces() : OpenBabel
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
• All
• Functions
• Variables
• Typedefs
-t- 1641
Open Babel: API Documentation
• Enumerations
• Enumerator
•a
•b
•c
•d
•e
•f
•g
•i
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
-u-
• UnpackCoordinate() : OpenBabel
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
-u- 1642
Open Babel: API Documentation
• Classes
• Files
• Namespace List
• Namespace Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
•a
•b
•c
•d
•e
•f
•g
•i
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
•v
•w
-v-
• ValenceSum() : OpenBabel
• vectorAngle() : OpenBabel
• VX() : OpenBabel
• VY() : OpenBabel
• VZ() : OpenBabel
• VZero() : OpenBabel
-v- 1643
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
•a
•b
•c
•d
•e
•f
•g
•i
•k
•l
•m
•n
•o
•p
•q
•r
•s
•t
•u
-v- 1644
Open Babel: API Documentation
•v
•w
-w-
• WriteTitles() : OpenBabel
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
• AtomExpr : OpenBabel
• BondExpr : OpenBabel
• ByteCode : OpenBabel
• Formatpos : OpenBabel
• OBAtomIterator : OpenBabel
• OBBondIterator : OpenBabel
• OBDataIterator : OpenBabel
-w- 1645
Open Babel: API Documentation
• OBEdgeBase : OpenBabel
• OBNodeBase : OpenBabel
• OBPairFloatingPoint : OpenBabel
• OBPairInteger : OpenBabel
• OBResidueIterator : OpenBabel
• OBRotorIterator : OpenBabel
• Template : OpenBabel
• transform3dIterator : OpenBabel
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
• All
• Functions
• Variables
• Typedefs
• Enumerations
• Enumerator
•_
•a
•b
•c
•d
•e
•i
•l
•m
•n
-w- 1646
Open Babel: API Documentation
•o
•p
•r
•s
•t
•v
-_-
• _SpaceGroups : OpenBabel
-a-
• AliasDataType : OpenBabel
• AminoAcids : OpenBabel
• aromtyper : OpenBabel
• AtomIndex : OpenBabel
• atomtyper : OpenBabel
-b-
• bitsoff : OpenBabel
• BondIndex : OpenBabel
• bondtyper : OpenBabel
• Buffer : OpenBabel
-c-
• ChainsAtomName : OpenBabel
• chainsparser : OpenBabel
-d-
• Descr : OpenBabel
-e-
• ElemDesc : OpenBabel
• ElemNo : OpenBabel
• etab : OpenBabel
-i-
• isotab : OpenBabel
-_- 1647
Open Babel: API Documentation
-l-
• LexPtr : OpenBabel
-m-
• MainPtr : OpenBabel
• MonoAtom : OpenBabel
• MonoAtomCount : OpenBabel
• MonoBond : OpenBabel
• MonoBondCount : OpenBabel
-n-
• nibble_bit_count : OpenBabel
• Nucleotide : OpenBabel
• Nucleotides : OpenBabel
-o-
• obErrorLog : OpenBabel
• obLocale : OpenBabel
-p-
• Peptide : OpenBabel
• phmodel : OpenBabel
• PointGroups : OpenBabel
• primes : OpenBabel
-r-
• RateData : OpenBabel
• resdat : OpenBabel
• Residue : OpenBabel
• ResNo : OpenBabel
• ringtyper : OpenBabel
• Roots : OpenBabel
• RSCACHE : OpenBabel
-s-
• SINT : OpenBabel
• Stack : OpenBabel
• StackPtr : OpenBabel
• STPTR : OpenBabel
• StrictFlag : OpenBabel
• SwabInt : OpenBabel
-l- 1648
Open Babel: API Documentation
-t-
• ThermoData : OpenBabel
• ttab : OpenBabel
-v-
• VX : OpenBabel
• VY : OpenBabel
• VZ : OpenBabel
• VZero : OpenBabel
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Namespace List
• Namespace Members
-t- 1649
Namespace List
Here is a list of all namespaces with brief descriptions:
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
#include <openbabel/babelconfig.h>
#include <iosfwd>
#include <fstream>
#include <sstream>
#include <string>
#include <map>
#include <locale>
#include <stdlib.h>
#include <openbabel/obconversion.h>
#include <openbabel/locale.h>
Namespaces
namespace OpenBabel
Defines
#define BUFF_SIZE 32768
Functions
int strncasecmp (const char *s1, const char *s2, size_t n)
Detailed Description
Implementation of OBFormat and OBConversion classes.
Define Documentation
Function Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
00001 /**********************************************************************
00002 obconversion.h - Handle file conversions. Declaration of OBFormat, OBConversion
00003
00004 Copyright (C) 2004-2005 by Chris Morley
00005
00006 This file is part of the Open Babel project.
00007 For more information, see <http://openbabel.sourceforge.net/>
00008
00009 This program is free software; you can redistribute it and/or modify
00010 it under the terms of the GNU General Public License as published by
00011 the Free Software Foundation version 2 of the License.
00012
00013 This program is distributed in the hope that it will be useful,
00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00016 GNU General Public License for more details.
00017 ***********************************************************************/
00018
00019 #ifndef OB_CONV_H
00020 #define OB_CONV_H
00021
00022 #include <openbabel/babelconfig.h>
00023
00024 #include <iostream>
00025 #include <fstream>
00026 #include <sstream>
00027
00028 #include <string>
00029 #include <vector>
00030 #include <map>
00031
00032 #include <openbabel/dlhandler.h>
00033 #include <openbabel/oberror.h>
00034 #include <openbabel/format.h>
00035 #include <openbabel/lineend.h>
00036
00037 // These macros are used in DLL builds. If they have not
00038 // been set in babelconfig.h, define them as nothing.
00039 #ifndef OBCONV
00040 #define OBCONV
00041 #endif
00042 #ifndef OBDLL
00043 #define OBDLL
00044 #endif
00045
00046 //using namespace std;
00047 namespace OpenBabel {
00048
00049 // Needed to preserve deprecated API
00050 typedef OBPlugin::PluginIterator Formatpos;
00051
00052 OBERROR extern OBMessageHandler obErrorLog;
00053
00054 //*************************************************
00056 // Class introduction in obconversion.cpp
obconversion.h 1653
Open Babel: API Documentation
00057 class OBCONV OBConversion
00058 {
00060 public:
00062
00063 OBConversion(std::istream* is=NULL, std::ostream* os=NULL);
00065 OBConversion(const OBConversion& o);
00066 virtual ~OBConversion();
00068
00069
00070
00071 static int RegisterFormat(const char* ID, OBFormat* p
00073 static OBFormat* FindFormat(const char* ID);
00075 static OBFormat* FormatFromExt(const char* filename);
00077 static OBFormat* FormatFromMIME(const char* MIME);
00078
00080 static bool GetNextFormat(Formatpos& itr, const char*& str,OBFormat*&
00082
00084
00085 static const char* Description(); //generic conversion options
00087
00089
00090 std::istream* GetInStream() const {return pInStream;};
00091 std::ostream* GetOutStream() const {return pOutStream;};
00092 void SetInStream(std::istream* pIn)
00093 {
00094 if (pInStream && NeedToFreeInStream) {
00095 delete pInStream; NeedToFreeInStream = false;
00096 }
00097 pInStream=pIn;
00098 CheckedForGzip = false; // haven't tried to gzip decode this stream
00099 };
00100 void SetOutStream(std::ostream* pOut)
00101 {
00102 if (pOutStream && NeedToFreeOutStream) {
00103 delete pOutStream; NeedToFreeOutStream = false;
00104 }
00105 pOutStream=pOut;
00106 };
00108 bool SetInAndOutFormats(const char* inID, const char* outID);
00109 bool SetInAndOutFormats(OBFormat* pIn, OBFormat* pOut);
00111 bool SetInFormat(const char* inID);
00112 bool SetInFormat(OBFormat* pIn);
00114 bool SetOutFormat(const char* outID);
00115 bool SetOutFormat(OBFormat* pOut);
00116
00117 OBFormat* GetInFormat() const{return pInFormat;};
00118 OBFormat* GetOutFormat() const{return pOutFormat;};
00119 std::string GetInFilename() const{return InFilename;};
00120
00122 std::streampos GetInPos()const{return wInpos;};
00123
00125 size_t GetInLen()const{return wInlen;};
00126
00128 const char* GetTitle() const;
00129
00131 OBConversion* GetAuxConv() const {return pAuxConv;};
00132 void SetAuxConv(OBConversion* pConv) {pAuxConv=pConv;};
00134
00135
00136
00137 enum Option_type { INOPTIONS, OUTOPTIONS, GENOPTIONS, ALL };
obconversion.h 1654
Open Babel: API Documentation
00138
00140 const char* IsOption(const char* opt,Option_type opttyp=OUTOPTIONS);
00141
00143 const std::map<std::string,std::string>* GetOptions(Option_type opttyp)
00144 { return &OptionsArray[opttyp];};
00145
00147 void AddOption(const char* opt, Option_type opttyp=OUTOPTIONS, const char* txt=NULL)
00148
00149 bool RemoveOption(const char* opt, Option_type optype);
00150
00152 void SetOptions(const char* options, Option_type opttyp);
00153
00155 static void RegisterOptionParam(std::string name, OBFormat* pFormat,
00156 int numberParams=0, Option_type typ=OUTOPTIONS);
00157
00159 static int GetOptionParams(std::string name, Option_type typ);
00161
00163 void CopyOptions(OBConversion* pSourceConv, Option_type typ=ALL);
00164
00166
00167 // @brief Set and return the list of supported input format
00168 std::vector<std::string> GetSupportedInputFormat();
00169 // @brief Set and return the list of supported output format
00170 std::vector<std::string> GetSupportedOutputFormat();
00172
00174
00175
00176 int Convert(std::istream* is, std::ostream* os);
00177
00179 int Convert();
00180
00183 int FullConvert(std::vector<std::string>& Fil
00184 std::string& OutputFileName, std::vector<std::string>& Outp
00186
00188
00189 int AddChemObject(OBBase* pOb);
00190 OBBase* GetChemObject();
00191 bool IsLast();
00192 bool IsFirstInput();
00193 void SetFirstInput(bool b=true);
00194 int GetOutputIndex() const ;
00195 void SetOutputIndex(int indx);
00196 void SetMoreFilesToCome();
00197 void SetOneObjectOnly(bool b=true);
00198 void SetLast(bool b){SetOneObjectOnly(b);}
00199 bool IsLastFile(){ return !MoreFilesToCome;}
00200
00201
00202
00203
00204 static OBFormat* GetDefaultFormat(){return OBFormat::FindType(NULL);};
00205
00207
00210 bool Write(OBBase* pOb, std::ostream* pout=NULL);
00211
00213
00219 std::string WriteString(OBBase* pOb, bool trimWhitespace = fals
00220
00222
00227 bool WriteFile(OBBase* pOb, std::string filePath);
00228
obconversion.h 1655
Open Babel: API Documentation
00233 void CloseOutFile();
00234
00236
00240 bool Read(OBBase* pOb, std::istream* pin=NULL);
00241
00245 // OBBase* ReadObject(std::istream* pin=NULL);
00246
00248
00252 bool ReadString(OBBase* pOb, std::string input);
00253
00255
00261 bool ReadFile(OBBase* pOb, std::string filePath);
00262
00268 bool OpenInAndOutFiles(std::string infilepath, std::string outfilepath);
00269
00274 void ReportNumberConverted(int count, OBFormat* pFormat=NULL);
00275
00276
00277 protected:
00279 static std::string BatchFileName(std::string& BaseName, std::string& InFile);
00281 static std::string IncrementedFileName(std::string& BaseName, const int Count);
00283 static bool CheckForUnintendedBatch(const std::string& infile, const std::string& o
00285 void InstallStreamFilter();
00286
00288
00289 protected:
00290 bool SetStartAndEnd();
00291 // static FMapType& FormatsMap();///<contains ID and pointer to all OBFormat classes
00292 // static FMapType& FormatsMIMEMap();///<contains MIME and pointer to all OBFormat c
00293 typedef std::map<std::string,int> OPAMapType;
00294 static OPAMapType& OptionParamArray(Option_type typ);
00295 static int LoadFormatFiles();
00296 bool OpenAndSetFormat(bool SetFormat, std::ifstream* is);
00297
00298 std::string InFilename;
00299 std::istream* pInStream;
00300 std::ostream* pOutStream;
00301 static OBFormat* pDefaultFormat;
00302 OBFormat* pInFormat;
00303 OBFormat* pOutFormat;
00304
00305 std::map<std::string,std::string> OptionsArray[3];
00306
00307 int Index;
00308 unsigned int StartNumber;
00309 unsigned int EndNumber;
00310 int Count;
00311 bool m_IsFirstInput;
00312 bool m_IsLast;
00313 bool MoreFilesToCome;
00314 bool OneObjectOnly;
00315 bool ReadyToInput;
00316 bool CheckedForGzip;
00317 bool NeedToFreeInStream;
00318 bool NeedToFreeOutStream;
00319 typedef FilteringInputStreambuf< LineEndingExtractor > LErdbuf;
00320 LErdbuf* pLineEndBuf;
00321
00322 static int FormatFilesLoaded;
00323 OBBase* pOb1;
00324 std::streampos wInpos;
obconversion.h 1656
Open Babel: API Documentation
00325 std::streampos rInpos;
00326 size_t wInlen;
00327 size_t rInlen;
00328
00329 OBConversion* pAuxConv;
00330
00331 std::vector<std::string> SupportedInputFormat;
00332 std::vector<std::string> SupportedOutputFormat;
00333
00334 };
00335
00336 } //namespace OpenBabel
00337 #endif //OB_CONV_H
00338
00341
00342
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
obconversion.h 1657
obconversion.h File Reference
Handle file conversions. Declaration of OBFormat, OBConversion. More...
#include <openbabel/babelconfig.h>
#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
#include <vector>
#include <map>
#include <openbabel/dlhandler.h>
#include <openbabel/oberror.h>
#include <openbabel/format.h>
#include <openbabel/lineend.h>
This graph shows which files directly or indirectly include this file:
Namespaces
namespace OpenBabel
Classes
class OBConversion
Class to convert from one format to another. More...
Typedefs
typedef OBPlugin::PluginIterator Formatpos
Detailed Description
Handle file conversions. Declaration of OBFormat, OBConversion.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
#include <openbabel/babelconfig.h>
#include <iostream>
#include <string>
#include <algorithm>
#include <openbabel/oberror.h>
Namespaces
namespace OpenBabel
Detailed Description
Handle error messages, warnings, notices, etc. Implements OBMessageHandler class.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
00001 /**********************************************************************
00002 oberror.h - Handle error messages, warnings, notices, etc.
00003
00004 Copyright (C) 2002 by Stefan Kebekus
00005 Some portions Copyright (C) 2003-2006 by Geoffrey R. Hutchison
00006
00007 This file is part of the Open Babel project.
00008 For more information, see <http://openbabel.sourceforge.net/>
00009
00010 This program is free software; you can redistribute it and/or modify
00011 it under the terms of the GNU General Public License as published by
00012 the Free Software Foundation version 2 of the License.
00013
00014 This program is distributed in the hope that it will be useful, but
00015 WITHOUT ANY WARRANTY; without even the implied warranty of
00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
00017 General Public License for more details.
00018 ***********************************************************************/
00019
00020 #ifndef OB_ERROR_H
00021 #define OB_ERROR_H
00022
00023 #include <openbabel/babelconfig.h>
00024
00025 #include <iosfwd>
00026 #include <sstream>
00027 #include <string>
00028 #include <vector>
00029 #include <deque>
00030
00031 #ifndef OBERROR
00032 #define OBERROR
00033 #endif
00034
00035 namespace OpenBabel
00036 {
00037
00039 enum obMessageLevel {
00040 obError,
00041 obWarning,
00042 obInfo,
00043 obAuditMsg,
00044 obDebug
00045 };
00046
00047 enum errorQualifier {always, onceOnly};
00048
00052 class OBERROR OBError
00053 {
00054 public:
00055
00057 OBError( const std::string &method = "",
00058 const std::string &errorMsg = "",
00059 const std::string &explanation = "",
00060 const std::string &possibleCause = "",
oberror.h 1661
Open Babel: API Documentation
00061 const std::string &suggestedRemedy = "",
00062 const obMessageLevel = obDebug );
00063
00065 std::string message(void) const;
00066
00068 friend std::ostream& operator<< ( std::ostream &os, const OBError &er )
00069 { return os << er.message(); };
00070
00073 std::string GetMethod() const { return _method; }
00075 std::string GetError() const { return _errorMsg; }
00077 std::string GetExplanation() const { return _explanation; }
00079 std::string GetPossibleCause() const { return _possibleCause; }
00081 std::string GetSuggestedRemedy() const { return _suggestedRemedy; }
00083 obMessageLevel GetLevel() const { return _level; }
00084
00085 bool operator== (const OBError&)const;
00086
00087 protected:
00088
00090 std::string _method;
00092 std::string _errorMsg;
00094 std::string _explanation;
00096 std::string _possibleCause;
00098 std::string _suggestedRemedy;
00099
00101 obMessageLevel _level;
00102 };
00103
00105 // More documentation in oberror.cpp
00106 class OBERROR OBMessageHandler
00107 {
00108 protected:
00110 unsigned int _messageCount[5];
00111
00112 public:
00113 OBMessageHandler();
00114 ~OBMessageHandler();
00115
00117 void ThrowError(OBError err, errorQualifier qqualifier = always);
00119 void ThrowError(const std::string &method, const std::string &errorMsg,
00120 obMessageLevel level = obDebug, errorQualifier qualifier = always);
00121
00123 std::vector<std::string> GetMessagesOfLevel(const obMessageLevel);
00124
00126 void StartLogging() { _logging = true; }
00128 void StopLogging() { _logging = false; }
00129
00131 void SetMaxLogEntries(unsigned int max) { _maxEntries = max; }
00133 unsigned int GetMaxLogEntries() { return _maxEntries; }
00134
00136 void ClearLog() { _messageList.clear(); }
00137
00140 void SetOutputLevel(const obMessageLevel level) { _outputLevel = level; }
00142 obMessageLevel GetOutputLevel() { return _outputLevel; }
00143
00144 void SetOutputStream(std::ostream *os) { _outputStream = os; }
00145 std::ostream* GetOutputStream() { return _outputStream; }
00146
00148 bool StartErrorWrap();
00150 bool StopErrorWrap();
00151
oberror.h 1662
Open Babel: API Documentation
00153 unsigned int GetErrorMessageCount() { return _messageCount[obError];}
00155 unsigned int GetWarningMessageCount() { return _messageCount[obWarning];}
00157 unsigned int GetInfoMessageCount() { return _messageCount[obInfo];}
00159 unsigned int GetAuditMessageCount() { return _messageCount[obAuditMsg];}
00161 unsigned int GetDebugMessageCount() { return _messageCount[obDebug];}
00163 std::string GetMessageSummary();
00164
00165 protected:
00167 std::deque<OBError> _messageList;
00168
00170 obMessageLevel _outputLevel;
00171
00172 // self-explanatory
00173 std::ostream *_outputStream;
00174
00176 bool _logging;
00178 unsigned int _maxEntries;
00179
00181 std::streambuf *_inWrapStreamBuf;
00183 std::streambuf *_filterStreamBuf;
00184 };
00185
00186 OBERROR extern OBMessageHandler obErrorLog;
00187
00190
00200 class OBERROR obLogBuf : public std::stringbuf
00201 {
00202 public:
00204 virtual ~obLogBuf() { sync(); }
00205
00206 protected:
00208 int sync()
00209 {
00210 obErrorLog.ThrowError("", str(), obInfo);
00211 str(std::string()); // clear the buffer
00212 return 0;
00213 }
00214 };
00215
00216 } // end namespace OpenBabel
00217
00218 #endif
00219
This file is part of the documentation for Open Babel, version 2.2.0.
oberror.h 1663
Open Babel: API Documentation
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
oberror.h 1664
oberror.h File Reference
Handle error messages, warnings, notices, etc. More...
#include <openbabel/babelconfig.h>
#include <iosfwd>
#include <sstream>
#include <string>
#include <vector>
#include <deque>
This graph shows which files directly or indirectly include this file:
Namespaces
namespace OpenBabel
Classes
class OBError
Customizable error handling and logging -- store a message, including the method yielding the
error, causes, etc. More...
class OBMessageHandler
Handle error messages, warnings, debugging information and the like. More...
class obLogBuf
A minimal streambuf derivative to wrap calls to cerr into calls to OBMessageHandler as needed.
More...
Enumerations
enum obMessageLevel {
obError, obWarning, obInfo, obAuditMsg,
obDebug
}
enum errorQualifier { always, onceOnly }
Detailed Description
Handle error messages, warnings, notices, etc.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
Enumerations 1666
obiter.cpp File Reference
STL-style iterators for Open Babel. More...
#include <openbabel/babelconfig.h>
#include <vector>
#include <openbabel/mol.h>
#include <openbabel/obiter.h>
Namespaces
namespace OpenBabel
Detailed Description
STL-style iterators for Open Babel.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
00001 /**********************************************************************
00002 obiter.h - STL-style iterators for Open Babel.
00003
00004 Copyright (C) 1998-2001 by OpenEye Scientific Software, Inc.
00005 Some portions Copyright (C) 2001-2006 by Geoffrey R. Hutchison
00006
00007 This file is part of the Open Babel project.
00008 For more information, see <http://openbabel.sourceforge.net/>
00009
00010 This program is free software; you can redistribute it and/or modify
00011 it under the terms of the GNU General Public License as published by
00012 the Free Software Foundation version 2 of the License.
00013
00014 This program is distributed in the hope that it will be useful,
00015 but WITHOUT ANY WARRANTY; without even the implied warranty of
00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00017 GNU General Public License for more details.
00018 ***********************************************************************/
00019
00020 #ifndef OB_OBITER_H
00021 #define OB_OBITER_H
00022
00023 #include <openbabel/babelconfig.h>
00024 #include <openbabel/base.h>
00025 #include <openbabel/bitvec.h>
00026
00027 #include <vector>
00028 #include <stack>
00029 #include <queue>
00030
00031 namespace OpenBabel
00032 {
00033
00034 class OBMol;
00035 class OBAtom;
00036 class OBBond;
00037 class OBResidue;
00038
00039 // more detailed descriptions and documentation in obiter.cpp
00040
00042 class OBAPI OBMolAtomIter {
00043 std::vector<OBAtom*>::iterator _i;
00044 OBMol *_parent;
00045 OBAtom *_ptr;
00046 public:
00047
00048 OBMolAtomIter() :_parent(NULL), _ptr(NULL) { }
00049 OBMolAtomIter(OBMol *mol);
00050 OBMolAtomIter(OBMol &mol);
00051 OBMolAtomIter(const OBMolAtomIter &ai);
00052 ~OBMolAtomIter() { }
00053
00054 OBMolAtomIter& operator=(const OBMolAtomIter &ai);
00056 operator bool() const { return _ptr != NULL; }
00058 OBMolAtomIter& operator++();
obiter.h 1668
Open Babel: API Documentation
00060 OBMolAtomIter operator++(int);
00062 OBAtom* operator->() const { return _ptr; }
00064 OBAtom& operator*() const { return *_ptr; }
00065 };
00066
00068 class OBAPI OBMolAtomDFSIter {
00069 OBMol *_parent;
00070 OBAtom *_ptr;
00071 OBBitVec _notVisited;
00072 std::stack<OBAtom *> _stack;
00073 public:
00074
00075 OBMolAtomDFSIter() : _parent(NULL), _ptr(NULL) { }
00076 OBMolAtomDFSIter(OBMol *mol, int StartIndex=1);
00077 OBMolAtomDFSIter(OBMol &mol, int StartIndex=1);
00078 OBMolAtomDFSIter(const OBMolAtomDFSIter &ai);
00079 ~OBMolAtomDFSIter() { }
00080
00081 OBMolAtomDFSIter& operator=(const OBMolAtomDFSIter &ai);
00083 operator bool() const { return _ptr != NULL; }
00085 OBMolAtomDFSIter& operator++();
00087 OBMolAtomDFSIter operator++(int);
00089 OBAtom* operator->() const { return _ptr; }
00091 OBAtom& operator*() const { return *_ptr; }
00093 OBAtom* next()
00094 {
00095 if(_stack.empty())
00096 return NULL; //end of a disconnected fragment
00097 else
00098 return _stack.top(); //the next atom
00099 }
00100 };
00101
00103 class OBAPI OBMolAtomBFSIter {
00104 OBMol *_parent;
00105 OBAtom *_ptr;
00106 OBBitVec _notVisited;
00107 std::queue<OBAtom *> _queue;
00108 std::vector<int> _depth;
00109 public:
00110
00111 OBMolAtomBFSIter(): _parent(NULL), _ptr(NULL) { }
00112 OBMolAtomBFSIter(OBMol *mol, int StartIndex = 1);
00113 OBMolAtomBFSIter(OBMol &mol, int StartIndex = 1);
00114 OBMolAtomBFSIter(const OBMolAtomBFSIter &ai);
00115 ~OBMolAtomBFSIter() { }
00116
00117 OBMolAtomBFSIter& operator=(const OBMolAtomBFSIter &ai);
00119 operator bool() const { return _ptr != NULL; }
00121 OBMolAtomBFSIter& operator++();
00123 OBMolAtomBFSIter operator++(int);
00125 OBAtom* operator->() const { return _ptr; }
00127 OBAtom& operator*() const { return *_ptr; }
00130 int CurrentDepth() const;
00131 };
00132
00134 class OBAPI OBMolBondIter {
00135 std::vector<OBBond*>::iterator _i;
00136 OBMol *_parent;
00137 OBBond *_ptr;
00138 public:
obiter.h 1669
Open Babel: API Documentation
00139
00140 OBMolBondIter() : _parent(NULL), _ptr(NULL) {}
00141 OBMolBondIter(OBMol *mol);
00142 OBMolBondIter(OBMol &mol);
00143 OBMolBondIter(const OBMolBondIter &bi);
00144 ~OBMolBondIter() { }
00145
00146 OBMolBondIter& operator=(const OBMolBondIter &bi);
00148 operator bool() const { return _ptr != NULL; }
00150 OBMolBondIter& operator++();
00152 OBMolBondIter operator++(int);
00154 OBBond* operator->() const { return _ptr; }
00156 OBBond& operator*() const { return *_ptr; }
00157 };
00158
00160 class OBAPI OBAtomAtomIter {
00161 std::vector<OBBond*>::iterator _i;
00162 OBAtom *_parent;
00163 OBAtom *_ptr;
00164 public:
00165
00166 OBAtomAtomIter() : _parent(NULL), _ptr(NULL) { }
00167 OBAtomAtomIter(OBAtom *atm);
00168 OBAtomAtomIter(OBAtom &atm);
00169 OBAtomAtomIter(const OBAtomAtomIter &ai);
00170 ~OBAtomAtomIter() { }
00171
00172 OBAtomAtomIter& operator=(const OBAtomAtomIter &ai);
00174 operator bool() const { return _ptr != NULL; }
00176 OBAtomAtomIter& operator++();
00178 OBAtomAtomIter operator++(int);
00180 OBAtom* operator->() const { return _ptr; }
00182 OBAtom& operator*() const { return *_ptr; }
00183 };
00184
00186 class OBAPI OBAtomBondIter {
00187 std::vector<OBBond*>::iterator _i;
00188 OBAtom *_parent;
00189 OBBond *_ptr;
00190 public:
00191
00192 OBAtomBondIter(): _parent(NULL), _ptr(NULL) { }
00193 OBAtomBondIter(OBAtom *atm);
00194 OBAtomBondIter(OBAtom &atm);
00195 OBAtomBondIter(const OBAtomBondIter &bi);
00196 ~OBAtomBondIter() { }
00197
00198 OBAtomBondIter& operator=(const OBAtomBondIter &bi);
00200 operator bool() const { return _ptr != NULL; }
00202 OBAtomBondIter& operator++();
00204 OBAtomBondIter operator++(int);
00206 OBBond* operator->() const { return _ptr; }
00208 OBBond& operator*() const { return *_ptr;}
00209 };
00210
00212 class OBAPI OBResidueIter {
00213 std::vector<OBResidue*>::iterator _i;
00214 OBResidue *_ptr;
00215 OBMol *_parent;
00216 public:
00217
obiter.h 1670
Open Babel: API Documentation
00218 OBResidueIter() : _ptr(NULL), _parent(NULL) { }
00219 OBResidueIter(OBMol *mol);
00220 OBResidueIter(OBMol &mol);
00221 OBResidueIter(const OBResidueIter &ri);
00222 ~OBResidueIter() { }
00223
00224 OBResidueIter& operator=(const OBResidueIter &ri);
00226 operator bool() const { return _ptr != NULL; }
00228 OBResidueIter& operator++();
00230 OBResidueIter operator++(int);
00232 OBResidue* operator->() const{ return _ptr; }
00234 OBResidue& operator*() const { return *_ptr;}
00235 };
00236
00238 class OBAPI OBResidueAtomIter {
00239 std::vector<OBAtom*>::iterator _i;
00240 OBResidue *_parent;
00241 OBAtom *_ptr;
00242 public:
00243
00244 OBResidueAtomIter() : _parent(NULL), _ptr(NULL) { }
00245 OBResidueAtomIter(OBResidue *res);
00246 OBResidueAtomIter(OBResidue &res);
00247 OBResidueAtomIter(const OBResidueAtomIter &ri);
00248 ~OBResidueAtomIter() { }
00249
00250 OBResidueAtomIter &operator = (const OBResidueAtomIter &ri);
00252 operator bool() const { return _ptr != NULL; }
00254 OBResidueAtomIter& operator++ ();
00256 OBResidueAtomIter operator++ (int);
00258 OBAtom *operator->() const { return _ptr; }
00260 OBAtom &operator*() const { return *_ptr;}
00261 };
00262
00264 class OBAPI OBMolAngleIter {
00265 OBMol *_parent;
00266 std::vector<std::vector<unsigned int> > _vangle;
00267 std::vector<std::vector<unsigned int> >::iterator _i;
00268 std::vector<unsigned int> _angle;
00269 public:
00270
00271 OBMolAngleIter() :_parent(NULL) { }
00272 OBMolAngleIter(OBMol *mol);
00273 OBMolAngleIter(OBMol &mol);
00274 OBMolAngleIter(const OBMolAngleIter &ai);
00275 ~OBMolAngleIter() { }
00276
00277 OBMolAngleIter& operator=(const OBMolAngleIter &ai);
00279 operator bool() const { return (_i != _vangle.end()); }
00281 OBMolAngleIter& operator++();
00284 std::vector<unsigned int> operator*() const { return _angle; }
00285 };
00286
00288 class OBAPI OBMolTorsionIter {
00289 OBMol *_parent;
00290 std::vector<std::vector<unsigned int> > _vtorsion;
00291 std::vector<std::vector<unsigned int> >::iterator _i;
00292 std::vector<unsigned int> _torsion;
00293 public:
00294
00295 OBMolTorsionIter() :_parent(NULL) { }
obiter.h 1671
Open Babel: API Documentation
00296 OBMolTorsionIter(OBMol *mol);
00297 OBMolTorsionIter(OBMol &mol);
00298 OBMolTorsionIter(const OBMolTorsionIter &ai);
00299 ~OBMolTorsionIter() { }
00300
00301 OBMolTorsionIter& operator=(const OBMolTorsionIter &ai);
00303 operator bool() const { return (_i != _vtorsion.end()); }
00305 OBMolTorsionIter& operator++();
00308 std::vector<unsigned int> operator*() const { return _torsion; }
00309 };
00310
00312 class OBAPI OBMolPairIter {
00313 std::vector<OBAtom*>::iterator _i;
00314 std::vector<OBAtom*>::iterator _j;
00315 OBMol *_parent;
00316 //std::vector<std::vector<unsigned int> > _vpair;
00317 //std::vector<std::vector<unsigned int> >::iterator _i;
00318 std::vector<unsigned int> _pair;
00319
00320 public:
00321
00322 OBMolPairIter() :_parent(NULL) { }
00323 OBMolPairIter(OBMol *mol);
00324 OBMolPairIter(OBMol &mol);
00325 OBMolPairIter(const OBMolPairIter &ai);
00326 ~OBMolPairIter() { }
00327
00328 OBMolPairIter& operator=(const OBMolPairIter &ai);
00330 operator bool() const { return _pair.size()>0; }
00332 OBMolPairIter& operator++();
00335 std::vector<unsigned int> operator*() const { return _pair; }
00336 };
00337
00338
00340 class OBAPI OBMolRingIter {
00341 std::vector<OBRing*>::iterator _i;
00342 OBRing *_ptr;
00343 OBMol *_parent;
00344 OBRingData *_rings;
00345 public:
00346
00347 OBMolRingIter() : _ptr(NULL), _parent(NULL), _rings(NULL) { }
00348 OBMolRingIter(OBMol *mol);
00349 OBMolRingIter(OBMol &mol);
00350 OBMolRingIter(const OBMolRingIter &ri);
00351 ~OBMolRingIter() { }
00352
00353 OBMolRingIter& operator=(const OBMolRingIter &ri);
00355 operator bool() const { return _ptr != NULL; }
00357 OBMolRingIter& operator++();
00359 OBMolRingIter operator++(int);
00361 OBRing* operator->() const { return _ptr; }
00363 OBRing& operator*() const { return *_ptr;}
00364 };
00365
00366 #define FOR_ATOMS_OF_MOL(a,m) for( OBMolAtomIter a(m); a; ++a )
00367 #define FOR_BONDS_OF_MOL(b,m) for( OBMolBondIter b(m); b; ++b )
00368 #define FOR_NBORS_OF_ATOM(a,p) for( OBAtomAtomIter a(p); a; ++a )
00369 #define FOR_BONDS_OF_ATOM(b,p) for( OBAtomBondIter b(p); b; ++b )
00370 #define FOR_RESIDUES_OF_MOL(r,m) for( OBResidueIter r(m); r; ++r )
00371 #define FOR_ATOMS_OF_RESIDUE(a,r) for( OBResidueAtomIter a(r); a; ++a )
obiter.h 1672
Open Babel: API Documentation
00372 #define FOR_DFS_OF_MOL(a,m) for( OBMolAtomDFSIter a(m); a; ++a )
00373 #define FOR_BFS_OF_MOL(a,m) for( OBMolAtomBFSIter a(m); a; ++a )
00374 #define FOR_RINGS_OF_MOL(a,m) for( OBMolRingIter r(m); r; ++r )
00375 #define FOR_ANGLES_OF_MOL(a,m) for( OBMolAngleIter a(m); a; ++a )
00376 #define FOR_TORSIONS_OF_MOL(t,m) for( OBMolTorsionIter t(m); t; ++t )
00377 #define FOR_PAIRS_OF_MOL(p,m) for( OBMolPairIter p(m); p; ++p )
00378
00379 } // namespace OpenBabel
00380 #endif // OB_OBITER_H
00381
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
obiter.h 1673
obiter.h File Reference
STL-style iterators for Open Babel. More...
#include <openbabel/babelconfig.h>
#include <openbabel/base.h>
#include <openbabel/bitvec.h>
#include <vector>
#include <stack>
#include <queue>
This graph shows which files directly or indirectly include this file:
Namespaces
namespace OpenBabel
Classes
class OBMolAtomIter
Iterate over all atoms in an OBMol. More...
class OBMolAtomDFSIter
Iterate over all atoms in an OBMol in a depth-first search (DFS). More...
class OBMolAtomBFSIter
Iterate over all atoms in an OBMol in a breadth-first search (BFS). More...
class OBMolBondIter
Iterate over all bonds in an OBMol. More...
class OBAtomAtomIter
Iterate over all neighboring atoms to an OBAtom. More...
class OBAtomBondIter
Iterate over all bonds on an OBAtom. More...
class OBResidueIter
Defines
#define FOR_ATOMS_OF_MOL(a, m) for( OBMolAtomIter a(m); a; ++a )
#define FOR_BONDS_OF_MOL(b, m) for( OBMolBondIter b(m); b; ++b )
#define FOR_NBORS_OF_ATOM(a, p) for( OBAtomAtomIter a(p); a; ++a )
#define FOR_BONDS_OF_ATOM(b, p) for( OBAtomBondIter b(p); b; ++b )
#define FOR_RESIDUES_OF_MOL(r, m) for( OBResidueIter r(m); r; ++r )
#define FOR_ATOMS_OF_RESIDUE(a, r) for( OBResidueAtomIter a(r); a; ++a )
#define FOR_DFS_OF_MOL(a, m) for( OBMolAtomDFSIter a(m); a; ++a )
#define FOR_BFS_OF_MOL(a, m) for( OBMolAtomBFSIter a(m); a; ++a )
#define FOR_RINGS_OF_MOL(a, m) for( OBMolRingIter r(m); r; ++r )
#define FOR_ANGLES_OF_MOL(a, m) for( OBMolAngleIter a(m); a; ++a )
#define FOR_TORSIONS_OF_MOL(t, m) for( OBMolTorsionIter t(m); t; ++t )
#define FOR_PAIRS_OF_MOL(p, m) for( OBMolPairIter p(m); p; ++p )
Detailed Description
STL-style iterators for Open Babel.
Define Documentation
#define FOR_ATOMS_OF_MOL ( a,
for( OBMolAtomIter
m )
a(m); a; ++a )
Referenced by OBForceField::ConjugateGradientsInitialize(),
OBForceField::ConjugateGradientsTakeNSteps(), OBAtomTyper::CorrectAromaticNitrogens(),
OBBuilder::CorrectStereoAtoms(), OBForceField::CorrectVelocities(), OBForceField::DetectExplosion(),
OBForceField::DistanceGeometry(), OBUnitCell::FillUnitCell(), OBMol::FindAngles(),
OBForceField::GenerateVelocities(), OBForceField::GetAtomTypes(), OBForceField::GetCoordinates(),
OBForceField::GetGrid(), OBForceField::GetPartialCharges(), OBMol::GetSpacedFormula(),
OBForceField::IsSetupNeeded(), OBForceField::MolecularDynamicsTakeNSteps(), OBMol::operator=(),
OBChainsParser::PerceiveChains(), OBForceField::PrintFormalCharges(),
OBForceField::PrintPartialCharges(), OBForceField::PrintTypes(), OBForceField::PrintVelocities(),
OBForceField::SetConformers(), OBForceField::SetCoordinates(), and
Classes 1675
Open Babel: API Documentation
OBForceField::SteepestDescentTakeNSteps().
#define FOR_BONDS_OF_MOL ( b,
for( OBMolBondIter
m )
b(m); b; ++b )
#define FOR_NBORS_OF_ATOM ( a,
for(
p ) OBAtomAtomIter a(p);
a; ++a )
#define FOR_BONDS_OF_ATOM ( b,
p ) for( OBAtomBondIter b(p); b; ++b )
#define FOR_RESIDUES_OF_MOL ( r,
m ) for( OBResidueIter r(m); r; ++r )
#define FOR_ATOMS_OF_RESIDUE ( a,
r ) for( OBResidueAtomIter a(r); a; ++a )
Referenced by OBMol::operator+=().
#define FOR_DFS_OF_MOL ( a,
m ) for( OBMolAtomDFSIter a(m); a; ++a )
Referenced by OBBuilder::Build().
#define FOR_BFS_OF_MOL ( a,
m ) for( OBMolAtomBFSIter a(m); a; ++a )
#define FOR_RINGS_OF_MOL ( a,
m ) for( OBMolRingIter r(m); r; ++r )
#define FOR_ANGLES_OF_MOL ( a,
m ) for( OBMolAngleIter a(m); a; ++a )
#define FOR_TORSIONS_OF_MOL ( t,
m ) for( OBMolTorsionIter t(m); t; ++t )
Referenced by OBBuilder::CorrectStereoBonds().
#define FOR_PAIRS_OF_MOL ( p,
m ) for( OBMolPairIter p(m); p; ++p )
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
#include <openbabel/babelconfig.h>
#include <openbabel/obmolecformat.h>
#include <openbabel/obiter.h>
Namespaces
namespace OpenBabel
Detailed Description
Subclass of OBFormat for conversion of OBMol.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
00001 /**********************************************************************
00002 obmolecformat.h - Subclass of OBFormat for conversion of OBMol.
00003
00004 Copyright (C) 2005 Chris Morley
00005
00006 This file is part of the Open Babel project.
00007 For more information, see <http://openbabel.sourceforge.net/>
00008
00009 This program is free software; you can redistribute it and/or modify
00010 it under the terms of the GNU General Public License as published by
00011 the Free Software Foundation version 2 of the License.
00012
00013 This program is distributed in the hope that it will be useful,
00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00016 GNU General Public License for more details.
00017 ***********************************************************************/
00018
00019 #ifndef OB_MOLECULEFORMAT_H
00020 #define OB_MOLECULEFORMAT_H
00021
00022 #ifdef _MSC_VER
00023 #include <hash_map>
00024 #endif
00025
00026 #include <openbabel/mol.h>
00027 #include <openbabel/babelconfig.h>
00028 #include <openbabel/obconversion.h>
00029 #include <typeinfo>
00030
00031 namespace OpenBabel {
00032
00033 // This macro is used in DLL builds. If it has not
00034 // been set in babelconfig.h, define it as nothing.
00035 #ifndef OBCOMMON
00036 #define OBCOMMON
00037 #endif
00038
00052 class OBCOMMON OBMoleculeFormat : public OBFormat
00053 {
00054 private:
00055 static bool OptionsRegistered;
00056 static std::map<std::string, OBMol*> IMols;
00057 static OBMol* _jmol;
00058 static std::vector<OBMol> MolArray;
00059 static bool StoredMolsReady;
00060
00061 public:
00062
00063 OBMoleculeFormat()
00064 {
00065 if(!OptionsRegistered)
00066 {
00067 OptionsRegistered=true;
00068 OBConversion::RegisterOptionParam("b", this, 0, OBConversion::INOPTIONS);
obmolecformat.h 1679
Open Babel: API Documentation
00069 OBConversion::RegisterOptionParam("s", this, 0, OBConversion::INOPTIONS);
00070 OBConversion::RegisterOptionParam("title", this, 1,OBConversion::GENOPTIONS);
00071 OBConversion::RegisterOptionParam("addtotitle", this, 1,OBConversion::GENOPTIONS);
00072 OBConversion::RegisterOptionParam("property", this, 2, OBConversion::GENOPTIONS);
00073 OBConversion::RegisterOptionParam("C", this, 0,OBConversion::GENOPTIONS);
00074 OBConversion::RegisterOptionParam("j", this, 0,OBConversion::GENOPTIONS);
00075 OBConversion::RegisterOptionParam("join", this, 0,OBConversion::GENOPTIONS);
00076 OBConversion::RegisterOptionParam("separate", this, 0,OBConversion::GENOPTIONS);
00077
00078 //The follow are OBMol options, which should not be in OBConversion.
00079 //But here isn't entirely appropriate either, since one could have
00080 //OBMol formats loaded but which don't derived from this class.
00081 //However, this possibility is remote.
00082 OBConversion::RegisterOptionParam("s", NULL, 1,OBConversion::GENOPTIONS);
00083 OBConversion::RegisterOptionParam("v", NULL, 1,OBConversion::GENOPTIONS);
00084 OBConversion::RegisterOptionParam("h", NULL, 0,OBConversion::GENOPTIONS);
00085 OBConversion::RegisterOptionParam("d", NULL, 0,OBConversion::GENOPTIONS);
00086 OBConversion::RegisterOptionParam("b", NULL, 0,OBConversion::GENOPTIONS);
00087 OBConversion::RegisterOptionParam("c", NULL, 0,OBConversion::GENOPTIONS);
00088 OBConversion::RegisterOptionParam("p", NULL, 0,OBConversion::GENOPTIONS);
00089 OBConversion::RegisterOptionParam("t", NULL, 0,OBConversion::GENOPTIONS);
00090 OBConversion::RegisterOptionParam("k", NULL, 0,OBConversion::GENOPTIONS);
00091 OBConversion::RegisterOptionParam("filter", NULL, 1,OBConversion::GENOPTIONS);
00092 OBConversion::RegisterOptionParam("add", NULL, 1,OBConversion::GENOPTIONS);
00093 OBConversion::RegisterOptionParam("delete", NULL, 1,OBConversion::GENOPTIONS);
00094 OBConversion::RegisterOptionParam("append", NULL, 1,OBConversion::GENOPTIONS);
00095 }
00096 }
00097
00099 static bool ReadChemObjectImpl(OBConversion* pConv, OBFormat*);
00101 static bool WriteChemObjectImpl(OBConversion* pConv, OBFormat*);
00102
00104 virtual bool ReadChemObject(OBConversion* pConv)
00105 { return ReadChemObjectImpl(pConv, this);}
00106
00108 virtual bool WriteChemObject(OBConversion* pConv)
00109 { return WriteChemObjectImpl(pConv, this);}
00110
00112
00113
00114
00115 static bool DeferMolOutput(OBMol* pmol, OBConversion* pConv, OBFormat* pF);
00117 static bool OutputDeferredMols(OBConversion* pConv);
00119 static bool DeleteDeferredMols();
00121 static OBMol* MakeCombinedMolecule(OBMol* pFirst, OBMol* pSecond);
00123
00124 #ifdef _MSC_VER
00125 typedef stdext::hash_map<std::string, unsigned> NameIndexType;
00126 #else
00127 typedef std::map<std::string, unsigned> NameIndexType;
00128 #endif
00129
00130 // documentation in obmolecformat.cpp
00131 static bool ReadNameIndex(NameIndexType& index, const std::string& datafilename,
00132 OBFormat* pInFormat);
00133
00135 const std::type_info& GetType()
00136 {
00137 return typeid(OBMol*);
00138 }
00140
obmolecformat.h 1680
Open Babel: API Documentation
00141 };
00142
00143 }
00144 #endif //OB_MOLECULEFORMAT_H
00145
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
obmolecformat.h 1681
obmolecformat.h File Reference
Subclass of OBFormat for conversion of OBMol. More...
#include <openbabel/mol.h>
#include <openbabel/babelconfig.h>
#include <openbabel/obconversion.h>
#include <typeinfo>
This graph shows which files directly or indirectly include this file:
Namespaces
namespace OpenBabel
Classes
class OBMoleculeFormat
An OBFormat convenience subclass for conversion to/from OBMol data. More...
Detailed Description
Subclass of OBFormat for conversion of OBMol.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
#include <openbabel/babelconfig.h>
#include <openbabel/math/matrix3x3.h>
#include <openbabel/mol.h>
#include <openbabel/obutil.h>
Namespaces
namespace OpenBabel
Defines
#define ApproxZero 1E-7
#define IsZero(x) ((double)fabs(x)<ApproxZero)
#define PI 3.14159265358979323846226433
#define OneThird (1.0/3.0)
#define FourThirdsPI (4.0*PI/3.0)
#define TwoThirdsPI (2.0*PI/3.0)
#define MAX_SWEEPS 50
Functions
void ThrowError (char *str)
void ThrowError (std::string &str)
bool OBCompareInt (const int &a, const int &b)
bool OBCompareUnsigned (const unsigned int &a, const unsigned int &b)
bool IsNear (const double &a, const double &b, const double epsilon)
bool IsNearZero (const double &a, const double epsilon)
bool IsNan (const double &a)
bool CanBeSquared (const double &)
std::string NewExtension (string &src, char *ext)
vector3 center_coords (double *c, unsigned int size)
void rotate_coords (double *c, double m[3][3], unsigned int size)
double calc_rms (double *r, double *f, unsigned int N)
void SetRotorToAngle (double *c, vector< int > &tor, double ang, vector< int > &atoms)
bool SafeOpen (std::ifstream &fs, const char *filename)
bool SafeOpen (std::ofstream &fs, const char *filename)
bool SafeOpen (std::ifstream &fs, const string &filename)
bool SafeOpen (std::ofstream &fs, const string &filename)
void InvertCase (std::string &s, unsigned int start)
void InternalToCartesian (std::vector< OBInternalCoord * > &, OBMol &)
void CartesianToInternal (std::vector< OBInternalCoord * > &, OBMol &)
void qtrfit (double *r, double *f, int size, double u[3][3])
int SolveLinear (double A, double B)
int SolveQuadratic (double A, double B, double C)
Variables
static double Roots [4]
Detailed Description
Various utility methods.
Define Documentation
#define PI 3.14159265358979323846226433
Referenced by OpenBabel::SolveCubic().
Functions 1685
Open Babel: API Documentation
Referenced by OpenBabel::SolveCubic().
#define MAX_SWEEPS 50
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
00001 /**********************************************************************
00002 obutil.h - Various utility methods.
00003
00004 Copyright (C) 1998-2001 by OpenEye Scientific Software, Inc.
00005 Some portions Copyright (C) 2001-2006 by Geoffrey R. Hutchison
00006
00007 This file is part of the Open Babel project.
00008 For more information, see <http://openbabel.sourceforge.net/>
00009
00010 This program is free software; you can redistribute it and/or modify
00011 it under the terms of the GNU General Public License as published by
00012 the Free Software Foundation version 2 of the License.
00013
00014 This program is distributed in the hope that it will be useful,
00015 but WITHOUT ANY WARRANTY; without even the implied warranty of
00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00017 GNU General Public License for more details.
00018 ***********************************************************************/
00019
00020 #ifndef OB_UTIL_H
00021 #define OB_UTIL_H
00022
00023 #include <openbabel/babelconfig.h>
00024
00025 #include <string>
00026 #include <iosfwd>
00027
00028 #if TIME_WITH_SYS_TIME
00029 #include <sys/time.h>
00030 #include <time.h>
00031 #else
00032 #if HAVE_SYS_TIME_H
00033 #include <sys/time.h>
00034 #else
00035 #include <time.h>
00036 #endif
00037 #endif
00038
00039 #include <math.h>
00040
00041 #ifndef M_PI
00042 #define M_PI 3.14159265358979323846
00043 #endif
00044
00045 // For backwards compatibility. Will be removed in the future
00046 #include <openbabel/rand.h>
00047
00048 namespace OpenBabel
00049 {
00050
00051 // class introduction in obutil.cpp
00052 class OBAPI OBStopwatch
00053 {
00054 #if HAVE_CLOCK_T
00055 clock_t start;
obutil.h 1687
Open Babel: API Documentation
00056 clock_t stop;
00057 #else
00058 timeval start;
00059 timeval stop;
00060 #endif
00061
00062 public:
00063 #if HAVE_CLOCK_T
00064
00066 void Start()
00067 {
00068 start= clock();
00069 }
00071 double Lap()
00072 {
00073 stop= clock();
00074 return((stop - start) / CLOCKS_PER_SEC);
00075 }
00076 #else
00078 void Start()
00079 {
00080 gettimeofday(&start, NULL);
00081 }
00083 double Lap()
00084 {
00085 gettimeofday(&stop, NULL);
00086 return((stop.tv_sec - start.tv_sec)
00087 + (stop.tv_usec - start.tv_usec)/1000000.0);
00088 }
00089 #endif
00090
00092 double Elapsed()
00093 {
00094 return(Lap());
00095 }
00096 };
00097
00098
00101 class OBAPI OBSqrtTbl
00102 {
00103 double _max,_incr,*_tbl;
00104 public:
00105 OBSqrtTbl():
00106 _max(0.0), _incr(0.0), _tbl(NULL)
00107 { }
00112 OBSqrtTbl(const double max, const double incr):
00113 _max(max*max), _incr(incr), _tbl(NULL)
00114 {
00115 Init(max,incr);
00116 }
00117 ~OBSqrtTbl()
00118 {
00119 if (_tbl)
00120 {
00121 delete [] _tbl;
00122 _tbl = NULL;
00123 }
00124 }
00127 double Sqrt(double d2) const
00128 {
00129 if (_tbl)
obutil.h 1688
Open Babel: API Documentation
00130 return((d2 < _max) ? _tbl[static_cast<int>(d2*_incr)]:sqrt(d2));
00131 else
00132 return 0.0;
00133 }
00137 void Init(double max,double incr)
00138 {
00139 // parameters are potentially unneeded, but let's do this until we can
00140 // deprecate them
00141 _max = max * max;
00142 _incr = incr;
00143
00144 //array size needs to be large enough to account for fp error
00145 int i;
00146 double r;
00147 _tbl = new double [static_cast<int>((_max/_incr)+10)];
00148 for (r = (_incr/2.0),i=0;r <= _max;r += _incr,++i)
00149 _tbl[i] = sqrt(r);
00150
00151 _incr = 1/_incr;
00152 }
00153 };
00154
00155 //***RMS helper methods***/
00156 #ifndef SWIG
00157 OBAPI void rotate_coords(double*,double m[3][3],int);
00158 OBAPI double calc_rms(double*,double*,unsigned int);
00159
00161
00162 // Documentation in obutil.cpp
00163 OBAPI void ToUpper(std::string&);
00164 OBAPI void ToUpper(char*);
00165 OBAPI void ToLower(std::string&);
00166 OBAPI void ToLower(char *);
00167 OBAPI void InvertCase(std::string&, int);
00168 OBAPI void InvertCase(char *);
00170 OBAPI void CleanAtomType(char*);
00172
00175 OBAPI bool OBCompareInt(const int &a,const int &b);
00178 OBAPI bool OBCompareUnsigned(const unsigned int &a,const unsigned int &b);
00185 OBAPI bool IsNear(const double &, const double &, const double epsilon=2e-6);
00192 OBAPI bool IsNearZero(const double &, const double epsilon=2e-6);
00193 OBAPI bool IsNan(const double &);
00200 OBAPI inline bool IsNegligible(const double & a, const double & b,
00201 const double precision = 1e-11)
00202 {
00203 return( fabs(a) <= precision * fabs(b) );
00204 }
00222 OBAPI inline bool IsApprox(const double & a, const double & b,
00223 const double precision = 1e-11)
00224 {
00225 return( fabs(a - b) <= precision * std::min<const double>( fabs(a), fabs(b) ) );
00226 }
00228 OBAPI inline bool IsApprox_pos(const double &a, const double &b,
00229 const double precision = 1e-11)
00230 {
00231 return( fabs(a - b) <= precision * std::min<const double>( a, b ) );
00232 }
00236 OBAPI bool CanBeSquared(const double &);
00237
00238 OBAPI bool SafeOpen(std::ifstream &fs, const char *filename);
00239 OBAPI bool SafeOpen(std::ofstream &fs, const char *filename);
obutil.h 1689
Open Babel: API Documentation
00240 #endif
00241 // (end part to be skipped by SWIG)
00242
00243 //******************triple template*************************
00246 template <class T1, class T2, class T3>
00247 struct triple
00248 {
00249 //type names for the values
00250 typedef T1 first_type;
00251 typedef T2 second_type;
00252 typedef T3 third_type;
00253
00254 //member
00255 T1 first;
00256 T2 second;
00257 T3 third;
00258
00262 triple():
00263 first(T1()),second(T2()),third(T3())
00264 {}
00265
00267 triple(const T1 &a, const T2 &b, const T3 &c):
00268 first(a), second(b), third(c)
00269 {}
00270
00272 template<class U, class V, class W>
00273 triple(const triple<U,V,W> &t):
00274 first(t.first), second(t.second), third(t.third)
00275 {}
00276
00277 };
00278
00279 //**************quad template********************
00282 template <class T1, class T2, class T3, class T4>
00283 struct quad
00284 {
00285 //type names for the values
00286 typedef T1 first_type;
00287 typedef T2 second_type;
00288 typedef T3 third_type;
00289 typedef T4 fourth_type;
00290
00291 //member
00292 T1 first;
00293 T2 second;
00294 T3 third;
00295 T4 fourth;
00296
00300 quad():
00301 first(T1()),second(T2()),third(T3()),fourth(T4())
00302 {}
00303
00305 quad(const T1 &a, const T2 &b, const T3 &c, const T4 &d):
00306 first(a), second(b), third(c), fourth(d)
00307 {}
00308
00310 template<class U, class V, class W, class X>
00311 quad(const quad<U,V,W,X> &q):
00312 first(q.first), second(q.second), third(q.third), fourth(q.fourth)
00313 {}
00314
obutil.h 1690
Open Babel: API Documentation
00315 };
00316
00317 } // end namespace OpenBabel
00318
00319 #endif // OBUTIL_H
00320
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
obutil.h 1691
obutil.h File Reference
Various utility methods. More...
#include <openbabel/babelconfig.h>
#include <string>
#include <iosfwd>
#include <time.h>
#include <math.h>
#include <openbabel/rand.h>
This graph shows which files directly or indirectly include this file:
Namespaces
namespace OpenBabel
Classes
class OBStopwatch
Stopwatch class used for timing length of execution. More...
class OBSqrtTbl
Square Root lookup table - given a distance squared returns distance. More...
class triple
A 3-element templated, based on the design of the STL pair<>. More...
class quad
A 4-element templated, based on the design of the STL pair<>. More...
Defines
#define M_PI 3.14159265358979323846
Functions
void rotate_coords (double *, double m[3][3], int)
double calc_rms (double *r, double *f, unsigned int N)
bool OBCompareInt (const int &a, const int &b)
bool OBCompareUnsigned (const unsigned int &a, const unsigned int &b)
bool IsNear (const double &a, const double &b, const double epsilon)
bool IsNearZero (const double &a, const double epsilon)
bool IsNan (const double &a)
bool IsNegligible (const double &a, const double &b, const double precision=1e-11)
bool IsApprox (const double &a, const double &b, const double precision=1e-11)
bool IsApprox_pos (const double &a, const double &b, const double precision=1e-11)
bool CanBeSquared (const double &)
bool SafeOpen (std::ifstream &fs, const char *filename)
bool SafeOpen (std::ofstream &fs, const char *filename)
String conversion utilities
void ToUpper (std::string &s)
void ToUpper (char *cptr)
void ToLower (std::string &s)
void ToLower (char *cptr)
void InvertCase (std::string &, int)
void InvertCase (char *cptr)
void CleanAtomType (char *)
Detailed Description
Various utility methods.
Define Documentation
Defines 1693
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
00001 /**********************************************************************
00002 op.h - plugin options or operations
00003
00004 Copyright (C) 2007 by Chris Morley
00005
00006 This file is part of the Open Babel project.
00007 For more information, see <http://openbabel.sourceforge.net/>
00008
00009 This program is free software; you can redistribute it and/or modify
00010 it under the terms of the GNU General Public License as published by
00011 the Free Software Foundation version 2 of the License.
00012
00013 This program is distributed in the hope that it will be useful, but
00014 WITHOUT ANY WARRANTY; without even the implied warranty of
00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
00016 General Public License for more details.
00017 ***********************************************************************/
00018
00019 #ifndef OB_OP_H
00020 #define OB_OP_H
00021
00022 #include <openbabel/babelconfig.h>
00023 #include <string>
00024 #include <map>
00025 #include <openbabel/plugin.h>
00026 #include <openbabel/base.h>
00027
00028 namespace OpenBabel
00029 {
00030
00031 // Class introduction below
00032 class OBAPI OBOp : public OBPlugin
00033 {
00034 MAKE_PLUGIN(OBOp);
00035
00036 public:
00037 typedef const std::map<std::string, std::string> OpMap ;
00038
00040 virtual const char* TypeID(){ return "ops"; }
00041
00043 virtual bool Do(OBBase* pOb, OpMap* pOptions=NULL, const char* OptionText=NULL)=0;
00044
00046 virtual bool WorksWith(OBBase* pOb)const=0;
00047
00049 static std::string OpOptions(OBBase* pOb)
00050 {
00051 std::string s;
00052 OBPlugin::PluginIterator itr;
00053 for(itr=OBPlugin::Begin("ops");itr!=OBPlugin::End("ops");++itr)
00054 {
00055 if(*(itr->first)=='_')//ignore ops with IDs that begin with '_'
00056 continue;
00057 OBOp* pOp = dynamic_cast<OBOp*>(itr->second);
00058 if(pOp && pOp->WorksWith(pOb))
00059 {
op.h 1695
Open Babel: API Documentation
00060 s += "--";
00061 s += itr->first; //ID
00062 s += ' ';
00063 s += OBPlugin::FirstLine(pOp->Description()) + '\n';
00064 }
00065 }
00066 s += '\n';
00067 return s;
00068 }
00069
00075 static bool DoOps(OBBase* pOb, OpMap* pOptions)
00076 {
00077 OpMap::const_iterator itr;
00078 for(itr=pOptions->begin();itr!=pOptions->end();++itr)
00079 {
00080 OBOp* pOp = FindType(itr->first.c_str());
00081 if(pOp)
00082 if(!pOp->Do(pOb, pOptions, itr->second.c_str()))
00083 return false; //Op has decided molecule should not be output
00084 }
00085 return true;
00086 }
00087 };
00088
00131 }//namespace
00132
00133 #endif
00134
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
op.h 1696
op.h File Reference
Base plugin class for operations on molecules. More...
#include <openbabel/babelconfig.h>
#include <string>
#include <map>
#include <openbabel/plugin.h>
#include <openbabel/base.h>
This graph shows which files directly or indirectly include this file:
Namespaces
namespace OpenBabel
Classes
class OBOp
Operations to modify molecules before output. More...
Detailed Description
Base plugin class for operations on molecules.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
#include <openbabel/babelconfig.h>
#include <openbabel/op.h>
#include <openbabel/mol.h>
Namespaces
namespace OpenBabel
Functions
OpCenter theOpCenter ("center")
Detailed Description
Base plugin class for operations on molecules.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
00001 /**********************************************************************
00002 optransform.h: makes option to transform molecule as specified in a datafile
00003 Copyright (C) 2008 Chris Morley
00004
00005 This file is part of the Open Babel project.
00006 For more information, see <http://openbabel.sourceforge.net/>
00007
00008 This program is free software; you can redistribute it and/or modify
00009 it under the terms of the GNU General Public License as published by
00010 the Free Software Foundation version 2 of the License.
00011
00012 This program is distributed in the hope that it will be useful,
00013 but WITHOUT ANY WARRANTY; without even the implied warranty of
00014 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00015 GNU General Public License for more details.
00016 ***********************************************************************/
00017
00018 #include <openbabel/babelconfig.h>
00019 #include <openbabel/mol.h>
00020 #include <openbabel/phmodel.h>
00021 #include <openbabel/op.h>
00022 #include <vector>
00023
00024 namespace OpenBabel
00025 {
00026
00031 class OpTransform : public OBOp
00032 {
00033 public:
00035 OpTransform(const char* ID, const char* filename, const char* descr)
00036 : OBOp(ID, false), _filename(filename), _descr(descr), _dataLoaded(false){}
00037
00038 ~OpTransform(){}
00039
00040 virtual const char* Description();
00041
00043 virtual bool WorksWith(OBBase* pOb)const{ return dynamic_cast<OBMol*>(pOb)!=NULL; }
00044
00046 virtual bool Do(OBBase* pOb, OpMap* pOptions=NULL, const char* OptionText=NULL);
00047
00048 virtual OpTransform* MakeInstance(const std::vector<std::string>& textlines)
00049 {
00050 OpTransform* pTransform = new OpTransform(
00051 textlines[1].c_str(),textlines[2].c_str(),textlines[3].c_str());
00052 pTransform->_textlines = textlines;
00053 return pTransform;
00054 }
00055
00056 private:
00057 bool Initialize();
00058 void ParseLine(const char *buffer);
00059
00060 private:
00061 const char* _filename;
00062 const char* _descr;
optransform.h 1700
Open Babel: API Documentation
00063 std::vector<std::string> _textlines;
00064
00065 bool _dataLoaded;
00066 std::vector<OBChemTsfm> _transforms;
00067 };
00068
00069 }//namespace
00070
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
optransform.h 1701
optransform.h File Reference
Operations to change molecules using a datafile of chemical transformations OBChemTsfm. More...
#include <openbabel/babelconfig.h>
#include <openbabel/mol.h>
#include <openbabel/phmodel.h>
#include <openbabel/op.h>
#include <vector>
Namespaces
namespace OpenBabel
Classes
class OpTransform
Applies molecular transforms (OBChemTsfm class) read from a datafile. More...
Detailed Description
Operations to change molecules using a datafile of chemical transformations OBChemTsfm.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
#include <openbabel/babelconfig.h>
#include <ctype.h>
#include <iomanip>
#include <openbabel/mol.h>
#include <openbabel/parsmart.h>
Namespaces
namespace OpenBabel
Defines
#define ELEMMAX 104
#define ATOMEXPRPOOL 1
#define BONDEXPRPOOL 1
#define ATOMPOOL 1
#define BONDPOOL 1
#define BF_NONRINGUNSPEC 0x0001
#define BF_NONRINGDOWN 0x0002
#define BF_NONRINGUP 0x0004
#define BF_NONRINGDOUBLE 0x0008
#define BF_NONRINGTRIPLE 0x0010
#define BF_RINGUNSPEC 0x0020
#define BF_RINGDOWN 0x0040
#define BF_RINGUP 0x0080
#define BF_RINGAROM 0x0100
#define BF_RINGDOUBLE 0x0200
#define BF_RINGTRIPLE 0x0400
#define BS_ALL 0x07FF
#define BS_SINGLE 0x00E7
#define BS_DOUBLE 0x0208
#define BS_TRIPLE 0x0410
#define BS_AROM 0x0100
#define BS_UP 0x0084
#define BS_DOWN 0x0042
#define BS_UPUNSPEC 0x00A5
#define BS_DOWNUNSPEC 0x0063
#define BS_RING 0x07E0
#define BS_DEFAULT 0x01E7
#define AE_LEAF 0x01
#define AE_RECUR 0x02
#define AE_NOT 0x03
#define AE_ANDHI 0x04
#define AE_OR 0x05
Functions
static bool match (OBMol &mol, Pattern *pat, std::vector<
std::vector< int > > &mlist, bool single=false)
static bool EvalAtomExpr (AtomExpr *expr, OBAtom *atom)
static bool EvalBondExpr (BondExpr *expr, OBBond *bond)
static int GetVectorBinding ()
static int CreateAtom (Pattern *, AtomExpr *, int, int vb=0)
static void FatalAllocationError (const char *ptr)
static void FreePattern (Pattern *)
static Pattern * CopyPattern (Pattern *)
static AtomExpr * AllocAtomExpr (void)
static AtomExpr * CopyAtomExpr (AtomExpr *expr)
static void FreeAtomExpr (AtomExpr *expr)
static AtomExpr * BuildAtomLeaf (int prop, int val)
static AtomExpr * BuildAtomNot (AtomExpr *expr)
static AtomExpr * BuildAtomBin (int op, AtomExpr *lft, AtomExpr
*rgt)
static AtomExpr * BuildAtomRecurs (Pattern *pat)
static AtomExpr * GenerateElement (int elem)
static AtomExpr * GenerateAromElem (int elem, int flag)
static int IsInvalidAtom (AtomExpr *expr)
static BondExpr * AllocBondExpr (void)
static BondExpr * CopyBondExpr (BondExpr *expr)
static bool EquivalentBondExpr (BondExpr *expr1, BondExpr
*expr2)
static void FreeBondExpr (BondExpr *expr)
static BondExpr * BuildBondLeaf (int prop, int val)
Defines 1706
Open Babel: API Documentation
static BondExpr * BuildBondNot (BondExpr *expr)
static BondExpr * BuildBondBin (int op, BondExpr *lft, BondExpr
*rgt)
static BondExpr * GenerateDefaultBond (void)
static Pattern * AllocPattern (void)
static int CreateBond (Pattern *pat, BondExpr *expr, int src,
int dst)
static Pattern * ParseSMARTSPattern (void)
static Pattern * ParseSMARTSPart (Pattern *, int)
static Pattern * SMARTSError (Pattern *pat)
static AtomExpr * ParseSimpleAtomPrimitive (void)
static AtomExpr * ParseComplexAtomPrimitive (void)
static AtomExpr * ParseAtomExpr (int level)
static BondExpr * ParseBondPrimitive (void)
static BondExpr * ParseBondExpr (int level)
static Pattern * ParseSMARTSError (Pattern *pat, BondExpr *expr)
static Pattern * SMARTSParser (Pattern *pat, ParseState *stat, int
prev, int part)
static void MarkGrowBonds (Pattern *pat)
static int GetChiralFlag (AtomExpr *expr)
static Pattern * ParseSMARTSString (char *ptr)
Pattern * ParseSMARTSRecord (char *ptr)
static void TraverseSMARTS (Pattern *pat, int i)
static AtomExpr * NotAtomExpr (AtomExpr *)
static AtomExpr * AndAtomExpr (AtomExpr *, AtomExpr *)
static AtomExpr * OrAtomExpr (AtomExpr *, AtomExpr *)
static int IsBooleanAtomLeaf (AtomExpr *expr)
static int IsNegatingAtomLeaf (AtomExpr *expr)
static int EqualAtomExpr (AtomExpr *lft, AtomExpr *rgt)
static int OrderAtomExpr (AtomExpr *lft, AtomExpr *rgt)
static int AtomLeafConflict (AtomExpr *lft, AtomExpr *rgt)
static int AtomExprConflict (AtomExpr *lft, AtomExpr *rgt)
static int AtomLeafImplies (AtomExpr *lft, AtomExpr *rgt)
static int AtomExprImplied (AtomExpr *lft, AtomExpr *rgt)
static AtomExpr * AtomExprImplies (AtomExpr *lft, AtomExpr *rgt)
static AtomExpr * AndAtomExprLeaf (AtomExpr *lft, AtomExpr *rgt)
static AtomExpr * ConstrainRecursion (AtomExpr *recur, AtomExpr
*expr)
static AtomExpr * OrAtomExprLeaf (AtomExpr *lft, AtomExpr *rgt)
static int GetBondLeafIndex (BondExpr *expr)
static int GetBondExprIndex (BondExpr *expr)
void SetupAtomMatchTable (std::vector< std::vector<
bool > > &ttab, Pattern *pat, OBMol &mol)
static void FastSingleMatch (OBMol &mol, Pattern *pat,
std::vector< std::vector< int > > &mlist)
static int GetExprOrder (BondExpr *expr)
void SmartsLexReplace (std::string &s, std::vector<
std::pair< std::string, std::string > > &vlex)
Functions 1707
Open Babel: API Documentation
Variables
std::vector< std::pair
< Pattern *, std::vector< bool > > > RSCACHE
static char * MainPtr
static char * LexPtr
static char Buffer [BUFF_SIZE]
static char Descr [BUFF_SIZE]
Detailed Description
Implementation of Daylight SMARTS parser.
Define Documentation
Referenced by OpenBabel::ParseComplexAtomPrimitive().
#define ATOMEXPRPOOL 1
#define BONDEXPRPOOL 1
#define ATOMPOOL 1
Referenced by OpenBabel::CreateAtom().
#define BONDPOOL 1
Referenced by OpenBabel::CreateBond().
Variables 1708
Open Babel: API Documentation
Referenced by OpenBabel::GetBondLeafIndex().
Referenced by OpenBabel::GetBondLeafIndex().
Referenced by OpenBabel::GetBondLeafIndex().
Referenced by OpenBabel::GetBondLeafIndex().
Referenced by OpenBabel::GetBondLeafIndex().
Referenced by OpenBabel::GetBondLeafIndex().
Referenced by OpenBabel::GetBondLeafIndex().
Referenced by OpenBabel::GetBondLeafIndex().
Referenced by OpenBabel::GetBondLeafIndex().
#define AL_CLOCKWISE 1
#define AL_ANTICLOCKWISE 2
#define AL_UNSPECIFIED 0
#define OB_EVAL_STACKSIZE 40
Referenced by OpenBabel::GetChiralFlag().
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
00001 /**********************************************************************
00002 parsmart.h - Daylight SMARTS parser.
00003
00004 Copyright (C) 1998-2001 by OpenEye Scientific Software, Inc.
00005 Some portions Copyright (C) 2001-2005 by Geoffrey R. Hutchison
00006
00007 This file is part of the Open Babel project.
00008 For more information, see <http://openbabel.sourceforge.net/>
00009
00010 This program is free software; you can redistribute it and/or modify
00011 it under the terms of the GNU General Public License as published by
00012 the Free Software Foundation version 2 of the License.
00013
00014 This program is distributed in the hope that it will be useful,
00015 but WITHOUT ANY WARRANTY; without even the implied warranty of
00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00017 GNU General Public License for more details.
00018 ***********************************************************************/
00019
00020 #ifndef OB_PARSMART_H
00021 #define OB_PARSMART_H
00022
00023 #include <string>
00024 #include <vector>
00025
00026 #include <openbabel/mol.h>
00027
00028 /*==========================*/
00029 /* SMARTS Data Structures */
00030 /*==========================*/
00031
00032 namespace OpenBabel
00033 {
00034
00035 // mark this so that SWIG will not attempt to wrap for scripting languages
00036
00037 #ifndef SWIG
00038
00041 typedef union _AtomExpr {
00042 int type;
00043 struct
00044 {
00045 int type;
00046 int prop;
00047 int value;
00048 }
00049 leaf;
00050 struct
00051 {
00052 int type;
00053 void *recur;
00054 }
00055 recur;
00056 struct
00057 {
parsmart.h 1715
Open Babel: API Documentation
00058 int type;
00059 union _AtomExpr *arg;
00060 }
00061 mon;
00062 struct
00063 {
00064 int type;
00065 union _AtomExpr *lft;
00066 union _AtomExpr *rgt;
00067 }
00068 bin;
00069 } AtomExpr;
00070
00071 #define BE_LEAF 0x01
00072 #define BE_ANDHI 0x02
00073 #define BE_ANDLO 0x03
00074 #define BE_NOT 0x04
00075 #define BE_OR 0x05
00076
00077 #define BL_CONST 0x01
00078 #define BL_TYPE 0x02
00079
00080 #define BT_SINGLE 0x01
00081 #define BT_DOUBLE 0x02
00082 #define BT_TRIPLE 0x03
00083 #define BT_AROM 0x04
00084 #define BT_UP 0x05
00085 #define BT_DOWN 0x06
00086 #define BT_UPUNSPEC 0x07
00087 #define BT_DOWNUNSPEC 0x08
00088 #define BT_RING 0x09
00089
00092 typedef union _BondExpr {
00093 int type;
00094 struct
00095 {
00096 int type;
00097 int prop;
00098 int value;
00099 }
00100 leaf;
00101 struct
00102 {
00103 int type;
00104 union _BondExpr *arg;
00105 }
00106 mon;
00107 struct
00108 {
00109 int type;
00110 union _BondExpr *lft;
00111 union _BondExpr *rgt;
00112 }
00113 bin;
00114 } BondExpr;
00115
00118 typedef struct
00119 {
00120 BondExpr *expr;
00121 int src,dst;
00122 int visit;
parsmart.h 1716
Open Babel: API Documentation
00123 bool grow;
00124 }
00125 BondSpec;
00126
00129 typedef struct
00130 {
00131 AtomExpr *expr;
00132 int visit;
00133 int part;
00134 int chiral_flag;
00135 int vb;
00136 }
00137 AtomSpec;
00138
00141 typedef struct
00142 {
00143 int aalloc,acount;
00144 int balloc,bcount;
00145 bool ischiral;
00146 AtomSpec *atom;
00147 BondSpec *bond;
00148 int parts;
00149 bool hasExplicitH;
00150 }
00151 Pattern;
00152 #else
00153 // for SWIG, just forward declare that we have some Pattern struct
00154 // (but this is private and not wrapped for scripting languages)
00155 struct Pattern;
00156 #endif
00157
00158 // class introduction in parsmart.cpp
00160 class OBAPI OBSmartsPattern
00161 {
00162 protected:
00163 std::vector<bool> _growbond;
00164 std::vector<std::vector<int> > _mlist;
00165 Pattern *_pat;
00166 std::string _str;
00167
00168 public:
00169 OBSmartsPattern() : _pat(NULL) { }
00170 virtual ~OBSmartsPattern();
00171
00172 OBSmartsPattern(const OBSmartsPattern& cp): _pat(NULL)
00173 {
00174 *this = cp;
00175 }
00176 OBSmartsPattern& operator=(const OBSmartsPattern& cp)
00177 {
00178 if (_pat)
00179 delete [] _pat;
00180 _pat = NULL;
00181 std::string s = cp._str;
00182 Init(s);
00183 return (*this);
00184 }
00185
00187
00188
00189
parsmart.h 1717
Open Babel: API Documentation
00190 bool Init(const char* pattern);
00193 bool Init(const std::string& pattern);
00195
00197
00198
00199 const std::string &GetSMARTS() const { return _str; }
00201 std::string &GetSMARTS() { return _str; }
00202
00204 bool Empty() const { return(_pat == NULL); }
00206 bool IsValid() const { return(_pat != NULL); }
00207
00209 unsigned int NumAtoms() const
00210 {
00211 return _pat ? _pat->acount : 0;
00212 }
00214 unsigned int NumBonds() const
00215 {
00216 return _pat ? _pat->bcount : 0;
00217 }
00218
00224 void GetBond(int& src,int& dst,int& ord,int idx);
00226 int GetAtomicNum(int idx);
00228 int GetCharge(int idx);
00229
00231 int GetVectorBinding(int idx) const
00232 {
00233 return(_pat->atom[idx].vb);
00234 }
00236
00238
00239
00240
00241
00242
00243 bool Match(OBMol &mol, bool single=false);
00244
00245 bool RestrictedMatch(OBMol &mol, std::vector<std::pair<int,int> > &pairs, bool single
00246
00247 bool RestrictedMatch(OBMol &mol, OBBitVec &bv, bool single=false);
00250 unsigned int NumMatches() const
00251 {
00252 return (unsigned int)_mlist.size();
00253 }
00254
00257 std::vector<std::vector<int> > &GetMapList()
00258 {
00259 return(_mlist);
00260 }
00262 std::vector<std::vector<int> >::iterator BeginMList()
00263 {
00264 return(_mlist.begin());
00265 }
00267 std::vector<std::vector<int> >::iterator EndMList()
00268 {
00269 return(_mlist.end());
00270 }
00271
00273
00283 std::vector<std::vector<int> > &GetUMapList();
00285
00287 void WriteMapList(std::ostream&);
parsmart.h 1718
Open Babel: API Documentation
00288 };
00289
00293 class OBAPI OBSSMatch
00294 {
00295 protected:
00296 bool *_uatoms;
00297 OBMol *_mol;
00298 Pattern *_pat;
00299 std::vector<int> _map;
00300
00301 public:
00302 OBSSMatch(OBMol&,Pattern*);
00303 ~OBSSMatch();
00304 void Match(std::vector<std::vector<int> > &v, int bidx=-1);
00305 };
00306
00307 OBAPI void SmartsLexReplace(std::string &,
00308 std::vector<std::pair<std::string,std::string> > &);
00309
00310 } // end namespace OpenBabel
00311
00312 #endif // OB_PARSMART_H
00313
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
parsmart.h 1719
parsmart.h File Reference
Daylight SMARTS parser. More...
#include <string>
#include <vector>
#include <openbabel/mol.h>
This graph shows which files directly or indirectly include this file:
Namespaces
namespace OpenBabel
Classes
union _AtomExpr
An internal (SMARTS parser) atomic expression.
More...
union _BondExpr
An internal (SMARTS parser) bond expression.
More...
struct BondSpec
Defines
#define BE_LEAF 0x01
#define BE_ANDHI 0x02
#define BE_ANDLO 0x03
#define BE_NOT 0x04
#define BE_OR 0x05
#define BL_CONST 0x01
#define BL_TYPE 0x02
#define BT_SINGLE 0x01
#define BT_DOUBLE 0x02
#define BT_TRIPLE 0x03
#define BT_AROM 0x04
#define BT_UP 0x05
#define BT_DOWN 0x06
#define BT_UPUNSPEC 0x07
#define BT_DOWNUNSPEC 0x08
#define BT_RING 0x09
Typedefs
typedef union OpenBabel::_AtomExpr AtomExpr
typedef union OpenBabel::_BondExpr BondExpr
Functions
void SmartsLexReplace (std::string &, std::vector<
std::pair< std::string, std::string > > &)
Detailed Description
Daylight SMARTS parser.
Classes 1721
Open Babel: API Documentation
Define Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
#include <openbabel/babelconfig.h>
#include <openbabel/mol.h>
#include <openbabel/patty.h>
Namespaces
namespace OpenBabel
Detailed Description
Programmable atom typer.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
00001 /**********************************************************************
00002 patty.h - Programmable atom typer.
00003
00004 Copyright (C) 1998-2001 by OpenEye Scientific Software, Inc.
00005 Some portions Copyright (C) 2001-2005 by Geoffrey R. Hutchison
00006
00007 This file is part of the Open Babel project.
00008 For more information, see <http://openbabel.sourceforge.net/>
00009
00010 This program is free software; you can redistribute it and/or modify
00011 it under the terms of the GNU General Public License as published by
00012 the Free Software Foundation version 2 of the License.
00013
00014 This program is distributed in the hope that it will be useful,
00015 but WITHOUT ANY WARRANTY; without even the implied warranty of
00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00017 GNU General Public License for more details.
00018 ***********************************************************************/
00019
00020 #ifndef OB_PATTY_H
00021 #define OB_PATTY_H
00022
00023 namespace OpenBabel
00024 {
00025 #define PT_CATION 1
00026 #define PT_ANION 2
00027 #define PT_ACCEPTOR 3
00028 #define PT_POLAR 4
00029 #define PT_DONOR 5
00030 #define PT_HYDROPHOBIC 6
00031 #define PT_OTHER 7
00032 #define PT_METAL 8
00033
00034 // class introduction in patty.cpp
00035 class OBAPI patty
00036 {
00037 std::vector<OBSmartsPattern*> _sp;
00038 std::vector<std::string> smarts;
00039 std::vector<std::string> typ;
00040 bool debug;
00041
00042 public :
00043
00044 patty()
00045 {
00046 debug = false;
00047 }
00048 patty(char *s)
00049 {
00050 debug = false;
00051 read_rules(std::string(s));
00052 }
00053
00054 patty(const std::string &s)
00055 {
patty.h 1726
Open Babel: API Documentation
00056 debug = false;
00057 read_rules(s);
00058 }
00059
00060 ~patty()
00061 {
00062 std::vector<OBSmartsPattern*>::iterator i;
00063 for (i = _sp.begin();i != _sp.end();++i)
00064 delete *i;
00065 }
00066 void debug_on()
00067 {
00068 debug = true;
00069 }
00070 void debug_off()
00071 {
00072 debug = false;
00073 }
00074 void read_rules(const std::string &infile);
00075 void assign_rules(std::vector<std::string> &rules);
00076 void assign_types(OBMol &mol,std::vector<std::string> &atm_typ);
00077 void assign_types(OBMol &mol,std::vector<int> &atm_typ);
00078 int type_to_int(const std::string &type, bool failOnUndefined= false);
00079 int Istype(const std::string &type);
00080 };
00081
00082 } // end namespace OpenBabel
00083
00084 #endif // OB_PATTY_H
00085
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
patty.h 1727
patty.h File Reference
Programmable atom typer. (abbreviated P.At.Ty.). More...
This graph shows which files directly or indirectly include this file:
Namespaces
namespace OpenBabel
Classes
class patty
Programmable Atom Typer. More...
Defines
#define PT_CATION 1
#define PT_ANION 2
#define PT_ACCEPTOR 3
#define PT_POLAR 4
#define PT_DONOR 5
#define PT_HYDROPHOBIC 6
#define PT_OTHER 7
#define PT_METAL 8
Detailed Description
Programmable atom typer. (abbreviated P.At.Ty.).
Define Documentation
#define PT_CATION 1
Referenced by patty::type_to_int().
#define PT_ANION 2
Referenced by patty::type_to_int().
#define PT_ACCEPTOR 3
Referenced by patty::type_to_int().
#define PT_POLAR 4
Referenced by patty::type_to_int().
#define PT_DONOR 5
Referenced by patty::type_to_int().
#define PT_HYDROPHOBIC 6
Referenced by patty::type_to_int().
#define PT_OTHER 7
Referenced by patty::type_to_int().
#define PT_METAL 8
Referenced by patty::type_to_int().
This file is part of the documentation for Open Babel, version 2.2.0.
#include <openbabel/babelconfig.h>
#include <openbabel/mol.h>
#include <openbabel/phmodel.h>
#include "phmodeldata.h"
Namespaces
namespace OpenBabel
Detailed Description
Read pH rules and assign charges.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
00001 /**********************************************************************
00002 phmodel.h - Read pH rules and assign charges.
00003
00004 Copyright (C) 1998-2001 by OpenEye Scientific Software, Inc.
00005 Some portions Copyright (C) 2001-2005 by Geoffrey R. Hutchison
00006
00007 This file is part of the Open Babel project.
00008 For more information, see <http://openbabel.sourceforge.net/>
00009
00010 This program is free software; you can redistribute it and/or modify
00011 it under the terms of the GNU General Public License as published by
00012 the Free Software Foundation version 2 of the License.
00013
00014 This program is distributed in the hope that it will be useful,
00015 but WITHOUT ANY WARRANTY; without even the implied warranty of
00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00017 GNU General Public License for more details.
00018 ***********************************************************************/
00019
00020 #ifndef OB_PHMODEL_H
00021 #define OB_PHMODEL_H
00022
00023 #include <openbabel/parsmart.h>
00024 #include <openbabel/data.h>
00025
00026 namespace OpenBabel
00027 {
00028
00029 // class introduction in phmodel.cpp
00030 class OBAPI OBChemTsfm
00031 {
00032 std::vector<int> _vadel;
00033 std::vector<std::pair<int,int> > _vele;
00034 std::vector<std::pair<int,int> > _vchrg;
00035 std::vector<std::pair<int,int> > _vbdel;
00036 std::vector<std::pair<std::pair<int,int>,int> > _vbond;
00037 OBSmartsPattern _bgn,_end;
00038 public:
00039 OBChemTsfm() {}
00040 ~OBChemTsfm() {}
00042 bool Init(std::string&start, std::string &end);
00044 bool Apply(OBMol&);
00054 bool IsAcid();
00064 bool IsBase();
00065 };
00066
00107 class OBPhModel : public OBGlobalDataBase
00108 {
00109 std::vector<std::vector<int> > _mlist;
00110 std::vector<OBChemTsfm*> _vtsfm;
00111 std::vector<double> _vpKa;
00112 std::vector<std::pair<OBSmartsPattern*,std::vector<double> > > _vschrg;
00113 public:
00114 OBPhModel();
00115 ~OBPhModel();
phmodel.h 1732
Open Babel: API Documentation
00116
00117 void ParseLine(const char*);
00119 unsigned int GetSize() { return _vtsfm.size();}
00120 void AssignSeedPartialCharge(OBMol&);
00121 //void CorrectForPH(OBMol&);
00122 void CorrectForPH(OBMol&, double pH = 7.4 );
00123 };
00124
00125
00126
00127 } //namespace OpenBabel
00128
00129 #endif // OB_PHMODEL_H
00130
00133
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
phmodel.h 1733
phmodel.h File Reference
Read pH rules and assign charges. More...
#include <openbabel/parsmart.h>
#include <openbabel/data.h>
This graph shows which files directly or indirectly include this file:
Namespaces
namespace OpenBabel
Classes
class OBChemTsfm
SMARTS based structural modification (chemical transformation). More...
class OBPhModel
Corrections for pH used by OBMol::CorrectForPH(). More...
Detailed Description
Read pH rules and assign charges.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
#include <openbabel/babelconfig.h>
#include <openbabel/plugin.h>
#include <iterator>
Namespaces
namespace OpenBabel
Detailed Description
Simplify 'plugin' classes to be discovered and/or loaded at runtime.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
00001 /**********************************************************************
00002 plugin.h - facilitates construction of plugin classes
00003
00004 Copyright (C) 2007 by Chris Morley
00005
00006 This file is part of the Open Babel project.
00007 For more information, see <http://openbabel.sourceforge.net/>
00008
00009 This program is free software; you can redistribute it and/or modify
00010 it under the terms of the GNU General Public License as published by
00011 the Free Software Foundation version 2 of the License.
00012
00013 This program is distributed in the hope that it will be useful, but
00014 WITHOUT ANY WARRANTY; without even the implied warranty of
00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
00016 General Public License for more details.
00017 ***********************************************************************/
00018
00019 #ifndef OB_PLUGIN_H
00020 #define OB_PLUGIN_H
00021
00022 #include <openbabel/babelconfig.h>
00023 #include <string>
00024 #include <iostream>
00025 #include <vector>
00026 #include <map>
00027 #include <sstream>
00028 #include <cstring>
00029
00030 #ifndef OBERROR
00031 #define OBERROR
00032 #endif
00033
00034 namespace OpenBabel
00035 {
00036
00038 struct OBERROR CharPtrLess : public std::binary_function<const char*,const char*, bool>
00039 {
00040 bool operator()(const char* p1,const char* p2) const
00041 { return strcasecmp(p1,p2)<0; }
00042 };
00043
00049 class OBERROR OBPlugin
00050 {
00051 public:
00052
00053 //Maps of thistype are used to store
00054 // (a)a list of the plugin types in OBPlugin, and
00055 // (b)a list of the sub-types in each type class derived from OBPlugin.
00056 typedef std::map<const char*, OBPlugin*, CharPtrLess> PluginMapType;
00057 typedef PluginMapType::const_iterator PluginIterator;
00058
00060 virtual ~OBPlugin(){};
00061
00063 virtual const char* Description() { return NULL;} ;
plugin.h 1737
Open Babel: API Documentation
00064
00070 virtual bool Display(std::string&txt, const char* param, const char* ID=NULL);
00071
00076 virtual OBPlugin* MakeInstance(const std::vector<std::string>&){return NULL;}
00077
00079 static OBPlugin* GetPlugin(const char* Type, const char* ID)
00080 { return BaseFindType(GetTypeMap(Type), ID); }
00081
00083 const char* GetID()const{return _id;};
00084
00088 static bool ListAsVector(const char* PluginID, const char* param, std::vector<std::stri
00089
00091 static void List(const char* PluginID, const char* param=NULL, std::ostream* os=&std::c
00092
00094 static std::string ListAsString(const char* PluginID, const char* param=NULL);
00095
00097 static std::string FirstLine(const char* txt);
00098
00101 static PluginIterator Begin(const char* PluginID)
00102 {
00103 if( !strcmp(PluginID, "plugins") || GetTypeMap(PluginID)!=PluginMap())
00104 return GetTypeMap(PluginID).begin();
00105 else
00106 return PluginMap().end();
00107 }
00108
00109 static PluginIterator End(const char* PluginID)
00110 {
00111 return GetTypeMap(PluginID).end();
00112 }
00113
00115 virtual PluginMapType& GetMap() const =0;
00116
00117 protected:
00120 static PluginMapType& PluginMap()
00121 {
00122 static PluginMapType m;
00123 return m;
00124 }
00125
00127 static PluginMapType& GetTypeMap(const char* PluginID);
00128
00131 static OBPlugin* BaseFindType(PluginMapType& Map, const char* ID)
00132 {
00133 PluginMapType::iterator itr = Map.find(ID);
00134 if(itr==Map.end())
00135 return NULL;
00136 else
00137 return itr->second;
00138 }
00139
00140 protected:
00141 const char* _id;
00142 };
00143
00144 //Macro to be added to definition of the base class
00145 #define MAKE_PLUGIN(BaseClass)\
00146 protected:\
00147 virtual PluginMapType& GetMap()const{return Map();}\
00148 static PluginMapType& Map(){static PluginMapType m;return m;}\
00149 public:\
plugin.h 1738
Open Babel: API Documentation
00150 static BaseClass*& Default(){static BaseClass* d;return d;}\
00151 BaseClass(const char* ID, bool IsDefault=false)\
00152 {_id=ID;if(ID&&*ID){if(IsDefault || Map().empty()) Default() = this;\
00153 Map()[ID]=this;PluginMap()[TypeID()] =this;}}\
00154 static BaseClass* FindType(const char* ID)\
00155 {if(!ID || *ID==0) return Default();\
00156 return static_cast<BaseClass*>(BaseFindType(Map(),ID));}
00157
00286
00295 } // end namespce
00296
00297 #endif
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
plugin.h 1739
plugin.h File Reference
Simplify 'plugin' classes to be discovered and/or loaded at runtime. More...
#include <openbabel/babelconfig.h>
#include <string>
#include <iostream>
#include <vector>
#include <map>
#include <sstream>
#include <cstring>
This graph shows which files directly or indirectly include this file:
Namespaces
namespace OpenBabel
Classes
struct CharPtrLess
Case insensitive string comparison for PluginMapType key. More...
class OBPlugin
Base class for all types of dynamic classes discovered at runtime. More...
Defines
#define MAKE_PLUGIN(BaseClass)
Detailed Description
Simplify 'plugin' classes to be discovered and/or loaded at runtime.
Step-by-Step Instructions
1) In the header file for YourBaseClass (which handles whatsits). Make sure to include the plugin.h header ,
derive the class from OBPlugin and in its definition add the MAKE_PLUGIN macro and a function TypeID()
containing a simple descriptor of the type
#include <openbabel/plugin.h>
class YourBaseClass : public OBPlugin
{
MAKE_PLUGIN(YourBaseClass)
2) Declare each sub-type in a class derived from the base class and give it a constructor which calls OBPlugin
constructor as shown:
...rest of implementation
};
Only the first line of the description is used when the subclasses are listed.
3) Declare a global instance of the sub-type class which specifies its ID. and, optionally, whether it is to be
regarded as the default type of YourBaseClass.
YourSubType1 theType1("whatsit2",true);
YourBaseClass* YourBaseClass::FindType(const char* ID); This returns the default type when ID is NULL
or empty.
To list the sub-types of any plugin class use the List which sends to cout by default (or any other ostream if
specified).
OBPlugin::List("whatsits")
The ListAsString and ListAsVector functions are alternatives, usable with scripting.
OBPlugin::PluginIterator itr;
for(itr=OBPlugin::Begin("whatsits");itr!=OBPlugin::End("whatsits");++itr)
{
itr is a std::map::const_iterator
itr->first is the ID of the subtype;
itr->second is The OBPlugin* which you will have to cast to your type
}
Since this is not the most beautiful code, it is probably better to use the List methods if possible.
YourBaseClass* MakeNewInstance();
How it works
MAKE_PLUGIN(YourBaseClass) inserts the following code into YourBaseClass:
protected:
//Making the map accessible to the base class (Cannot be used during construction)
virtual PluginMapType& GetMap()const
{
return Map();
}
public:
static YourBaseClass*& Default()
{
static YourBaseClass* d;
return d;
}
Define Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
#include <openbabel/babelconfig.h>
#include <openbabel/mol.h>
#include <openbabel/atom.h>
#include <openbabel/pointgroup.h>
#include <iostream>
#include <string>
#include <math.h>
Namespaces
namespace OpenBabel
Defines
#define M_PI 3.1415926535897932384626433832795028841971694
#define DIMENSION 3
#define MAXPARAM 7
#define PointGroupsCount (sizeof(PointGroups)/sizeof(POINT_GROUP))
Variables
POINT_GROUP PointGroups []
Detailed Description
Brute-force point group detection.
Define Documentation
#define DIMENSION 3
#define MAXPARAM 7
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
00001 /**********************************************************************
00002 pointgroup.h - Brute force point group symmetry detection
00003
00004 Copyright (C) 1996, 2003 S. Patchkovskii, Serguei.Patchkovskii@sympatico.ca
00005 Some portions Copyright (C) 2007 by Geoffrey R. Hutchison
00006
00007 This file is part of the Open Babel project.
00008 For more information, see <http://openbabel.sourceforge.net/>
00009
00010 This program is free software; you can redistribute it and/or modify
00011 it under the terms of the GNU General Public License as published by
00012 the Free Software Foundation version 2 of the License.
00013
00014 This program is distributed in the hope that it will be useful,
00015 but WITHOUT ANY WARRANTY; without even the implied warranty of
00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00017 GNU General Public License for more details.
00018 ***********************************************************************/
00019
00020 #ifndef OB_POINTGROUP_H
00021 #define OB_POINTGROUP_H
00022
00023 #include <openbabel/babelconfig.h>
00024
00025 #include <string>
00026
00027 #include <openbabel/mol.h>
00028
00029 namespace OpenBabel
00030 {
00031
00032 class PointGroupPrivate;
00033
00042 class OBAPI OBPointGroup
00043 {
00044 public:
00045 OBPointGroup();
00046 ~OBPointGroup();
00047
00049 void Setup(OBMol *);
00050
00052 const char *IdentifyPointGroup();
00053
00054 protected:
00055 PointGroupPrivate *d;
00056
00057 }; // class OBPointGroup
00058
00059 }// namespace OpenBabel
00060
00061 #endif // OB_POINT_GROUP_H
00062
pointgroup.h 1746
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
pointgroup.h 1747
pointgroup.h File Reference
Brute-force point group detection. More...
#include <openbabel/babelconfig.h>
#include <string>
#include <openbabel/mol.h>
This graph shows which files directly or indirectly include this file:
Namespaces
namespace OpenBabel
Classes
class OBPointGroup
Brute-force point group symmetry perception. More...
Detailed Description
Brute-force point group detection.
This file is part of the documentation for Open Babel, version 2.2.0.
#include <openbabel/babelconfig.h>
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <openbabel/rand.h>
#include <time.h>
Namespaces
namespace OpenBabel
Defines
#define True 1
#define False 0
#define IsEven(x) (((x)&1)==0)
#define IsOdd(x) (((x)&1)!=0)
#define BothEven(x, y) IsEven((x)|(y))
#define IsPrime(x) (!IsEven((x))&&IsOddPrime((x)))
#define HiPart(x) (x>>16)
#define LoPart(x) ((x)&0xffff)
#define MAXFACT 10
#define MAXPRIMES 256
Functions
static unsigned int isqrt (unsigned int val)
static int IsOddPrime (unsigned int x)
static int RelativelyPrime (unsigned int x, unsigned int y)
void DoubleAdd (DoubleType *, unsigned int)
void DoubleMultiply (unsigned int, unsigned int, DoubleType *)
static int LeadingZeros (unsigned int x)
unsigned int DoubleModulus (DoubleType *, unsigned int)
static int DeterminePotency (unsigned int m, unsigned int a)
static int DetermineFactors (unsigned int x, unsigned int *factors)
static unsigned int DetermineIncrement (unsigned int m)
int DetermineSequence (unsigned int m, unsigned int *pm, unsigned int *pa, unsigned int
*pc)
void GenerateSequence (unsigned int p, unsigned int m, unsigned int a, unsigned int c)
Variables
static int primes [MAXPRIMES]
Detailed Description
Pseudo random number generator.
Define Documentation
#define True 1
#define False 0
Referenced by OpenBabel::RelativelyPrime().
#define BothEven ( x,
y ) IsEven((x)|(y))
Referenced by OpenBabel::RelativelyPrime().
Variables 1751
Open Babel: API Documentation
#define MAXFACT 10
Referenced by OpenBabel::DetermineSequence().
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
00001 /**********************************************************************
00002 rand.h - Pseudo random number generator.
00003
00004 Copyright (C) 1998-2001 by OpenEye Scientific Software, Inc.
00005 Some portions Copyright (C) 2001-2006 by Geoffrey R. Hutchison
00006
00007 This file is part of the Open Babel project.
00008 For more information, see <http://openbabel.sourceforge.net/>
00009
00010 This program is free software; you can redistribute it and/or modify
00011 it under the terms of the GNU General Public License as published by
00012 the Free Software Foundation version 2 of the License.
00013
00014 This program is distributed in the hope that it will be useful,
00015 but WITHOUT ANY WARRANTY; without even the implied warranty of
00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00017 GNU General Public License for more details.
00018 ***********************************************************************/
00019
00020 #ifndef RAND_H
00021 #define RAND_H
00022
00023 #include <openbabel/babelconfig.h>
00024
00025 namespace OpenBabel
00026 {
00027
00028 //******************************************
00029 //*** Stuff for random number generation ***
00030 //******************************************
00031
00034 typedef struct
00035 {
00036 unsigned int hi;
00037 unsigned int lo;
00038 }
00039 DoubleType;
00040
00041 OBAPI void DoubleMultiply( unsigned int,unsigned int,DoubleType*);
00042 OBAPI void DoubleAdd( DoubleType*,unsigned int);
00043 OBAPI unsigned int DoubleModulus( DoubleType*,unsigned int);
00044
00047
00068 class OBAPI OBRandom
00069 {
00070 DoubleType d;
00071 unsigned int m,a,c;
00072 unsigned int p;
00073 unsigned int i;
00074 unsigned int x;
00075 bool OBRandomUseSysRand;
00076
00077 public:
00079 OBRandom(bool useSys= false);
00081 void Seed(int seed)
rand.h 1753
Open Babel: API Documentation
00082 {
00083 x = seed;
00084 }
00088 void TimeSeed();
00090 int NextInt();
00092 double NextFloat();
00093 };
00094
00095 } // end namespace OpenBabel
00096
00097 #endif // RAND_H
00098
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
rand.h 1754
rand.h File Reference
Pseudo random number generator. More...
#include <openbabel/babelconfig.h>
This graph shows which files directly or indirectly include this file:
Namespaces
namespace OpenBabel
Classes
struct DoubleType
Used for internal random number generation OBRandom (unless the system random generator is
used). More...
class OBRandom
Random number generator. More...
Functions
void DoubleMultiply (unsigned int, unsigned int, DoubleType *)
void DoubleAdd (DoubleType *, unsigned int)
unsigned int DoubleModulus (DoubleType *, unsigned int)
Detailed Description
Pseudo random number generator.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
00001 /**********************************************************************
00002 reaction.h - Handle chemical reactions (i.e., lists of reagents and products).
00003
00004 Copyright (C) 2005 by Chris Morley
00005
00006 This file is part of the Open Babel project.
00007 For more information, see <http://openbabel.sourceforge.net/>
00008
00009 This program is free software; you can redistribute it and/or modify
00010 it under the terms of the GNU General Public License as published by
00011 the Free Software Foundation version 2 of the License.
00012
00013 This program is distributed in the hope that it will be useful,
00014 but WITHOUT ANY WARRANTY; without even the implied warranty of
00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00016 GNU General Public License for more details.
00017 ***********************************************************************/
00018
00019 #ifndef OB_REACT_H
00020 #define OB_REACT_H
00021
00022 #include <vector>
00023 #include <openbabel/mol.h>
00024
00025 #ifdef USE_BOOST
00026 #include <boost/shared_ptr.hpp>
00027 namespace std{ namespace tr1=::boost; }
00028 #else
00029 #include <tr1/memory>
00030 #endif
00031
00032 namespace OpenBabel
00033 {
00034
00041 class OBReaction : public OBBase
00042 {
00043 private:
00044 std::vector<std::tr1::shared_ptr<OBMol> > _reactants;
00045 std::vector<std::tr1::shared_ptr<OBMol> > _products;
00046 std::tr1::shared_ptr<OBMol> _ts;
00047 std::tr1::shared_ptr<OBMol> _agent;
00048 std::string _title;
00049 std::string _comment;
00050 bool _reversible;
00051 public:
00052 OBReaction() : _reversible(false)
00053 {}
00054
00055 int NumReactants() const
00056 { return _reactants.size(); }
00057
00058 int NumProducts()const
00059 { return _products.size(); }
00060
00061 void AddReactant(const std::tr1::shared_ptr<OBMol> sp)
reaction.h 1757
Open Babel: API Documentation
00062 { _reactants.push_back(sp); }
00063
00064 void AddProduct(const std::tr1::shared_ptr<OBMol> sp)
00065 { _products.push_back(sp); }
00066
00067 void SetTransitionState(const std::tr1::shared_ptr<OBMol> sp)
00068 { _ts = sp; }
00069
00070 void AddAgent(const std::tr1::shared_ptr<OBMol> sp)
00071 { _agent = sp; }
00072
00073 std::tr1::shared_ptr<OBMol> GetReactant(const unsigned i)
00074 {
00075 std::tr1::shared_ptr<OBMol> sp;
00076 if(i<_reactants.size())
00077 sp = _reactants[i];
00078 return sp; //returns empty if out of range
00079 }
00080 std::tr1::shared_ptr<OBMol> GetProduct(const unsigned i)
00081 {
00082 std::tr1::shared_ptr<OBMol> sp;
00083 if(i<_products.size())
00084 sp = _products[i];
00085 return sp; //returns empty if out of range
00086 }
00087
00088 std::tr1::shared_ptr<OBMol> GetTransitionState()const
00089 { return _ts; }
00090
00091 std::tr1::shared_ptr<OBMol> GetAgent()const
00092 { return _agent; }
00093
00094 std::string GetTitle() const { return _title; }
00095 std::string GetComment() const { return _comment; }
00096 void SetTitle(const std::string& title) { _title=title; }
00097 void SetComment(const std::string& comment) { _comment=comment; }
00098
00099 bool IsReversible() const {return _reversible;}
00100 void SetReversible(bool b=true) {_reversible=b;}
00101
00102 static const char* ClassDescription()
00103 {
00104 return " reactions\n";
00105 }
00106 };
00107
00108
00109 } //namespace OpenBabel
00110 #endif
00111
reaction.h 1758
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
reaction.h 1759
reaction.h File Reference
Handle chemical reactions (i.e., lists of reagents and products). More...
#include <vector>
#include <openbabel/mol.h>
#include <tr1/memory>
Namespaces
namespace OpenBabel
Classes
class OBReaction
Used to store chemical reactions (i.e., reactants -> products). More...
Detailed Description
Handle chemical reactions (i.e., lists of reagents and products).
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
#include <openbabel/babelconfig.h>
#include <openbabel/residue.h>
#include <openbabel/atom.h>
#include <openbabel/oberror.h>
#include <openbabel/bitvec.h>
#include <openbabel/bond.h>
#include <cstring>
#include <cstdlib>
Namespaces
namespace OpenBabel
Functions
static unsigned int GetAtomIDNumber (const char *atomid)
static unsigned int GetResidueNumber (const char *res)
static void SetResidueKeys (const char *residue, unsigned int &reskey, unsigned int &aakey)
Detailed Description
Handle macromolecule residues.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
00001 /**********************************************************************
00002 residue.h - Defines for residue properties, names, etc.
00003
00004 Copyright (C) 2001, 2002 OpenEye Scientific Software, Inc.
00005 Some portions Copyright (C) 2001-2006 by Geoffrey R. Hutchison
00006
00007 This file is part of the Open Babel project.
00008 For more information, see <http://openbabel.sourceforge.net/>
00009
00010 This program is free software; you can redistribute it and/or modify
00011 it under the terms of the GNU General Public License as published by
00012 the Free Software Foundation version 2 of the License.
00013
00014 This program is distributed in the hope that it will be useful,
00015 but WITHOUT ANY WARRANTY; without even the implied warranty of
00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00017 GNU General Public License for more details.
00018 ***********************************************************************/
00019
00020 /**********************************************************************
00021 Global arrays Residue, ElemDesc and function GetResidueNumber were
00022 obtained in part or whole from RasMol2 by Roger Sayle.
00023 ***********************************************************************/
00024
00025 #ifndef OB_RESIDUE_H
00026 #define OB_RESIDUE_H
00027
00028 #include <openbabel/babelconfig.h>
00029
00030 #ifndef EXTERN
00031 # define EXTERN extern
00032 #endif
00033
00034 #include <vector>
00035 #include <string>
00036
00037 #include <openbabel/base.h>
00038
00039 namespace OpenBabel {
00040
00041 class OBAtom;
00043 typedef std::vector<OBAtom*>::iterator OBAtomIterator;
00044 class OBBond;
00046 typedef std::vector<OBBond*>::iterator OBBondIterator;
00047
00048 // Class OBResidue
00049 // class introduction in residue.cpp
00050 class OBAPI OBResidue : public OBBase
00051 {
00052 public:
00053
00055 OBResidue(void);
00057 OBResidue(const OBResidue &);
00059 virtual ~OBResidue(void);
00060
residue.h 1763
Open Babel: API Documentation
00061 OBResidue &operator=(const OBResidue &);
00062
00064 void AddAtom(OBAtom *atom);
00066 void InsertAtom(OBAtom *atom);
00068 void RemoveAtom(OBAtom *atom);
00073 bool Clear();
00074
00079 void SetName(const std::string &resname);
00081 void SetNum(const unsigned int resnum);
00082 void SetNum(const std::string resnum);
00084 void SetChain(const char chain);
00086 void SetChainNum(const unsigned int chainnum);
00089 void SetIdx(const unsigned int idx);
00090
00093 void SetAtomID(OBAtom *atom, const std::string &id);
00094 void SetHetAtom(OBAtom *atom, bool hetatm);
00096 void SetSerialNum(OBAtom *atom, unsigned int sernum);
00097
00099 std::string GetName(void) const;
00101 unsigned int GetNum(void);
00102 std::string GetNumString(void);
00104 unsigned int GetNumAtoms() const;
00106 char GetChain(void) const;
00108 unsigned int GetChainNum(void) const;
00110 unsigned int GetIdx(void) const;
00112 unsigned int GetResKey(void) const;
00113
00115 std::vector<OBAtom*> GetAtoms(void) const;
00118 std::vector<OBBond*> GetBonds(bool exterior= true)const;
00119
00122 std::string GetAtomID(OBAtom *atom) const;
00124 unsigned GetSerialNum(OBAtom *atom) const;
00125
00128 bool GetAminoAcidProperty(int) const;
00131 bool GetAtomProperty(OBAtom *a, int) const;
00134 bool GetResidueProperty(int) const;
00135
00137 bool IsHetAtom(OBAtom *atom) const;
00140 bool IsResidueType(int) const;
00141
00143
00144
00145 OBAtomIterator BeginAtoms() { return _atoms.begin(); }
00147 OBAtomIterator EndAtoms() { return _atoms.end(); }
00150 OBAtom *BeginAtom(std::vector<OBAtom*>::iterator &i);
00153 OBAtom *NextAtom(std::vector<OBAtom*>::iterator &i);
00155
00156 protected: // members
00157
00158 unsigned int _idx;
00159 char _chain;
00160 unsigned int _aakey;
00161 unsigned int _reskey;
00162 std::string _resnum;
00163 std::string _resname;
00164
00165 std::vector<bool> _hetatm;
00166 std::vector<std::string> _atomid;
00167 std::vector<OBAtom*> _atoms;
00168 std::vector<unsigned int> _sernum;
00169 // Now in OBBase
residue.h 1764
Open Babel: API Documentation
00170 // std::vector<OBGenericData*> _vdata; //!< Custom data
00171 }; // OBResidue
00172
00174 typedef std::vector<OBResidue*>::iterator OBResidueIterator;
00175
00177 // Global Definitions
00179
00180 #define MAXSETNO 40
00181 #define MAXELEM 1024
00182 #define MINELEM 29
00183 #define MAXRES 100
00184 #define MINRES 54
00185
00187 // Amino Acid Definitions
00189
00190 #define AA_ALA (1<<1)
00191 #define AA_GLY (1<<2)
00192 #define AA_LEU (1<<3)
00193 #define AA_SER (1<<4)
00194 #define AA_VAL (1<<5)
00195 #define AA_THR (1<<6)
00196 #define AA_LYS (1<<7)
00197 #define AA_ASP (1<<8)
00198 #define AA_ILE (1<<9)
00199 #define AA_ASN (1<<10)
00200 #define AA_GLU (1<<11)
00201 #define AA_PRO (1<<12)
00202 #define AA_ARG (1<<13)
00203 #define AA_PHE (1<<14)
00204 #define AA_GLN (1<<15)
00205 #define AA_TYR (1<<16)
00206 #define AA_HIS (1<<17)
00207 #define AA_CYS (1<<18)
00208 #define AA_MET (1<<19)
00209 #define AA_TRP (1<<20)
00210
00212 // Amino Acid Property Definitions
00214 #define IS_ACIDIC(x) ((x) & ((AA_ASP)|(AA_GLU)))
00215 #define IS_ACYCLIC(x) ((x) & ((AA_ALA)|(AA_GLY)|(AA_LEU)|(AA_SER)| \
00216 (AA_VAL)|(AA_THR)|(AA_LYS)|(AA_ASP)| \
00217 (AA_ILE)|(AA_ASN)|(AA_GLU)|(AA_GLN)| \
00218 (AA_CYS)|(AA_MET)))
00219 #define IS_ALIPHATIC(x) ((x) & ((AA_ALA)|(AA_GLY)|(AA_ILE)|(AA_LEU)| \
00220 (AA_VAL)))
00221 #define IS_AROMATIC(x) ((x) & ((AA_HIS)|(AA_PHE)|(AA_TRP)|(AA_TYR)))
00222 #define IS_BASIC(x) ((x) & ((AA_ARG)|(AA_HIS)|(AA_LYS)))
00223 #define IS_BURIED(x) ((x) & ((AA_ALA)|(AA_CYS)|(AA_ILE)|(AA_LEU)| \
00224 (AA_MET)|(AA_PHE)|(AA_TRP)|(AA_VAL)))
00225 #define IS_CHARGED(x) ((x) & ((AA_ASP)|(AA_GLU)|(AA_ARG)|(AA_HIS)| \
00226 (AA_LYS)))
00227 #define IS_CYCLIC(x) ((x) & ((AA_HIS)|(AA_PHE)|(AA_PRO)|(AA_TRP)| \
00228 (AA_TYR)))
00229 #define IS_HYDROPHOBIC(x) ((x) & ((AA_ALA)|(AA_LEU)|(AA_VAL)|(AA_ILE)| \
00230 (AA_PRO)|(AA_PHE)|(AA_MET)|(AA_TRP)))
00231 #define IS_LARGE(x) ((x) & ((AA_ARG)|(AA_PHE)|(AA_GLN)|(AA_TYR)| \
00232 (AA_HIS)|(AA_LEU)|(AA_LYS)|(AA_ILE)| \
00233 (AA_GLU)|(AA_MET)|(AA_TRP)))
00234 #define IS_MEDIUM(x) ((x) & ((AA_VAL)|(AA_THR)|(AA_ASP)|(AA_ASN)| \
00235 (AA_PRO)|(AA_CYS)))
00236 #define IS_NEGATIVE(x) ((x) & ((AA_ASP)|(AA_GLU)))
00237 #define IS_NEUTRAL(x) ((x) & ((AA_ALA)|(AA_GLY)|(AA_LEU)|(AA_SER)| \
residue.h 1765
Open Babel: API Documentation
00238 (AA_VAL)|(AA_THR)|(AA_PHE)|(AA_GLN)| \
00239 (AA_TYR)|(AA_HIS)|(AA_CYS)|(AA_MET)| \
00240 (AA_TRP)|(AA_ILE)|(AA_ASN)|(AA_PRO)))
00241 #define IS_POLAR(x) ((x) & ((AA_ASP)|(AA_ILE)|(AA_ASN)|(AA_GLU)| \
00242 (AA_SER)|(AA_THR)|(AA_ARG)|(AA_GLN)| \
00243 (AA_CYS)|(AA_HIS)))
00244 #define IS_POSITIVE(x) ((x) & ((AA_ARG)|(AA_HIS)|(AA_LYS)))
00245 #define IS_SMALL(x) ((x) & ((AA_ALA)|(AA_GLY)|(AA_SER)))
00246 #define IS_SURFACE(x) ((x) & ((AA_THR)|(AA_LYS)|(AA_ASP)|(AA_ILE)| \
00247 (AA_ASN)|(AA_GLU)|(AA_PRO)|(AA_ARG)| \
00248 (AA_GLY)|(AA_SER)|(AA_GLN)|(AA_TYR)| \
00249 (AA_HIS)))
00250
00252 namespace OBAminoAcidProperty
00253 {
00254 enum
00255 {
00256 ACIDIC = 0,
00257 ACYCLIC = 1,
00258 ALIPHATIC = 2,
00259 AROMATIC = 3,
00260 BASIC = 4,
00261 BURIED = 5,
00262 CHARGED = 6,
00263 CYCLIC = 7,
00264 HYDROPHOBIC = 8,
00265 LARGE = 9,
00266 MEDIUM = 10,
00267 NEGATIVE = 11,
00268 NEUTRAL = 12,
00269 POLAR = 13,
00270 POSITIVE = 14,
00271 SMALL = 15,
00272 SURFACE = 16
00273 };
00274 }
00275
00277 namespace OBResidueAtomProperty
00278 {
00279 enum
00280 {
00281 ALPHA_CARBON = 0,
00282 AMINO_BACKBONE = 1,
00283 BACKBONE = 2,
00284 CYSTEINE_SULPHUR = 3,
00285 LIGAND = 4,
00286 NUCLEIC_BACKBONE = 5,
00287 SHAPELY_BACKBONE = 6,
00288 SHAPELY_SPECIAL = 7,
00289 SIDECHAIN = 8,
00290 SUGAR_PHOSPHATE = 9
00291 };
00292 }
00293
00295 // some of these are invalid or troublesome in scripting interfaces
00296 // so they are removed by the #ifndef SWIG parts
00297 // (otherwise ignore them for C++ use)
00298 namespace OBResidueIndex
00299 {
00300 enum
00301 {
residue.h 1766
Open Babel: API Documentation
00302 ALA = 0,
00303 GLY = 1,
00304 LEU = 2,
00305 SER = 3,
00306 VAL = 4,
00307 #ifndef SWIGPERL
00308 THR = 5,
00309 #endif
00310 LYS = 6,
00311 ASP = 7,
00312 ILE = 8,
00313 ASN = 9,
00314 GLU = 10,
00315 PRO = 11,
00316 ARG = 12,
00317 PHE = 13,
00318 GLN = 14,
00319 TYR = 15,
00320 HIS = 16,
00321 CYS = 17,
00322 MET = 18,
00323 TRP = 19,
00324 ASX = 20,
00325 GLX = 21,
00326 PCA = 22,
00327 HYP = 23,
00328 A = 24,
00329 C = 25,
00330 G = 26,
00331 T = 27,
00332 U = 28,
00333 UPLUS = 29,
00334 I = 30,
00335 _1MA = 32,
00336 _5MC = 32,
00337 OMC = 33,
00338 _1MG = 34,
00339 _2MG = 35,
00340 M2G = 36,
00341 _7MG = 37,
00342 OMG = 38,
00343 YG = 39,
00344 H2U = 40,
00345 _5MU = 41,
00346 PSU = 42,
00347 UNK = 43,
00348 ACE = 44,
00349 FOR = 45,
00350 HOH = 46,
00351 DOD = 47,
00352 SO4 = 48,
00353 PO4 = 49,
00354 NAD = 50,
00355 COA = 51,
00356 NAP = 52,
00357 NDP = 53
00358 };
00359 }
00360
00362 namespace OBResidueProperty
00363 {
residue.h 1767
Open Babel: API Documentation
00364 enum
00365 {
00366 AMINO = 0,
00367 AMINO_NUCLEO = 1,
00368 COENZYME = 2,
00369 ION = 3,
00370 NUCLEO = 4,
00371 PROTEIN = 5,
00372 PURINE = 6,
00373 PYRIMIDINE = 7,
00374 SOLVENT = 8,
00375 WATER = 9
00376 };
00377 }
00378
00380 // Global Variables
00382
00383 EXTERN char Residue[MAXRES][4];
00384 EXTERN char ElemDesc[MAXELEM][4];
00385 EXTERN unsigned int ResNo;
00386 EXTERN unsigned int ElemNo;
00387 } // end namespace OpenBabel
00388
00389 #endif
00390
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
residue.h 1768
residue.h File Reference
Defines for residue properties, names, etc. More...
#include <openbabel/babelconfig.h>
#include <vector>
#include <string>
#include <openbabel/base.h>
This graph shows which files directly or indirectly include this file:
Namespaces
namespace OpenBabel
namespace OpenBabel::OBAminoAcidProperty
namespace OpenBabel::OBResidueAtomProperty
namespace OpenBabel::OBResidueIndex
namespace OpenBabel::OBResidueProperty
Classes
class OBResidue
Residue information. More...
Defines
#define MAXSETNO 40
#define MAXELEM 1024
#define MINELEM 29
#define MAXRES 100
#define MINRES 54
#define AA_ALA (1<<1)
#define AA_GLY (1<<2)
#define AA_LEU (1<<3)
#define AA_SER (1<<4)
#define AA_VAL (1<<5)
#define AA_THR (1<<6)
#define AA_LYS (1<<7)
#define AA_ASP (1<<8)
#define AA_ILE (1<<9)
#define AA_ASN (1<<10)
#define AA_GLU (1<<11)
#define AA_PRO (1<<12)
#define AA_ARG (1<<13)
#define AA_PHE (1<<14)
#define AA_GLN (1<<15)
#define AA_TYR (1<<16)
#define AA_HIS (1<<17)
#define AA_CYS (1<<18)
#define AA_MET (1<<19)
#define AA_TRP (1<<20)
#define IS_ACIDIC(x) ((x) & ((AA_ASP)|(AA_GLU)))
#define IS_ACYCLIC(x)
#define IS_ALIPHATIC(x)
#define IS_AROMATIC(x) ((x) &
((AA_HIS)|(AA_PHE)|(AA_TRP)|(AA_TYR)))
#define IS_BASIC(x) ((x) & ((AA_ARG)|(AA_HIS)|(AA_LYS)))
#define IS_BURIED(x)
#define IS_CHARGED(x)
#define IS_CYCLIC(x)
#define IS_HYDROPHOBIC(x)
#define IS_LARGE(x)
#define IS_MEDIUM(x)
#define IS_NEGATIVE(x) ((x) & ((AA_ASP)|(AA_GLU)))
#define IS_NEUTRAL(x)
#define IS_POLAR(x)
#define IS_POSITIVE(x) ((x) &
((AA_ARG)|(AA_HIS)|(AA_LYS)))
#define IS_SMALL(x) ((x) &
((AA_ALA)|(AA_GLY)|(AA_SER)))
#define IS_SURFACE(x)
Defines 1770
Open Babel: API Documentation
Typedefs
typedef std::vector< OBResidue * >
::iterator OBResidueIterator
Enumerations
enum {
ACIDIC = 0, ACYCLIC = 1, ALIPHATIC = 2,
AROMATIC = 3,
BASIC = 4, BURIED = 5, CHARGED = 6, CYCLIC = 7,
HYDROPHOBIC = 8, LARGE = 9, MEDIUM = 10,
NEGATIVE = 11,
NEUTRAL = 12, POLAR = 13, POSITIVE = 14, SMALL
= 15,
SURFACE = 16
}
enum {
ALPHA_CARBON = 0, AMINO_BACKBONE = 1,
BACKBONE = 2, CYSTEINE_SULPHUR = 3,
LIGAND = 4, NUCLEIC_BACKBONE = 5,
SHAPELY_BACKBONE = 6, SHAPELY_SPECIAL = 7,
SIDECHAIN = 8, SUGAR_PHOSPHATE = 9
}
enum {
ALA = 0, GLY = 1, LEU = 2, SER = 3,
VAL = 4, THR = 5, LYS = 6, ASP = 7,
ILE = 8, ASN = 9, GLU = 10, PRO = 11,
ARG = 12, PHE = 13, GLN = 14, TYR = 15,
HIS = 16, CYS = 17, MET = 18, TRP = 19,
ASX = 20, GLX = 21, PCA = 22, HYP = 23,
A = 24, C = 25, G = 26, T = 27,
U = 28, UPLUS = 29, I = 30, _1MA = 32,
_5MC = 32, OMC = 33, _1MG = 34, _2MG = 35,
M2G = 36, _7MG = 37, OMG = 38, YG = 39,
H2U = 40, _5MU = 41, PSU = 42, UNK = 43,
ACE = 44, FOR = 45, HOH = 46, DOD = 47,
SO4 = 48, PO4 = 49, NAD = 50, COA = 51,
NAP = 52, NDP = 53
}
enum {
AMINO = 0, AMINO_NUCLEO = 1, COENZYME = 2,
ION = 3,
NUCLEO = 4, PROTEIN = 5, PURINE = 6, PYRIMIDINE
= 7,
SOLVENT = 8, WATER = 9
}
Typedefs 1771
Open Babel: API Documentation
Variables
char Residue [MAXRES][4]
char ElemDesc [MAXELEM][4]
unsigned int ResNo = MINRES
unsigned int ElemNo = MINELEM
Detailed Description
Defines for residue properties, names, etc.
Define Documentation
#define MAXSETNO 40
Referenced by OpenBabel::GetAtomIDNumber().
#define MINELEM 29
Referenced by OpenBabel::GetAtomIDNumber().
Referenced by OpenBabel::GetResidueNumber().
#define MINRES 54
Referenced by OpenBabel::GetResidueNumber().
Referenced by OpenBabel::SetResidueKeys().
Referenced by OpenBabel::SetResidueKeys().
Variables 1772
Open Babel: API Documentation
Referenced by OpenBabel::SetResidueKeys().
Referenced by OpenBabel::SetResidueKeys().
Referenced by OpenBabel::SetResidueKeys().
Referenced by OpenBabel::SetResidueKeys().
Referenced by OpenBabel::SetResidueKeys().
Referenced by OpenBabel::SetResidueKeys().
Referenced by OpenBabel::SetResidueKeys().
Referenced by OpenBabel::SetResidueKeys().
Referenced by OpenBabel::SetResidueKeys().
Referenced by OpenBabel::SetResidueKeys().
Referenced by OpenBabel::SetResidueKeys().
Referenced by OpenBabel::SetResidueKeys().
Referenced by OpenBabel::SetResidueKeys().
Referenced by OpenBabel::SetResidueKeys().
Referenced by OpenBabel::SetResidueKeys().
Referenced by OpenBabel::SetResidueKeys().
Referenced by OpenBabel::SetResidueKeys().
Referenced by OpenBabel::SetResidueKeys().
Referenced by OBResidue::GetAminoAcidProperty().
#define IS_ACYCLIC ( x )
Value:
((x) & ((AA_ALA)|(AA_GLY)|(AA_LEU)|(AA_SER)| \
(AA_VAL)|(AA_THR)|(AA_LYS)|(AA_ASP)| \
Referenced by OBResidue::GetAminoAcidProperty().
#define IS_ALIPHATIC ( x )
Value:
((x) & ((AA_ALA)|(AA_GLY)|(AA_ILE)|(AA_LEU)| \
(AA_VAL)))
Referenced by OBResidue::GetAminoAcidProperty().
Referenced by OBResidue::GetAminoAcidProperty().
Referenced by OBResidue::GetAminoAcidProperty().
#define IS_BURIED ( x )
Value:
((x) & ((AA_ALA)|(AA_CYS)|(AA_ILE)|(AA_LEU)| \
(AA_MET)|(AA_PHE)|(AA_TRP)|(AA_VAL)))
Referenced by OBResidue::GetAminoAcidProperty().
#define IS_CHARGED ( x )
Value:
((x) & ((AA_ASP)|(AA_GLU)|(AA_ARG)|(AA_HIS)| \
(AA_LYS)))
Referenced by OBResidue::GetAminoAcidProperty().
#define IS_CYCLIC ( x )
Value:
((x) & ((AA_HIS)|(AA_PHE)|(AA_PRO)|(AA_TRP)| \
(AA_TYR)))
Referenced by OBResidue::GetAminoAcidProperty().
#define IS_HYDROPHOBIC ( x )
Value:
((x) & ((AA_ALA)|(AA_LEU)|(AA_VAL)|(AA_ILE)| \
Referenced by OBResidue::GetAminoAcidProperty().
#define IS_LARGE ( x )
Value:
((x) & ((AA_ARG)|(AA_PHE)|(AA_GLN)|(AA_TYR)| \
(AA_HIS)|(AA_LEU)|(AA_LYS)|(AA_ILE)| \
(AA_GLU)|(AA_MET)|(AA_TRP)))
Referenced by OBResidue::GetAminoAcidProperty().
#define IS_MEDIUM ( x )
Value:
((x) & ((AA_VAL)|(AA_THR)|(AA_ASP)|(AA_ASN)| \
(AA_PRO)|(AA_CYS)))
Referenced by OBResidue::GetAminoAcidProperty().
Referenced by OBResidue::GetAminoAcidProperty().
#define IS_NEUTRAL ( x )
Value:
((x) & ((AA_ALA)|(AA_GLY)|(AA_LEU)|(AA_SER)| \
(AA_VAL)|(AA_THR)|(AA_PHE)|(AA_GLN)| \
(AA_TYR)|(AA_HIS)|(AA_CYS)|(AA_MET)| \
(AA_TRP)|(AA_ILE)|(AA_ASN)|(AA_PRO)))
Referenced by OBResidue::GetAminoAcidProperty().
#define IS_POLAR ( x )
Value:
((x) & ((AA_ASP)|(AA_ILE)|(AA_ASN)|(AA_GLU)| \
(AA_SER)|(AA_THR)|(AA_ARG)|(AA_GLN)| \
(AA_CYS)|(AA_HIS)))
Referenced by OBResidue::GetAminoAcidProperty().
Referenced by OBResidue::GetAminoAcidProperty().
Referenced by OBResidue::GetAminoAcidProperty().
#define IS_SURFACE ( x )
Value:
((x) & ((AA_THR)|(AA_LYS)|(AA_ASP)|(AA_ILE)| \
(AA_ASN)|(AA_GLU)|(AA_PRO)|(AA_ARG)| \
(AA_GLY)|(AA_SER)|(AA_GLN)|(AA_TYR)| \
(AA_HIS)))
Referenced by OBResidue::GetAminoAcidProperty().
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
#include <openbabel/babelconfig.h>
#include <openbabel/mol.h>
#include <openbabel/ring.h>
Namespaces
namespace OpenBabel
Defines
#define OB_RTREE_CUTOFF 20
Functions
static int DetermineFRJ (OBMol &)
static void BuildOBRTreeVector (OBAtom *, OBRTree *, vector< OBRTree * > &,
OBBitVec &)
bool CompareRingSize (const OBRing *, const OBRing *)
static void FindRings (OBMol &mol, vector< int > &path, OBBitVec &avisit, OBBitVec
&bvisit, int natom, int depth)
Variables
OBRingTyper ringtyper
Detailed Description
Deal with rings, find smallest set of smallest rings (SSSR).
Define Documentation
#define OB_RTREE_CUTOFF 20
Referenced by OpenBabel::BuildOBRTreeVector().
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
00001 /**********************************************************************
00002 ring.h - Deal with rings, find smallest set of smallest rings (SSSR).
00003
00004 Copyright (C) 1998-2001 by OpenEye Scientific Software, Inc.
00005 Some portions Copyright (C) 2001-2005 by Geoffrey R. Hutchison
00006
00007 This file is part of the Open Babel project.
00008 For more information, see <http://openbabel.sourceforge.net/>
00009
00010 This program is free software; you can redistribute it and/or modify
00011 it under the terms of the GNU General Public License as published by
00012 the Free Software Foundation version 2 of the License.
00013
00014 This program is distributed in the hope that it will be useful,
00015 but WITHOUT ANY WARRANTY; without even the implied warranty of
00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00017 GNU General Public License for more details.
00018 ***********************************************************************/
00019
00020 #ifndef OB_RING_H
00021 #define OB_RING_H
00022
00023 #include <deque>
00024 #include <algorithm>
00025
00026 // TODO: Make this work as a free-standing header
00027 // Currently only used in ring.cpp which imports mol.h beforehand
00028 #include <openbabel/bitvec.h>
00029 #include <openbabel/typer.h>
00030
00031 namespace OpenBabel
00032 {
00033
00034 class OBMol;
00035 class OBAtom;
00036 class OBBond;
00037
00038 // class introduction in ring.cpp
00039 class OBAPI OBRing
00040 {
00041 OBMol *_parent;
00042 public:
00043 //public data members
00044 std::vector<int> _path;
00045 OBBitVec _pathset;
00046
00048
00049 OBRing() {}
00051 OBRing(std::vector<int>& path, int size);
00052 OBRing(std::vector<int>& path, OBBitVec set) : _path(path), _pathset(set) {}
00053 OBRing(const OBRing &src);
00054 OBRing& operator=(const OBRing &src);
00056
00057 //member functions
00058
ring.h 1780
Open Babel: API Documentation
00060 int Size() const { return(_path.size()); }
00063 int PathSize() const { return(_path.size()); }
00064
00068 bool IsAromatic();
00069
00071 void SetType(char *type);
00073 void SetType(std::string &type);
00075 char *GetType();
00079 unsigned int GetRootAtom();
00080
00082 bool IsMember(OBAtom *a);
00085 bool IsMember(OBBond *b);
00087 bool IsInRing(int i)
00088 {
00089 return(_pathset.BitIsOn(i));
00090 }
00091
00093 void SetParent(OBMol *m) { _parent = m; }
00095 OBMol *GetParent() { return(_parent);}
00096
00103 bool findCenterAndNormal(vector3 & center, vector3 &norm1, vector3 &norm2);
00104 private:
00105 char _type[30];
00106 };
00107
00110 OBAPI bool CompareRingSize(const OBRing *,const OBRing *);
00111
00112
00116 class OBAPI OBRingSearch
00117 {
00118 std::vector<OBBond*> _bonds;
00119 std::vector<OBRing*> _rlist;
00120 public:
00121 OBRingSearch() {}
00122 ~OBRingSearch();
00123
00125 void SortRings()
00126 {
00127 std::sort(_rlist.begin(),_rlist.end(),CompareRingSize);
00128 }
00130 void RemoveRedundant(int);
00132 void AddRingFromClosure(OBMol &,OBBond *);
00133
00134 bool SaveUniqueRing(std::deque<int>&,std::deque<int>&);
00135
00137 void WriteRings();
00138
00140
00141
00142 std::vector<OBRing*>::iterator BeginRings()
00143 {
00144 return(_rlist.begin());
00145 }
00147 std::vector<OBRing*>::iterator EndRings()
00148 {
00149 return(_rlist.end());
00150 }
00152 };
00153
00158 class OBAPI OBRTree
00159 {
ring.h 1781
Open Babel: API Documentation
00160 OBAtom *_atom;
00161 OBRTree *_prv;
00162 public:
00164 OBRTree(OBAtom*,OBRTree*);
00165 ~OBRTree() {}
00166
00168 int GetAtomIdx();
00170 void PathToRoot(std::vector<OBAtom*>&);
00171 };
00172
00173 } // end namespace OpenBabel
00174
00175 #endif // OB_RING_H
00176
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
ring.h 1782
ring.h File Reference
Deal with rings, find smallest set of smallest rings (SSSR). More...
#include <deque>
#include <algorithm>
#include <openbabel/bitvec.h>
#include <openbabel/typer.h>
This graph shows which files directly or indirectly include this file:
Namespaces
namespace OpenBabel
Classes
class OBRing
Stores information on rings in a molecule from SSSR perception. More...
class OBRingSearch
Internal class to facilitate OBMol::FindSSSR(). More...
class OBRTree
Internal class for OBRing search algorithms to create a search tree of OBAtom objects. More...
Functions
bool CompareRingSize (const OBRing *, const OBRing *)
Detailed Description
Deal with rings, find smallest set of smallest rings (SSSR).
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
#include <openbabel/babelconfig.h>
#include <openbabel/rotamer.h>
Namespaces
namespace OpenBabel
Defines
#define OB_TITLE_SIZE 254
#define OB_BINARY_SETWORD 32
Functions
double rint (double x)
void SetRotorToAngle (double *c, OBAtom **ref, double ang, vector< int > atoms)
int Swab (int)
int PackCoordinate (double c[3], double max[3])
void UnpackCoordinate (double c[3], double max[3], int tmp)
Variables
static int SINT = 0x00000001
static unsigned char * STPTR = (unsigned char*)&SINT
Detailed Description
Handle rotamer list data.
Define Documentation
#define OB_BINARY_SETWORD 32
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
00001 /**********************************************************************
00002 rotamer.h - Handle rotamer list data.
00003
00004 Copyright (C) 1998-2000 by OpenEye Scientific Software, Inc.
00005 Some portions Copyright (C) 2001-2006 by Geoffrey R. Hutchison
00006
00007 This file is part of the Open Babel project.
00008 For more information, see <http://openbabel.sourceforge.net/>
00009
00010 This program is free software; you can redistribute it and/or modify
00011 it under the terms of the GNU General Public License as published by
00012 the Free Software Foundation version 2 of the License.
00013
00014 This program is distributed in the hope that it will be useful,
00015 but WITHOUT ANY WARRANTY; without even the implied warranty of
00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00017 GNU General Public License for more details.
00018 ***********************************************************************/
00019
00020 #ifndef OB_ROTAMER_H
00021 #define OB_ROTAMER_H
00022
00023 #include <vector>
00024 #include <map>
00025
00026 #include <openbabel/mol.h>
00027 #include <openbabel/rotor.h>
00028 #include <openbabel/generic.h>
00029
00030 namespace OpenBabel
00031 {
00032
00034 // Further class introduction in rotamer.cpp
00035 class OBAPI OBRotamerList : public OBGenericData
00036 {
00038 unsigned int _NBaseCoords;
00040 std::vector<double*> _c;
00042 std::vector<std::pair<OBAtom**,std::vector<int> > > _vrotor;
00045 std::vector<std::vector<double> > _vres;
00047 std::vector<unsigned char*> _vrotamer;
00048
00049 /*Because contains OBAtom*, these aren't meaningful without knowing the parent molecu
00050 OBRotamerList(const OBRotamerList &cpy) : OBGenericData(cpy)
00051 {}
00052 OBRotamerList& operator =(const OBRotamerList &)
00053 {
00054 return *this;
00055 }
00056 */
00057
00058 public:
00059 OBRotamerList()
00060 {
00061 _NBaseCoords=0;
00062 _type= OBGenericDataType::RotamerList;
rotamer.h 1787
Open Babel: API Documentation
00063 _attr="RotamerList";
00064 }
00065 virtual OBGenericData* Clone(OBBase* parent) const;
00066
00067 ~OBRotamerList();
00069 void Setup(OBMol&,OBRotorList&);
00074 void Setup(OBMol &mol,unsigned char*ref,int nrotors);
00076 unsigned int NumRotors() const
00077 {
00078 return (unsigned int)_vrotor.size();
00079 }
00081 unsigned int NumRotamers() const
00082 {
00083 return (unsigned int)_vrotamer.size();
00084 }
00086 void AddRotamer(double*);
00088 void AddRotamer(int *key);
00090 void AddRotamer(std::vector<int> key);
00092 void AddRotamer(unsigned char *key);
00094 void AddRotamers(unsigned char *arr,int nconf);
00096 void GetReferenceArray(unsigned char*) const;
00097
00099
00100 std::vector<unsigned char*>::iterator BeginRotamer()
00101 {
00102 return _vrotamer.begin();
00103 }
00104 std::vector<unsigned char*>::iterator EndRotamer()
00105 {
00106 return _vrotamer.end();
00107 }
00109
00112 std::vector<double*> CreateConformerList(OBMol& mol);
00113
00116 void ExpandConformerList(OBMol&mol,std::vector<double*>& confs);
00117
00118 void SetCurrentCoordinates(OBMol &mol, std::vector<int> arr);
00119
00122 void SetBaseCoordinateSets(OBMol& mol)
00123 {
00124 SetBaseCoordinateSets(mol.GetConformers(), mol.NumAtoms());
00125 }
00126
00128
00131 void SetBaseCoordinateSets(std::vector<double*> bc, unsigned int N);
00132
00134 unsigned int NumBaseCoordinateSets() const
00135 {
00136 return _c.size();
00137 }
00138
00140 double *GetBaseCoordinateSet(unsigned int i) const
00141 {
00142 return (i<_c.size()) ? _c[i] : NULL;
00143 }
00144
00146 unsigned int NumAtoms() const
00147 {
00148 return _NBaseCoords;
00149 }
00150 };
rotamer.h 1788
Open Babel: API Documentation
00151
00153 int Swab(int);
00154
00155 }
00156
00157 #endif // OB_ROTAMER_H
00158
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
rotamer.h 1789
rotamer.h File Reference
Handle rotamer list data. More...
#include <vector>
#include <map>
#include <openbabel/mol.h>
#include <openbabel/rotor.h>
#include <openbabel/generic.h>
This graph shows which files directly or indirectly include this file:
Namespaces
namespace OpenBabel
Classes
class OBRotamerList
Supports a set of rotamer coordinate sets for some number of potentially rotatable bonds. More...
Functions
int Swab (int)
Detailed Description
Handle rotamer list data.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
#include <openbabel/babelconfig.h>
#include <openbabel/mol.h>
#include <openbabel/rotor.h>
#include "torlib.h"
Namespaces
namespace OpenBabel
Defines
#define OB_DEFAULT_DELTA 10.0
Functions
static bool GetDFFVector (OBMol &, vector< int > &, OBBitVec &)
static bool CompareRotor (const pair< OBBond *, int > &, const pair< OBBond *, int > &)
static double MinimumPairRMS (OBMol &, double *, double *, bool &)
Detailed Description
Rotate dihedral angles according to rotor rules.
Define Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
00001 /**********************************************************************
00002 rotor.h - Rotate torsional according to rotor rules.
00003
00004 Copyright (C) 1998-2000 by OpenEye Scientific Software, Inc.
00005 Some portions Copyright (C) 2001-2005 by Geoffrey R. Hutchison
00006
00007 This file is part of the Open Babel project.
00008 For more information, see <http://openbabel.sourceforge.net/>
00009
00010 This program is free software; you can redistribute it and/or modify
00011 it under the terms of the GNU General Public License as published by
00012 the Free Software Foundation version 2 of the License.
00013
00014 This program is distributed in the hope that it will be useful,
00015 but WITHOUT ANY WARRANTY; without even the implied warranty of
00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00017 GNU General Public License for more details.
00018 ***********************************************************************/
00019
00020 #ifndef OB_ROTOR_H
00021 #define OB_ROTOR_H
00022
00023 #include <openbabel/parsmart.h>
00024 #include <openbabel/typer.h>
00025
00026 namespace OpenBabel
00027 {
00028
00029 #ifndef SQUARE
00030 #define SQUARE(x) ((x)*(x))
00031 #endif
00032
00040 class OBAPI OBRotorRule
00041 {
00042 int _ref[4];
00043 double _delta;
00044 std::string _s;
00045 OBSmartsPattern* _sp;
00046 std::vector<double> _vals;
00047 public:
00048
00049 OBRotorRule(char *buffer,int ref[4],std::vector<double> &vals,double d):
00050 _delta(d), _s(buffer), _vals(vals)
00051 {
00052 _sp = new OBSmartsPattern;
00053 _sp->Init(buffer);
00054 memcpy(_ref,ref,sizeof(int)*4);
00055 }
00056
00057 ~OBRotorRule()
00058 {
00059 if (_sp)
00060 {
00061 delete _sp;
00062 _sp = NULL;
rotor.h 1794
Open Babel: API Documentation
00063 }
00064 }
00065
00067 bool IsValid() { return(_sp->IsValid()); }
00071 void GetReferenceAtoms(int ref[4]) { memcpy(ref,_ref,sizeof(int)*4); }
00073 void SetDelta(double d) { _delta = d; }
00075 double GetDelta() { return(_delta); }
00077 std::vector<double> &GetTorsionVals() { return(_vals); }
00079 std::string &GetSmartsString(){ return(_s); }
00081 OBSmartsPattern *GetSmartsPattern() { return(_sp); }
00082 };
00083
00090 class OBAPI OBRotorRules : public OBGlobalDataBase
00091 {
00092 bool _quiet;
00093 std::vector<OBRotorRule*> _vr;
00094 std::vector<double> _sp3sp3;
00095 std::vector<double> _sp3sp2;
00096 std::vector<double> _sp2sp2;
00097 public:
00098 OBRotorRules();
00099 ~OBRotorRules();
00100
00101 void ParseLine(const char*);
00103 unsigned int GetSize() { return _vr.size();}
00104
00106 void SetFilename(std::string &s) { _filename = s; }
00107
00114 void GetRotorIncrements(OBMol& mol,OBBond* bond,int refs[4],
00115 std::vector<double> &vals,double &delta);
00117 void Quiet() { _quiet=true; }
00118 };
00119
00122 class OBAPI OBRotor
00123 {
00124 int _idx,_ref[4];
00125 int *_rotatoms,_size,_numcoords;
00126 double _delta;
00127 double _imag,_refang;
00128 OBBond *_bond;
00129 std::vector<int> _torsion;
00130 OBBitVec _fixedatoms,_evalatoms;
00131 std::vector<double> _res;
00132 std::vector<double> _invmag;
00133 std::vector<std::vector<double> > _sn,_cs,_t;
00134 public:
00135 OBRotor();
00136 ~OBRotor()
00137 {
00138 if (_rotatoms)
00139 delete [] _rotatoms;
00140 }
00141 int Size()
00142 {
00143 return((_res.empty())?0:_res.size());
00144 }
00145 int GetIdx() const
00146 {
00147 return(_idx);
00148 }
00149 void SetNumCoords(int nc)
rotor.h 1795
Open Babel: API Documentation
00150 {
00151 _numcoords = nc;
00152 }
00153 void SetBond(OBBond *bond)
00154 {
00155 _bond = bond;
00156 }
00157 void SetEvalAtoms(OBBitVec &bv)
00158 {
00159 _evalatoms = bv;
00160 }
00161 void SetDihedralAtoms(std::vector<int> &vi)
00162 {
00163 _torsion = vi;
00164 }
00165 void SetDelta(double d)
00166 {
00167 _delta = d;
00168 }
00169 void SetDihedralAtoms(int ref[4]);
00170 void SetRotAtoms(std::vector<int>&);
00171
00172 inline void SetToAngle(double *c,double setang)
00173 {
00174 double dx,dy,dz,sn,cs,t,ang,mag;
00175 ang = setang - CalcTorsion(c);
00176 if (fabs(ang) < 1e-5)
00177 return;
00178
00179 sn = sin(ang);
00180 cs = cos(ang);
00181 t = 1 - cs;
00182 dx = c[_torsion[1]] - c[_torsion[2]];
00183 dy = c[_torsion[1]+1] - c[_torsion[2]+1];
00184 dz = c[_torsion[1]+2] - c[_torsion[2]+2];
00185 mag = sqrt(SQUARE(dx) + SQUARE(dy) + SQUARE(dz));
00186 Set(c,sn,cs,t,1.0/mag);
00187 }
00188
00189 void SetRotor(double *,int,int prev=-1);
00190 void Set(double*,int);
00191 void Precompute(double*);
00192 void Set(double *c,int ridx,int cidx)
00193 {
00194 Set(c,_sn[cidx][ridx],_cs[cidx][ridx],_t[cidx][ridx],_invmag[cidx]);
00195 }
00196 void Set(double*,double,double,double,double);
00197 void Precalc(std::vector<double*>&);
00198 void SetIdx(int idx)
00199 {
00200 _idx = idx;
00201 }
00202 void SetFixedAtoms(OBBitVec &bv)
00203 {
00204 _fixedatoms = bv;
00205 }
00206 void SetTorsionValues(std::vector<double> &tmp)
00207 {
00208 _res = tmp;
00209 }
00210 void RemoveSymTorsionValues(int);
rotor.h 1796
Open Babel: API Documentation
00211 void GetDihedralAtoms(int ref[4])
00212 {
00213 for (int i=0;i<4;++i)
00214 ref[i]=_ref[i];
00215 }
00216 void *GetRotAtoms()
00217 {
00218 return(_rotatoms);
00219 }
00220 double CalcTorsion(double *);
00221 double CalcBondLength(double*);
00222 double GetDelta()
00223 {
00224 return(_delta);
00225 }
00226 OBBond *GetBond()
00227 {
00228 return(_bond);
00229 }
00230 std::vector<int> &GetDihedralAtoms()
00231 {
00232 return(_torsion);
00233 }
00234 std::vector<double> &GetResolution()
00235 {
00236 return(_res);
00237 }
00238 std::vector<double>::iterator BeginTorIncrement()
00239 {
00240 return(_res.begin());
00241 }
00242 std::vector<double>::iterator EndTorIncrement()
00243 {
00244 return(_res.end());
00245 }
00246 OBBitVec &GetEvalAtoms()
00247 {
00248 return(_evalatoms);
00249 }
00250 OBBitVec &GetFixedAtoms()
00251 {
00252 return(_fixedatoms);
00253 }
00254 };
00255
00256
00258 typedef std::vector<OBRotor*>::iterator OBRotorIterator;
00259
00262 class OBAPI OBRotorList
00263 {
00264 bool _quiet;
00265 bool _removesym;
00266 OBBitVec _fix;
00267 OBRotorRules _rr;
00268 std::vector<int> _dffv;
00269 std::vector<OBRotor*> _rotor;
00270
00271 std::vector<std::pair<OBSmartsPattern*,std::pair<int,int> > > _vsym2;
00273 std::vector<std::pair<OBSmartsPattern*,std::pair<int,int> > > _vsym3;
00274 public:
00275
rotor.h 1797
Open Babel: API Documentation
00276 OBRotorList();
00277 ~OBRotorList();
00278
00280 void Clear();
00281
00283 int Size()
00284 {
00285 return((_rotor.empty()) ? 0: _rotor.size());
00286 }
00288 void Init(std::string &fname)
00289 {
00290 _rr.SetFilename(fname);
00291 _rr.Init();
00292 }
00294 void SetQuiet() { _quiet=true; _rr.Quiet(); }
00295
00297 void SetFixAtoms(OBBitVec &fix) { _fix = fix; }
00298
00301 bool IsFixedBond(OBBond*);
00303 bool HasFixedAtoms()
00304 {
00305 return(!_fix.Empty());
00306 }
00307
00311 void SetRotAtomsByFix(OBMol&);
00312
00317 bool SetRotAtoms(OBMol&);
00318
00322 bool Setup(OBMol &);
00326 bool FindRotors(OBMol &);
00330 bool SetEvalAtoms(OBMol&);
00333 bool AssignTorVals(OBMol &);
00334
00337 void IgnoreSymmetryRemoval() { _removesym = false;}
00341 void RemoveSymVals(OBMol&);
00342
00344
00345 OBRotor *BeginRotor(OBRotorIterator &i)
00346 { i = _rotor.begin(); return((i ==_rotor.end()) ? NULL:*i); }
00347 OBRotor *NextRotor(OBRotorIterator &i)
00348 { ++i; return((i ==_rotor.end()) ? NULL:*i); }
00349 OBRotorIterator BeginRotors() { return(_rotor.begin()); }
00350 OBRotorIterator EndRotors() { return(_rotor.end()); }
00352
00353 // Not declared
00355 bool IdentifyEvalAtoms(OBMol &mol) { return SetEvalAtoms(mol); }
00356 };
00357
00359 class rotor_digit {
00360 public:
00361 rotor_digit(unsigned int rs)
00362 {
00363 resolution_size = rs;
00364 state = 0;
00365 }
00366
00367 rotor_digit()
00368 {
00369 resolution_size = 0;
00370 state = 0;
00371 }
rotor.h 1798
Open Babel: API Documentation
00372
00373 void set_size(unsigned int rs)
00374 {
00375 resolution_size = rs;
00376 state = 0;
00377 }
00378
00379 void set_state(int st)
00380 {
00381 state = st;
00382 }
00383
00384 int get_state()
00385 {
00386 return state;
00387 }
00388
00389 unsigned int size()
00390 {
00391 return resolution_size;
00392 }
00393
00394 bool next()
00395 {
00396 if (state<resolution_size - 1) {
00397 state++;
00398 return false;
00399 } else
00400 state = 0;
00401
00402 return true;
00403 }
00404 private:
00405 unsigned int resolution_size;
00406 int state;
00407 } typedef rotor_digit;
00409
00412 class OBAPI OBRotorKeys
00413 {
00459 public:
00461 OBRotorKeys()
00462 {
00463 _vr.clear();
00464 }
00465
00467 void Clear(){
00468 _vr.clear();
00469 }
00470
00472 unsigned int NumKeys()
00473 {
00474 unsigned int numKeys = 0;
00475
00476 while (Next())
00477 numKeys++;
00478
00479 return numKeys;
00480 }
00481
00484 void AddRotor(unsigned int size)
00485 {
rotor.h 1799
Open Babel: API Documentation
00486 rotor_digit *rd;
00487 rd = new rotor_digit(size);
00488 _vr.push_back(*rd);
00489 }
00490
00493 bool Next()
00494 {
00495 if(_vr.size() == 0)
00496 return false;
00497
00498 bool carry = _vr[0].next();
00499 unsigned int i = 1;
00500 while (carry) {
00501 if(i == _vr.size())
00502 return false;
00503
00504 carry = _vr[i].next();
00505 i++;
00506 }
00507 return true;
00508 }
00509
00512 std::vector<int> GetKey()
00513 {
00514 std::vector<int> rt;
00515 rt.clear();
00516 rt.push_back(0);
00517 for(unsigned int i = 0; i < _vr.size(); i++){
00518 rt.push_back(_vr[i].get_state());
00519 }
00520
00521 return rt;
00522 }
00523
00524 private:
00525 std::vector<rotor_digit> _vr;
00526 };
00527
00528
00529 } // end namespace OpenBabel
00530
00531 #endif // OB_ROTOR_H
00532
This file is part of the documentation for Open Babel, version 2.2.0.
rotor.h 1800
Open Babel: API Documentation
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
rotor.h 1801
rotor.h File Reference
Rotate torsional according to rotor rules. More...
#include <openbabel/parsmart.h>
#include <openbabel/typer.h>
This graph shows which files directly or indirectly include this file:
Namespaces
namespace OpenBabel
Classes
class OBRotorRule
A rule for torsional conformer searching, defined by a SMARTS pattern.
More...
class OBRotorRules
Database of default hybridization torsional rules and SMARTS-defined
OBRotorRule objects. More...
class OBRotor
A single rotatable OBBond as part of rotamer searching. More...
class OBRotorList
Given an OBMol, set up a list of possibly rotatable torsions,. More...
class OBRotorKeys
A class to generate all possible rotorKeys. More...
Defines
#define SQUARE(x) ((x)*(x))
Typedefs
typedef std::vector< OBRotor * >
::iterator OBRotorIterator
Detailed Description
Rotate torsional according to rotor rules.
Define Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
Typedefs 1803
snprintf.h
Go to the documentation of this file.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
snprintf.h 1804
snprintf.h File Reference
Go to the source code of this file.
Defines
#define PORTABLE_SNPRINTF_VERSION_MAJOR 2
#define PORTABLE_SNPRINTF_VERSION_MINOR 2
Functions
int snprintf (char *, size_t, const char *,...)
int vsnprintf (char *, size_t, const char *, va_list)
int asprintf (char **ptr, const char *fmt,...)
int vasprintf (char **ptr, const char *fmt, va_list ap)
int asnprintf (char **ptr, size_t str_m, const char *fmt,...)
int vasnprintf (char **ptr, size_t str_m, const char *fmt, va_list ap)
Define Documentation
#define PORTABLE_SNPRINTF_VERSION_MAJOR 2
#define PORTABLE_SNPRINTF_VERSION_MINOR 2
Function Documentation
Referenced by OBForceField::ConjugateGradientsInitialize(),
OBForceField::ConjugateGradientsTakeNSteps(), OBForceField::DistanceGeometry(),
OBRotorRules::GetRotorIncrements(), OBAtom::GetType(), OBConversion::IncrementedFileName(),
OBForceField::PrintFormalCharges(), OBForceField::PrintPartialCharges(), OBForceField::PrintTypes(),
OBForceField::PrintVelocities(), OBForceField::RandomRotorSearchInitialize(),
OBForceField::RandomRotorSearchNextConformer(), OBRotorList::Setup(),
OBForceField::SteepestDescentInitialize(), OBForceField::SteepestDescentTakeNSteps(),
OBForceField::SystematicRotorSearchInitialize(), OBForceField::SystematicRotorSearchNextConformer(),
OBForceField::ValidateConjugateGradients(), OBForceField::ValidateSteepestDescent(), and
OBForceField::WeightedRotorSearch().
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
#include <openbabel/babelconfig.h>
#include <openbabel/math/spacegroup.h>
#include <openbabel/data.h>
#include <openbabel/obutil.h>
#include <iostream>
#include <map>
#include <set>
#include <vector>
#include <locale>
#include <cstdarg>
#include <cstdlib>
Namespaces
namespace OpenBabel
Enumerations
enum { SPACE_GROUP_ID, SPACE_GROUP_HALL,
SPACE_GROUP_HM, SPACE_GROUP_TRANSFORM }
Variables
static SpaceGroups _SpaceGroups
Detailed Description
Handle Crystallographic Space Groups.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
00001 /**********************************************************************
00002 spacegroup.h - Handle Crystallographic Space Groups.
00003
00004 Copyright (C) 2007 by Jean Bréfort
00005
00006 This file is part of the Open Babel project.
00007 For more information, see <http://openbabel.sourceforge.net/>
00008
00009 This program is free software; you can redistribute it and/or
00010 modify it under the terms of the GNU General Public License as
00011 published by the Free Software Foundation; either version 2 of the
00012 License, or (at your option) any later version.
00013
00014 This program is distributed in the hope that it will be useful,
00015 but WITHOUT ANY WARRANTY; without even the implied warranty of
00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00017 GNU General Public License for more details.
00018 ***********************************************************************/
00019
00020 #ifndef OB_SPACE_GROUP_H
00021 #define OB_SPACE_GROUP_H
00022
00023 #include <openbabel/math/transform3d.h>
00024 #include <string>
00025 #include <list>
00026
00027 namespace OpenBabel
00028 {
00029
00035 class OBAPI SpaceGroup
00036 {
00037 public:
00038 SpaceGroup();
00039 ~SpaceGroup();
00040
00041 void SetHMName(const char *name)
00042 { m_HM = name; }
00043 void SetHMName(const std::string &name)
00044 { m_HM = name; }
00045 void SetHallName(const char *name)
00046 { m_Hall = name; }
00047 void SetHallName(const std::string &name)
00048 { m_Hall = name; }
00049 void SetId(unsigned n)
00050 { m_id = n; }
00051 void AddTransform(const std::string &s);
00052
00053 const std::string & GetHMName() const
00054 { return m_HM;}
00055 const std::string & GetHallName()const
00056 { return m_Hall;}
00057 unsigned GetId() const
00058 { return m_id; }
00059 std::list<vector3> Transform(const vector3 &v) const;
00060
spacegroup.h 1810
Open Babel: API Documentation
00061 transform3d const * BeginTransform(transform3dIterator &i) const;
00062 transform3d const * NextTransform(transform3dIterator &i) const;
00063
00064 // static methods
00065 /* The name might be either a HM or Hall name */
00066 static const SpaceGroup * GetSpaceGroup (char const *name);
00067 static const SpaceGroup * GetSpaceGroup (const std::string &name);
00068 static const SpaceGroup * GetSpaceGroup (unsigned id);
00069 static const SpaceGroup * Find (SpaceGroup* group);
00070 /* Use it if the space group is unknown (might happen if no database has
00071 been loaded or if the HM name is not usual. */
00072 // Unfortunately, this seems to confuse the SWIG parser
00073 // Fortunately, it's not needed for the scripting bindings,
00074 // since this is internal code
00075 #ifndef SWIG
00076 void RegisterSpaceGroup (int nb = 0, ...);
00077 #endif
00078
00079 bool operator ==(const SpaceGroup &) const;
00080 int operator!=(const SpaceGroup &other) const
00081 {
00082 return !((*this) == other);
00083 }
00084 bool IsValid() const;
00085
00086 private:
00087 std::string m_HM, m_Hall;
00088 unsigned int m_id;
00089 std::list<transform3d*> m_transforms;
00090 };
00091
00092 }
00093
00094 #endif // OB_SPACE_GROUP_H
00095
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
spacegroup.h 1811
Open Babel: API Documentation
• Files
spacegroup.h 1812
spacegroup.h File Reference
Handle Crystallographic Space Groups. More...
#include <openbabel/math/transform3d.h>
#include <string>
#include <list>
This graph shows which files directly or indirectly include this file:
Namespaces
namespace OpenBabel
Classes
class SpaceGroup
Handle crystallographic space group symmetry. More...
Detailed Description
Handle Crystallographic Space Groups.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
This example program shows how to read in a molecule, check the number of atoms, and write a SMILES
string.
#include <iostream.h>
All of the main classes, including OBMol and OBConversion, include example code designed to facilitate
using the Open Babel code in real-world chemistry.
For a further list of example code, see the developer tutorials. This section includes examples in C++, Perl,
Python, and other porgramming languages.
Also, the tools directory of the Open Babel source releases include a variety of programs which are
intended to be more advanced examples (although usually still under 300 lines of code).
Please e-mail the openbabel-discuss@lists.sourceforge.net mailing list if you have more questions!
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
chiral_flag AtomSpec
expr AtomSpec
part AtomSpec
vb AtomSpec
visit AtomSpec
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::AtomSpec
#include <openbabel/parsmart.h>
Public
Attributes
AtomExpr * expr
int visit
int part
int chiral_flag
int vb
Detailed Description
An internal (SMARTS parser) atom specification.
AtomExpr* expr
int visit
Referenced by OpenBabel::TraverseSMARTS().
int part
int chiral_flag
int vb
Referenced by OpenBabel::CreateAtom().
The documentation for this struct was generated from the following file:
• parsmart.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
dst BondSpec
expr BondSpec
grow BondSpec
src BondSpec
visit BondSpec
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::BondSpec
#include <openbabel/parsmart.h>
Public
Attributes
BondExpr * expr
int src
int dst
int visit
bool grow
Detailed Description
An internal (SMARTS parser) bond specification.
BondExpr* expr
int src
int dst
int visit
Referenced by OpenBabel::TraverseSMARTS().
bool grow
The documentation for this struct was generated from the following file:
• parsmart.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::CharPtrLess
#include <plugin.h>
Detailed Description
Case insensitive string comparison for PluginMapType key.
The documentation for this struct was generated from the following file:
• plugin.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
hi DoubleType
lo DoubleType
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::DoubleType
#include <openbabel/rand.h>
Public
Attributes
unsigned int hi
unsigned int lo
Detailed Description
Used for internal random number generation OBRandom (unless the system random generator is used).
unsigned int hi
unsigned int lo
The documentation for this struct was generated from the following file:
• rand.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
CheckFP() FptIndex
fptdata FptIndex
header FptIndex
Read(std::istream *pIndexstream) FptIndex
seekdata FptIndex
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::FptIndex
#include <openbabel/fingerprint.h>
Public Attributes
FptIndexHeader header
std::vector< unsigned int > fptdata
std::vector< unsigned int > seekdata
Detailed Description
Structure of fastsearch index files.
std::istream
bool Read ( pIndexstream )
*
Referenced by FastSearch::ReadIndex().
OBFingerprint * CheckFP ( )
Returns:
A pointer to FP used or NULL and an error message
FptIndexHeader header
The documentation for this struct was generated from the following files:
• fingerprint.h
• fingerprint.cpp
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
datafilename FptIndexHeader
fpid FptIndexHeader
headerlength FptIndexHeader
nEntries FptIndexHeader
words FptIndexHeader
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::FptIndexHeader
#include <openbabel/fingerprint.h>
Public Attributes
unsigned int headerlength
unsigned int nEntries
unsigned int words
char fpid [16]
char datafilename [256]
Detailed Description
Header for fastsearch index file.
char fpid[16]
ID of the fingerprint type.
char datafilename[256]
the data that this is an index to
The documentation for this struct was generated from the following file:
• fingerprint.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::LineSearchType
#include <forcefield.h>
Public Types
enum { Simple, Newton2Num }
Detailed Description
The type of line search to be used for optimization -- simple or Newton numeric.
anonymous enum
Enumerator:
Simple
Newton2Num
The documentation for this struct was generated from the following file:
• forcefield.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
aalloc Pattern
acount Pattern
atom Pattern
balloc Pattern
bcount Pattern
bond Pattern
hasExplicitH Pattern
ischiral Pattern
parts Pattern
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::Pattern
#include <openbabel/parsmart.h>
Public
Attributes
int aalloc
int acount
int balloc
int bcount
bool ischiral
AtomSpec * atom
BondSpec * bond
int parts
bool hasExplicitH
Detailed Description
A SMARTS parser internal pattern.
int aalloc
int acount
int balloc
int bcount
bool ischiral
AtomSpec* atom
BondSpec* bond
int parts
bool hasExplicitH
The documentation for this struct was generated from the following file:
• parsmart.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::quad
#include <openbabel/obutil.h>
Public Types
typedef T1 first_type
typedef T2 second_type
typedef T3 third_type
typedef T4 fourth_type
Public Attributes
T1 first
T2 second
T3 third
T4 fourth
Detailed Description
template<class T1, class T2, class T3, class T4>
class OpenBabel::quad< T1, T2, T3, T4 >
typedef T1 first_type
typedef T2 second_type
typedef T3 third_type
typedef T4 fourth_type
quad ( ) [inline]
default constructor T1() and T2() and T3() force initialization for built in types
T1 first
T2 second
T3 third
T4 fourth
The documentation for this class was generated from the following file:
• obutil.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::triple
#include <openbabel/obutil.h>
Public Types
typedef T1 first_type
typedef T2 second_type
typedef T3 third_type
Public Attributes
T1 first
T2 second
T3 third
Detailed Description
template<class T1, class T2, class T3>
class OpenBabel::triple< T1, T2, T3 >
typedef T1 first_type
typedef T2 second_type
typedef T3 third_type
triple ( ) [inline]
Default constructor T1() and T2() and T3() force initialization for built in types
T1 first
T2 second
T3 third
The documentation for this class was generated from the following file:
• obutil.h
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
Member OpenBabel::OBRing::IsAromatic ()
This method uses implicit bonding -- bond info is not stored in OBRing
Class OBSymmetryData
Add support for translation between symbol notations. Add symmetry perception routines.
File bondtyper.cpp
Needs to add aromatic ring bond order assignment. Eventually need to migrate
OBMol::PerceiveBondOrders(), OBMol::ConnectTheDots(), and possibly some of the Kekulize
routines
Member SetRotorToAngle
This code is identical to OBMol::SetTorsion() and should be combined
Member vectorAngle
Replace this method with a more fool-proof version.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
#include <openbabel/babelconfig.h>
#include <algorithm>
#include <vector>
#include <string>
#include <cstring>
#include <openbabel/tokenst.h>
Namespaces
namespace OpenBabel
Functions
OBERROR bool tokenize (std::vector< std::string > &, const char *buf, const char
*delimstr=" \t\n\r")
char * trim_spaces (char *string)
OBERROR bool tokenize (std::vector< std::string > &, std::string &, const char
*delimstr=" \t\n\r", int limit=-1)
OBERROR std::string & Trim (std::string &txt)
OBERROR std::string OpenDatafile (std::ifstream &fs, const std::string &filename, const
std::string &envvar="BABEL_DATADIR")
Detailed Description
Tokenize a string.
This file is part of the documentation for Open Babel, version 2.2.0.
00001 /**********************************************************************
00002 tokenst.h - Tokenize and trim strings; Open data files
00003
00004 Copyright (C) 1998-2001 by OpenEye Scientific Software, Inc.
00005 Some portions Copyright (C) 2001-2006 by Geoffrey R. Hutchison
00006
00007 This file is part of the Open Babel project.
00008 For more information, see <http://openbabel.sourceforge.net/>
00009
00010 This program is free software; you can redistribute it and/or modify
00011 it under the terms of the GNU General Public License as published by
00012 the Free Software Foundation version 2 of the License.
00013
00014 This program is distributed in the hope that it will be useful,
00015 but WITHOUT ANY WARRANTY; without even the implied warranty of
00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00017 GNU General Public License for more details.
00018 ***********************************************************************/
00019
00020 #ifndef OB_TOKENST_H
00021 #define OB_TOKENST_H
00022
00023 #include <openbabel/babelconfig.h>
00024 #include <vector>
00025 #include <string>
00026 #include <fstream>
00027
00028 namespace OpenBabel
00029 {
00030 // Utility function prototypes
00031 OBERROR bool tokenize(std::vector<std::string>&, const char *buf, const char *delimstr="
00032 OBERROR bool tokenize(std::vector<std::string>&, std::string&, const char *delimstr=" \t
00033 // Remove leading and trailing whitespace from a string (docs in tokenst.cpp)
00034 OBERROR std::string& Trim(std::string& txt);
00035
00037 // full documentation in tokenst.cpp
00038 OBERROR std::string OpenDatafile(std::ifstream& fs,
00039 const std::string& filename,
00040 const std::string& envvar = "BABEL_DATADIR");
00041
00042 // Used by other code for reading files
00043 #ifdef WIN32
00044 #define FILE_SEP_CHAR "\\"
00045 #else
00046 #define FILE_SEP_CHAR "/"
00047 #endif
00048
00049
00050 }//namespace
00051 #endif
00052
tokenst.h 1852
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
tokenst.h 1853
tokenst.h File Reference
Tokenize strings, open data files. More...
#include <openbabel/babelconfig.h>
#include <vector>
#include <string>
#include <fstream>
This graph shows which files directly or indirectly include this file:
Namespaces
namespace OpenBabel
Defines
#define FILE_SEP_CHAR "/"
Functions
OBERROR bool tokenize (std::vector< std::string > &, const char *buf, const char
*delimstr=" \t\n\r")
OBERROR bool tokenize (std::vector< std::string > &, std::string &, const char
*delimstr=" \t\n\r", int limit=-1)
OBERROR std::string & Trim (std::string &txt)
OBERROR std::string OpenDatafile (std::ifstream &fs, const std::string &filename, const
std::string &envvar="BABEL_DATADIR")
Detailed Description
Tokenize strings, open data files.
Define Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
Functions 1855
transform3d.cpp File Reference
Handle 3D transformations in space groups. More...
#include <openbabel/babelconfig.h>
#include <openbabel/math/transform3d.h>
Namespaces
namespace OpenBabel
Detailed Description
Handle 3D transformations in space groups.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
00001 /**********************************************************************
00002 transform3d.h - Handle 3D transformations in space groups.
00003
00004 Copyright (C) 2007 by Jean Bréfort
00005
00006 This file is part of the Open Babel project.
00007 For more information, see <http://openbabel.sourceforge.net/>
00008
00009 This program is free software; you can redistribute it and/or
00010 modify it under the terms of the GNU General Public License as
00011 published by the Free Software Foundation; either version 2 of the
00012 License, or (at your option) any later version.
00013
00014 This program is distributed in the hope that it will be useful,
00015 but WITHOUT ANY WARRANTY; without even the implied warranty of
00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00017 GNU General Public License for more details.
00018 ***********************************************************************/
00019
00020 #ifndef OB_TRANSFORM_3D_H
00021 #define OB_TRANSFORM_3D_H
00022
00023 #include <openbabel/math/matrix3x3.h>
00024 #include <list>
00025 #include <string>
00026
00027 namespace OpenBabel
00028 {
00029
00035 class OBAPI transform3d: private matrix3x3, private vector3
00036 {
00037 public:
00038 transform3d(void): matrix3x3(), vector3()
00039 {
00040 }
00041
00042 transform3d(const matrix3x3 &m, const vector3 &v): matrix3x3(m), vector3(v)
00043 {
00044 Normalize();
00045 }
00046
00047 transform3d(double s): matrix3x3(s), vector3()
00048 {
00049 }
00050
00052 transform3d(vector3 row1,vector3 row2,vector3 row3,vector3 translation):
00053 matrix3x3(row1, row2, row3), vector3(translation)
00054 {
00055 Normalize();
00056 }
00057
00059
00060 transform3d(double d[3][3], double t[3]): matrix3x3(d), vector3(t)
00061 {
00062 Normalize();
transform3d.h 1857
Open Babel: API Documentation
00063 }
00064
00065 vector3 operator *(const vector3 &);
00066
00067 transform3d operator *(const transform3d &);
00068
00069 std::string DescribeAsString() const;
00070 std::string DescribeAsValues() const;
00071
00072 void Normalize();
00073 };
00074
00075 typedef std::list<transform3d*>::const_iterator transform3dIterator;
00076
00077 }
00078
00079 #endif // OB_TRANSFORM_3D_H
00080
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
transform3d.h 1858
transform3d.h File Reference
Handle 3D transformations in space groups. More...
#include <openbabel/math/matrix3x3.h>
#include <list>
#include <string>
This graph shows which files directly or indirectly include this file:
Namespaces
namespace OpenBabel
Classes
class transform3d
Handle 3D transformations, such as space group definitions. More...
Typedefs
typedef std::list< transform3d * >
::const_iterator transform3dIterator
Detailed Description
Handle 3D transformations in space groups.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
#include <openbabel/babelconfig.h>
#include <sstream>
#include <openbabel/mol.h>
#include <openbabel/descriptor.h>
#include <openbabel/op.h>
Namespaces
namespace OpenBabel
Detailed Description
Perform command-line requested transformations for OBMol and SMARTS filtering.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
#include <openbabel/babelconfig.h>
#include <openbabel/mol.h>
#include <openbabel/typer.h>
#include "atomtyp.h"
#include "aromatic.h"
Namespaces
namespace OpenBabel
Detailed Description
Open Babel atom and aromaticity typer.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
00001 /**********************************************************************
00002 typer.h - Open Babel atom and aromaticity typer.
00003
00004 Copyright (C) 1998-2001 by OpenEye Scientific Software, Inc.
00005 Some portions Copyright (C) 2001-2005 by Geoffrey R. Hutchison
00006
00007 This file is part of the Open Babel project.
00008 For more information, see <http://openbabel.sourceforge.net/>
00009
00010 This program is free software; you can redistribute it and/or modify
00011 it under the terms of the GNU General Public License as published by
00012 the Free Software Foundation version 2 of the License.
00013
00014 This program is distributed in the hope that it will be useful,
00015 but WITHOUT ANY WARRANTY; without even the implied warranty of
00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00017 GNU General Public License for more details.
00018 ***********************************************************************/
00019
00020 #ifndef OB_TYPER_H
00021 #define OB_TYPER_H
00022
00023 #include <openbabel/parsmart.h>
00024 #include <openbabel/data.h>
00025
00026 namespace OpenBabel
00027 {
00028
00029 // class introduction in typer.cpp
00030 class OBAPI OBAtomTyper : public OBGlobalDataBase
00031 {
00032 // int _rc;
00033 std::vector<std::vector<int> > _mlist;
00034 std::vector<std::pair<OBSmartsPattern*,int> > _vinthyb;
00035 std::vector<std::pair<OBSmartsPattern*,int> > _vimpval;
00036 std::vector<std::pair<OBSmartsPattern*,std::string> > _vexttyp;
00037
00038 public:
00039 OBAtomTyper();
00040 ~OBAtomTyper();
00041
00042 void ParseLine(const char*);
00044 unsigned int GetSize() { return _vimpval.size();}
00045
00047 void AssignHyb(OBMol&);
00049 void AssignTypes(OBMol&);
00052 void AssignImplicitValence(OBMol&);
00054 void CorrectAromaticNitrogens(OBMol&);
00055 };
00056
00057 // class introduction in typer.cpp
00058 class OBAPI OBAromaticTyper : public OBGlobalDataBase
00059 {
00060 std::vector<bool> _vpa;
00061 std::vector<bool> _visit;
typer.h 1863
Open Babel: API Documentation
00062 std::vector<bool> _root;
00063 std::vector<std::vector<int> > _mlist;
00064 std::vector<OBSmartsPattern*> _vsp;
00065 std::vector<std::pair<int,int> > _verange;
00066 std::vector<std::pair<int,int> > _velec;
00067 public:
00068 OBAromaticTyper();
00069 ~OBAromaticTyper();
00070
00072 unsigned int GetSize() { return _vsp.size();}
00073
00074 void ParseLine(const char*);
00076 void AssignAromaticFlags(OBMol &);
00079 void PropagatePotentialAromatic(OBAtom*);
00080 // Documentation in typer.cpp
00081 void SelectRootAtoms(OBMol &, bool avoidInnerRingAtoms = true);
00083 void ExcludeSmallRing(OBMol &);
00085 void CheckAromaticity(OBAtom *root,int searchDepth);
00086 // Documentation in typer.cpp
00087 bool TraverseCycle(OBAtom *root, OBAtom *atom, OBBond *prev,
00088 std::pair<int,int> &er,int depth);
00089 };
00090
00091 // class introduction in typer.cpp
00092 class OBAPI OBRingTyper : public OBGlobalDataBase
00093 {
00094 std::vector<std::vector<int> > _mlist;
00095 std::vector<std::pair<OBSmartsPattern*,std::string> > _ringtyp;
00096
00097 public:
00098 OBRingTyper();
00099 ~OBRingTyper();
00100
00101 void ParseLine(const char*);
00103 unsigned int GetSize() { return _ringtyp.size();}
00104
00106 void AssignTypes(OBMol&);
00107 };
00108
00109
00110 } //namespace OpenBabel
00111
00112 #endif // OB_TYPER_H
00113
This file is part of the documentation for Open Babel, version 2.2.0.
typer.h 1864
Open Babel: API Documentation
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
typer.h 1865
typer.h File Reference
Open Babel atom and aromaticity typer. More...
#include <openbabel/parsmart.h>
#include <openbabel/data.h>
This graph shows which files directly or indirectly include this file:
Namespaces
namespace OpenBabel
Classes
class OBAtomTyper
Assigns atom types, hybridization, implicit valence and formal charges. More...
class OBAromaticTyper
Assigns aromatic typing to atoms and bonds. More...
class OBRingTyper
Detailed Description
Open Babel atom and aromaticity typer.
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
Classes 1867
_AtomExpr Member List
This is the complete list of members for _AtomExpr, including all inherited members.
arg _AtomExpr
bin _AtomExpr
leaf _AtomExpr
lft _AtomExpr
mon _AtomExpr
prop _AtomExpr
recur _AtomExpr
recur _AtomExpr
rgt _AtomExpr
type _AtomExpr
value _AtomExpr
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::_AtomExpr
#include <openbabel/parsmart.h>
Public Attributes
int type
struct {
int type
int prop
int value
} leaf
struct {
int type
void * recur
} recur
struct {
int type
union _AtomExpr * arg
} mon
struct {
int type
union _AtomExpr * lft
union _AtomExpr * rgt
} bin
Detailed Description
An internal (SMARTS parser) atomic expression.
int type
int prop
int value
void* recur
The documentation for this union was generated from the following file:
• parsmart.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
arg _BondExpr
bin _BondExpr
leaf _BondExpr
lft _BondExpr
mon _BondExpr
prop _BondExpr
rgt _BondExpr
type _BondExpr
value _BondExpr
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
• Alphabetical List
• Class List
• Class Hierarchy
• Class Members
OpenBabel::_BondExpr
#include <openbabel/parsmart.h>
Public Attributes
int type
struct {
int type
int prop
int value
} leaf
struct {
int type
union _BondExpr * arg
} mon
struct {
int type
union _BondExpr * lft
union _BondExpr * rgt
} bin
Detailed Description
An internal (SMARTS parser) bond expression.
int type
int prop
int value
The documentation for this union was generated from the following file:
• parsmart.h
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
#include <openbabel/babelconfig.h>
#include <iostream>
#include <openbabel/math/vector3.h>
#include <openbabel/obutil.h>
Namespaces
namespace OpenBabel
Functions
std::ostream & operator<< (std::ostream &, const vector3 &)
vector3 cross (const vector3 &, const vector3 &)
double vectorAngle (const vector3 &v1, const vector3 &v2)
double CalcTorsionAngle (const vector3 &a, const vector3 &b, const vector3 &c, const vector3 &d)
const vector3 VZero (0.0, 0.0, 0.0)
const vector3 VX (1.0, 0.0, 0.0)
const vector3 VY (0.0, 1.0, 0.0)
const vector3 VZ (0.0, 0.0, 1.0)
double Point2Plane (vector3 a, vector3 b, vector3 c, vector3 d)
double Point2PlaneAngle (const vector3 a, const vector3 b, const vector3 c, const vector3 d)
Detailed Description
Handle 3D coordinates.
This file is part of the documentation for Open Babel, version 2.2.0.
00001 /**********************************************************************
00002 vector3.h - Handle 3D coordinates.
00003
00004 Copyright (C) 1998-2001 by OpenEye Scientific Software, Inc.
00005 Some portions Copyright (C) 2001-2006 by Geoffrey R. Hutchison
00006 Some portions Copyright (C) 2006 by Benoit Jacob
00007
00008 This file is part of the Open Babel project.
00009 For more information, see <http://openbabel.sourceforge.net/>
00010
00011 This program is free software; you can redistribute it and/or modify
00012 it under the terms of the GNU General Public License as published by
00013 the Free Software Foundation version 2 of the License.
00014
00015 This program is distributed in the hope that it will be useful,
00016 but WITHOUT ANY WARRANTY; without even the implied warranty of
00017 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00018 GNU General Public License for more details.
00019 ***********************************************************************/
00020
00021 #ifndef OB_VECTOR_H
00022 #define OB_VECTOR_H
00023
00024 #include <ostream>
00025 #include <math.h>
00026 #include <iostream>
00027
00028 #include <openbabel/rand.h>
00029
00030 #ifndef RAD_TO_DEG
00031 #define RAD_TO_DEG (180.0/M_PI)
00032 #endif
00033
00034 #ifndef DEG_TO_RAD
00035 #define DEG_TO_RAD (M_PI/180.0)
00036 #endif
00037
00038 namespace OpenBabel
00039 {
00040
00041 class matrix3x3; // declared in math/matrix3x3.h
00042 class OBRandom; // declared in rand.h
00043
00044 // class introduction in vector3.cpp
00045 class OBAPI vector3
00046 {
00047 private :
00048 double _vx, _vy, _vz ;
00049
00050 public :
00052 vector3 (const double inX=0.0, const double inY=0.0, const double inZ=0.0):
00053 _vx(inX), _vy(inY), _vz(inZ)
00054 {}
00055 vector3 (double inV[3]):
00056 _vx(inV[0]), _vy(inV[1]), _vz(inV[2])
vector3.h 1879
Open Babel: API Documentation
00057 {}
00059 vector3 (const vector3& v):
00060 _vx(v._vx), _vy(v._vy), _vz(v._vz)
00061 { }
00062
00064 ~vector3() { }
00065
00067 void Set(const double inX, const double inY, const double inZ)
00068 {
00069 _vx = inX;
00070 _vy = inY;
00071 _vz = inZ;
00072 }
00074 void Set(const double *c)
00075 {
00076 _vx = c[0];
00077 _vy = c[1];
00078 _vz = c[2];
00079 }
00081 void SetX(const double inX)
00082 {
00083 _vx = inX;
00084 }
00086 void SetY(const double inY)
00087 {
00088 _vy = inY;
00089 }
00091 void SetZ(const double inZ)
00092 {
00093 _vz = inZ;
00094 }
00097 void Get(double *c)
00098 {
00099 c[0]=_vx;
00100 c[1]=_vy;
00101 c[2]=_vz;
00102 }
00104 double operator[] ( unsigned int i) const;
00105
00107 vector3& operator= ( const vector3& v)
00108 {
00109 _vx = v._vx;
00110 _vy = v._vy;
00111 _vz = v._vz;
00112 return *this;
00113 }
00114
00116 const double *AsArray() const
00117 {
00118 return &_vx;
00119 }
00120
00123 vector3& operator+= ( const vector3& v)
00124 {
00125 _vx += v._vx;
00126 _vy += v._vy;
00127 _vz += v._vz;
00128 return *this;
00129 };
00132 vector3& operator-= ( const vector3& v)
00133 {
vector3.h 1880
Open Babel: API Documentation
00134 _vx -= v._vx;
00135 _vy -= v._vy;
00136 _vz -= v._vz;
00137 return *this;
00138 };
00141 vector3& operator+= ( const double* f)
00142 {
00143 _vx += f[0];
00144 _vy += f[1];
00145 _vz += f[2];
00146 return *this;
00147 };
00150 vector3& operator-= ( const double* f)
00151 {
00152 _vx -= f[0];
00153 _vy -= f[1];
00154 _vz -= f[2];
00155 return *this;
00156 };
00159 vector3& operator*= ( const double& c)
00160 {
00161 _vx *= c;
00162 _vy *= c;
00163 _vz *= c;
00164 return *this;
00165 };
00166
00169 vector3& operator/= ( const double& c)
00170 {
00171 double inv = 1.0 / c;
00172 return( (*this) *= inv );
00173 };
00177 vector3& operator*= ( const matrix3x3 &);
00178
00180 void randomUnitVector(OBRandom *oeRand= NULL);
00181
00182 // Member Functions
00183
00186 vector3& normalize () ;
00187
00189 bool CanBeNormalized () const;
00190
00192 inline double length_2 () const
00193 {
00194 return _vx*_vx + _vy*_vy + _vz*_vz;
00195 };
00197 double length () const
00198 {
00199 return sqrt( length_2() );
00200 };
00202 const double & x () const
00203 {
00204 return _vx ;
00205 } ;
00207 const double & y () const
00208 {
00209 return _vy ;
00210 } ;
00212 const double & z () const
00213 {
00214 return _vz ;
vector3.h 1881
Open Babel: API Documentation
00215 } ;
00217 double & x ()
00218 {
00219 return _vx ;
00220 } ;
00222 double & y ()
00223 {
00224 return _vy ;
00225 } ;
00227 double & z ()
00228 {
00229 return _vz ;
00230 } ;
00231
00233 // @{
00238 int operator== ( const vector3& ) const;
00242 int operator!= ( const vector3& other ) const
00243 {
00244 return ! ( (*this) == other );
00245 }
00255 bool IsApprox( const vector3 & other, const double & precision ) const;
00257
00259
00261 double distSq(const vector3 &vv) const
00262 {
00263 double dx = x() - vv.x();
00264 double dy = y() - vv.y();
00265 double dz = z() - vv.z();
00266 return( dx*dx + dy*dy + dz*dz );
00267 }
00268
00271 bool createOrthoVector(vector3 &v) const;
00272
00273 };
00274
00276 OBAPI std::ostream& operator<< ( std::ostream&, const vector3& );
00277
00278 // Sum, Difference, Scalar Product
00280 inline OBAPI vector3 operator+ ( const vector3& v1, const vector3& v2)
00281 {
00282 return vector3(v1.x()+v2.x(), v1.y()+v2.y(), v1.z()+v2.z());
00283 }
00285 inline OBAPI vector3 operator- ( const vector3& v1, const vector3& v2)
00286 {
00287 return vector3(v1.x()-v2.x(), v1.y()-v2.y(), v1.z()-v2.z());
00288 }
00290 inline OBAPI vector3 operator- ( const vector3& v)
00291 {
00292 return vector3(-v.x(), -v.y(), -v.z());
00293 }
00295 inline OBAPI vector3 operator* ( const double& c, const vector3& v)
00296 {
00297 return vector3( c*v.x(), c*v.y(), c*v.z());
00298 }
00300 inline OBAPI vector3 operator* ( const vector3& v, const double& c)
00301 {
00302 return vector3( c*v.x(), c*v.y(), c*v.z());
00303 }
00305 inline OBAPI vector3 operator/ ( const vector3& v, const double& c)
00306 {
00307 return vector3( v.x()/c, v.y()/c, v.z()/c);
vector3.h 1882
Open Babel: API Documentation
00308 }
00309 // @removed@ misleading operation
00310 // friend vector3 operator* ( const vector3 &,const vector3 &);
00311
00312 //vector and matrix ops
00313 // @removed@ misleading operation; matrix multiplication is not commutitative
00314 // friend vector3 operator *(const vector3 &v,const matrix3x3 &m);
00315
00317 OBAPI vector3 operator *(const matrix3x3 &m, const vector3 &v);
00318
00320 inline OBAPI double dot ( const vector3& v1, const vector3& v2 )
00321 {
00322 return v1.x()*v2.x() + v1.y()*v2.y() + v1.z()*v2.z() ;
00323 }
00325 OBAPI vector3 cross ( const vector3&, const vector3& );
00326
00328 OBAPI double vectorAngle ( const vector3& v1, const vector3& v2 );
00329
00331 OBAPI double CalcTorsionAngle(const vector3 &a, const vector3 &b,
00332 const vector3 &c, const vector3 &d);
00333
00335 OBAPI double Point2Plane(vector3 a, vector3 b, vector3 c, vector3 d);
00337 OBAPI double Point2PlaneAngle(const vector3 a, const vector3 b, const vector3 c, const
00338
00339 // The global constant vector3 objects
00341 extern OBAPI const vector3 VZero;
00343 extern OBAPI const vector3 VX;
00345 extern OBAPI const vector3 VY;
00347 extern OBAPI const vector3 VZ;
00348
00349 }
00350
00351 #endif // OB_VECTOR_H
00352
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
vector3.h 1883
vector3.h File Reference
Handle 3D coordinates. More...
#include <ostream>
#include <math.h>
#include <iostream>
#include <openbabel/rand.h>
This graph shows which files directly or indirectly include this file:
Namespaces
namespace OpenBabel
Classes
class vector3
Represents a vector in 3-dimensional real space. More...
Defines
#define RAD_TO_DEG (180.0/M_PI)
#define DEG_TO_RAD (M_PI/180.0)
Functions
std::ostream & operator<< (std::ostream &, const vector3 &)
vector3 operator+ (const vector3 &v1, const vector3 &v2)
vector3 operator- (const vector3 &v1, const vector3 &v2)
vector3 operator- (const vector3 &v)
vector3 operator* (const double &c, const vector3 &v)
vector3 operator* (const vector3 &v, const double &c)
vector3 operator/ (const vector3 &v, const double &c)
vector3 operator* (const matrix3x3 &m, const vector3 &v)
double dot (const vector3 &v1, const vector3 &v2)
vector3 cross (const vector3 &, const vector3 &)
double vectorAngle (const vector3 &v1, const vector3 &v2)
double CalcTorsionAngle (const vector3 &a, const vector3 &b, const vector3 &c, const vector3 &d)
double Point2Plane (vector3 a, vector3 b, vector3 c, vector3 d)
double Point2PlaneAngle (const vector3 a, const vector3 b, const vector3 c, const vector3 d)
Variables
const vector3 VZero
const vector3 VX
const vector3 VY
const vector3 VZ
Detailed Description
Handle 3D coordinates.
Define Documentation
Defines 1885
Open Babel: API Documentation
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
00001 /**********************************************************************
00002 xml.h Declaration of XMLConversion,
00003 declaration and definition of XMLBaseFormat and XMLMoleculeFormat
00004 Copyright (C) 2005-2006 by Chris Morley
00005
00006 This program is free software; you can redistribute it and/or modify
00007 it under the terms of the GNU General Public License as published by
00008 the Free Software Foundation version 2 of the License.
00009
00010 This program is distributed in the hope that it will be useful,
00011 but WITHOUT ANY WARRANTY; without even the implied warranty of
00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00013 GNU General Public License for more details.
00014 ***********************************************************************/
00015
00016 #include <openbabel/mol.h>
00017 #include <openbabel/obconversion.h>
00018 #include <openbabel/obmolecformat.h>
00019
00020 #include <libxml/xmlreader.h>
00021 #include <libxml/xmlwriter.h>
00022 #include <typeinfo>
00023
00024 namespace OpenBabel
00025 {
00026
00027
00028 //forward declaration
00029 class XMLBaseFormat;
00030
00031 //******************************************************
00048 class XMLConversion : public OBConversion
00049 {
00050 public:
00052 XMLConversion(OBConversion* pConv);
00053
00055 ~XMLConversion();
00056
00057 bool SetupReader();
00058 bool SetupWriter();
00059
00061 bool ReadXML(XMLBaseFormat* pFormat, OBBase* pOb);
00062
00065 int SkipXML(const char* ctag);
00066
00067 typedef std::map<std::string, XMLBaseFormat*> NsMapType;
00068
00071 static NsMapType& Namespaces()
00072 {
00073 static NsMapType* nsm = NULL;
00074 if (!nsm)
00075 nsm = new NsMapType;
00076 return *nsm;
00077 };
00078
xml.h 1887
Open Babel: API Documentation
00079 static void RegisterXMLFormat(XMLBaseFormat* pFormat,
00080 bool IsDefault=false, const char* uri=NULL);
00081
00083 static XMLConversion* GetDerived(OBConversion* pConv, bool ForReading=true);
00084
00087 bool IsLast()
00088 { return _pConv->IsLast(); }
00089 int GetOutputIndex()
00090 { return _pConv->GetOutputIndex(); }
00091
00092
00093 xmlTextReaderPtr GetReader() const
00094 { return _reader; };
00095
00096 xmlTextWriterPtr GetWriter() const
00097 { return _writer; };
00098
00099 void OutputToStream()
00100 {
00101 xmlOutputBufferFlush(_buf);
00102 }
00103
00104 static XMLBaseFormat* GetDefaultXMLClass() //TODO make dependent on object type
00105 { return _pDefault;};
00106
00107 void LookForNamespace()
00108 { _LookingForNamespace = true; };
00109
00111 static int ReadStream(void * context, char * buffer, int len);
00112 static int WriteStream(void * context, const char * buffer, int len);
00113 //static int CloseStream(void* context);
00114
00115 std::string GetAttribute(const char* attrname);
00116
00118 std::string GetContent();
00119
00121 bool GetContentInt(int& value);
00122
00124 bool GetContentDouble(double& value);
00125
00126 private:
00127 static XMLBaseFormat* _pDefault;
00128 OBConversion* _pConv;
00129 std::streampos _requestedpos, _lastpos;
00130 xmlTextReaderPtr _reader;
00131 xmlTextWriterPtr _writer;
00132 xmlOutputBufferPtr _buf;
00133 // xmlBufferPtr _buf;
00134 bool _LookingForNamespace;
00135 public:
00136 bool _SkipNextRead;
00137 };
00138
00139 //*************************************************
00142 class XMLBaseFormat : public OBFormat
00143 {
00144 protected:
00145 XMLConversion* _pxmlConv;
00146
00147 //formating for output
00148 std::string _prefix;
xml.h 1888
Open Babel: API Documentation
00149 int baseindent, ind;
00150 std::string nsdecl;
00151 int _embedlevel;
00152
00153 public:
00154 ~XMLBaseFormat(){}
00155 virtual const char* NamespaceURI()const=0;
00156 virtual bool DoElement(const std::string& ElName){return false;};
00157 virtual bool EndElement(const std::string& ElName){return false;};
00159 virtual const char* EndTag(){return ">";};
00160
00161 protected:
00162 xmlTextReaderPtr reader() const
00163 {
00164 return _pxmlConv->GetReader();
00165 }
00166
00167 xmlTextWriterPtr writer() const
00168 {
00169 return _pxmlConv->GetWriter();
00170 }
00171
00172 void OutputToStream()
00173 {
00174 _pxmlConv->OutputToStream();
00175 }
00176
00179 virtual int SkipObjects(int n, OBConversion* pConv)
00180 {
00181 //don't implement on base class
00182 if(*EndTag()=='>')
00183 return 0;
00184
00185 //Set up XMLConversion class with reader
00186 _pxmlConv = XMLConversion::GetDerived(pConv,true);
00187 if(!_pxmlConv)
00188 return -1;
00189
00190 //always find the end of at least 1 object
00191 if(n==0)++n;
00192
00193 //Skip n objects, returning -1 if not successful
00194 int i;
00195 for(i=0; i<n; ++i)
00196 if(_pxmlConv->SkipXML(EndTag())!=1)
00197 return -1;
00198
00199 return 1;
00200 }
00201
00202 };
00203
00204 //*************************************************
00207 class XMLMoleculeFormat : public XMLBaseFormat
00208 {
00209 protected:
00210 OBMol* _pmol;
00211
00212 public:
00213 ~XMLMoleculeFormat(){}
00214 virtual bool ReadChemObject(OBConversion* pConv)
xml.h 1889
Open Babel: API Documentation
00215 {
00216 return OBMoleculeFormat::ReadChemObjectImpl(pConv, this);
00217 };
00218
00219 virtual bool WriteChemObject(OBConversion* pConv)
00220 {
00221 return OBMoleculeFormat::WriteChemObjectImpl(pConv, this);
00222 };
00223
00224 virtual bool ReadMolecule(OBBase* pOb, OBConversion* pConv)
00225 {
00226 _pmol = dynamic_cast<OBMol*>(pOb);
00227 if(!_pmol)
00228 return false;
00229
00230 _pxmlConv = XMLConversion::GetDerived(pConv,true);
00231 if(!_pxmlConv)
00232 return false;
00233 _embedlevel = -1;
00234 return _pxmlConv->ReadXML(this,pOb);
00235 };
00236
00237 const std::type_info& GetType()
00238 {
00239 return typeid(OBMol*);
00240 };
00241
00242 };
00243
00244
00245 }//namespace
00246
This file is part of the documentation for Open Babel, version 2.2.0.
• Main Page
• Related Pages
• Namespaces
• Classes
• Files
xml.h 1890
xml.h File Reference
Declaration of XMLConversion, declaration and definition of XMLBaseFormat and XMLMoleculeFormat.
More...
#include <openbabel/mol.h>
#include <openbabel/obconversion.h>
#include <openbabel/obmolecformat.h>
#include <libxml/xmlreader.h>
#include <libxml/xmlwriter.h>
#include <typeinfo>
Namespaces
namespace OpenBabel
Classes
class XMLConversion
A subclass for conversion of XML formats. More...
class XMLBaseFormat
Abstract class containing common functionality for XML formats. More...
class XMLMoleculeFormat
Abstract class for XML formats which represent molecules. More...
Detailed Description
Declaration of XMLConversion, declaration and definition of XMLBaseFormat and XMLMoleculeFormat.
This file is part of the documentation for Open Babel, version 2.2.0.