openbabel  3.1.1
About: Open Babel is a chemical toolbox designed to speak the many languages of chemical data. It’s an open, collaborative project allowing anyone to search, convert, analyze, or store data from molecular modeling, chemistry, solid-state materials, biochemistry, or related areas.
  Fossies Dox: openbabel-3.1.1-source.tar.bz2  ("unofficial" and yet experimental doxygen-generated source code documentation)  

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:

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:


Arbitrary Data:


  • 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