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 <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>

Include dependency graph for mol.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of 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_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

bool tokenize (std::vector< std::string > &, const char *buf, const char *delimstr=" \t\n")
bool tokenize (std::vector< std::string > &, std::string &, const char *delimstr=" \t\n", int limit=-1)
std::string & Trim (std::string &txt)
void ThrowError (const 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])
double superimpose (double *, double *, int)

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

#define OB_SSSR_MOL   (1<<1)

Smallest Set of Smallest Rings (SSSR) done. See OBRing and OBMol::FindSSSR.

#define OB_RINGFLAGS_MOL   (1<<2)

Ring flags have been set: See OBRing::FindRingAtomsAndBonds.

#define OB_AROMATIC_MOL   (1<<3)

Aromatic flags have been set for atoms and bonds.

#define OB_ATOMTYPES_MOL   (1<<4)

Atom typing has been performed. See OBAtomTyper.

#define OB_CHIRALITY_MOL   (1<<5)

Chirality detection has been performed. See OBMol::IsChiral.

#define OB_PCHARGE_MOL   (1<<6)

Partial charges have been set or percieved.

#define OB_HYBRID_MOL   (1<<8)

Atom hybridizations have been set. See OBAtomTyper.

#define OB_IMPVAL_MOL   (1<<9)

Implicit valence has been set. See OBAtomTyper.

#define OB_KEKULE_MOL   (1<<10)

Kekule form has been set. See OBMol::Kekulize.

#define OB_CLOSURE_MOL   (1<<11)

Ring "closure" bonds have been set. See OBBond::IsClosure.

#define OB_H_ADDED_MOL   (1<<12)

Hyrdogen atoms have been added where needed. See OBMol::AddHydrogens.

#define OB_PH_CORRECTED_MOL   (1<<13)

pH correction for hydrogen addition has been performed.

#define OB_AROM_CORRECTED_MOL   (1<<14)

Aromaticity has been corrected. See OBAtomTyper::CorrectAromaticNitrogens.

#define OB_CHAINS_MOL   (1<<15)

Biomolecular chains and residues have been set. See OBChainsParser.

#define OB_TCHARGE_MOL   (1<<16)

Total charge on this molecule has been set. See OBMol::SetTotalCharge.

#define OB_TSPIN_MOL   (1<<17)

Total spin on this molecule has been set. See OBMol::SetTotalSpinMultiplicity.

#define OB_CURRENT_CONFORMER   -1

#define BUFF_SIZE   32768

#define EQ ( a,
 )     (!strcmp((a), (b)))

#define EQn ( a,
b,
 )     (!strncmp((a), (b), (n)))

#define SQUARE (  )     ((x)*(x))

#define IsUnsatType (  )     (EQ(x,"Car") || EQ(x,"C2") || EQ(x,"Sox") || EQ(x,"Sac") || EQ(x,"Pac") || EQ(x,"So2"))