Open Babel: Classes Overview

# Classes Overview

Chemical Storage and Manipulation:

- OBBase - General base class of OBAtom, OBMol, OBResidue, etc. for storing generic, arbitrary custom data
  - OBMol - Central molecule class, properties, ...
  - OBAtom - Central atom class, properties, coordinates, ...
  - OBBond - Bond connection between two OBAtom, properties, bond orders, ...
  - OBResidue - Biomolecule residues (amino acids, nucleic acids)
  - OBReaction - Used to store chemical reactions (i.e., reactants -> products)
  - OBGrid - A base grid class (e.g., 3D functions like electrostatic potential, evaluated on a grid)
  - OBText - An object containing just text
- OBRing - Ring cycle perception, Smallest Set of Smallest Rings (SSSR), Largest Set of Smallest Rings (LSSR)

Import / Export:

- OBConversion - Conversion between file formats. Interface for import or export
- OBFormat - Parent class for file format types for any sort of data

Chemical Utilities:

- OBFingerprint - Generating molecular fingerprints for databases and similarity searches
- OBForceField - Molecular mechanics force fields for energy evaluation, conformational searching, coordinate generation, etc.
- OBChemTsfm - SMARTS based structural modification (chemical transformation)

Substructure Searching:

- OBSmartsPattern - Parsing SMARTS chemical search patterns and matching against OBMol objects
- OBQuery
- OBQueryAtom
- OBQueryBond
- OBIsomorphismMapper

Utility Classes:

- OBBitVec - Efficient bit vector (e.g., for marking visit to atoms)
- OBMessageHandler - Error and warning handling, filtering, and logging
- OBRandom - Random number generator
- OBStopwatch - Stopwatch class used for timing length of execution
- OBSqrtTbl - Square Root lookup table - given a distance squared returns distance

Coordinate Manipulation:

- OBBuilder - 3D structure generation
- OBAlign - Kabsch alignment
- OBInternalCoord - Internal coordinates
- OBConformerSearch - Conformer searching using genetic algorithm
- OBRotorList - Class for detecting rotatable bonds
- OBRotamerList - Supports a set of rotamer coordinate sets for some number of potentially rotatable bonds

Stereochemistry:

- OBStereo
- OBStereoBase
  - OBTetraNonPlanarStereo
    - OBTetrahedralStereo
  - OBTetraPlanarStereo
    - OBCisTransStereo
    - OBSquarePlanarStereo
- OBStereoFacade

Arbitrary Data:

- OBGenericData - General base class for arbitrary data types
  - OBPairData - Arbitrary text key/value data
  - OBPairTemplate - Arbitrary T key/value data
  - OBUnitCell - Storage and manipulation of crystal structure / reciprocal unit cells
  - AliasData, OBAngleData, OBAtomClassData, OBChiralData, OBCommentData, OBConformerData, OBDOSData, OBElectronicTransitionData, OBExternalBondData, OBGridData, OBMatrixData, OBNasaThermoData, OBOrbitalEnergyData, OBPairData, OBRateData, OBRingData, OBRotamerList, OBRotationData, OBSerialNums, OBSetData, OBStereoBase, OBSymmetryData, OBTorsionData, OBUnitCell, OBVectorData, OBVibrationData, OBVirtualBond

Plugins:

- OBPlugin
  - OBChargeModel - assign partial (and formal) charges to a molecule
  - OBDescriptor - molecular properties, descriptors or features for filtering or searching
  - OBFingerprint - condensed representations of molecules as a set of bits
  - OBForceField - implementation of molecular mechanics force field methods
  - OBFormat - file formats for chemical data
  - OBOp - operation for modifying a molecule or file (e.g., adding hydrogens)

Math Utilities:

- matrix3x3 - Square 3x3 matrices for 3D transformations and rotations
- vector3 - 3D vector class for translations and planes

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines