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:

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_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])
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.

Referenced by OBMol::HasSSSRPerceived(), OBMol::SetSSSRPerceived(), OBMol::StripSalts(), and OBMol::UnsetSSSRPerceived().

#define OB_RINGFLAGS_MOL   (1<<2)

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

Referenced by OBMol::FindRingAtomsAndBonds(), OBMol::HasRingAtomsAndBondsPerceived(), and OBMol::SetRingAtomsAndBondsPerceived().

#define OB_AROMATIC_MOL   (1<<3)

#define OB_ATOMTYPES_MOL   (1<<4)

Atom typing has been performed. See OBAtomTyper.

Referenced by OBMol::AddHydrogens(), OBMol::HasAtomTypesPerceived(), OBMol::PerceiveBondOrders(), and OBMol::SetAtomTypesPerceived().

#define OB_CHIRALITY_MOL   (1<<5)

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

Referenced by OBMol::HasChiralityPerceived(), and OBMol::SetChiralityPerceived().

#define OB_PCHARGE_MOL   (1<<6)

#define OB_HYBRID_MOL   (1<<8)

Atom hybridizations have been set. See OBAtomTyper.

Referenced by OBMol::HasHybridizationPerceived(), OBMol::PerceiveBondOrders(), and OBMol::SetHybridizationPerceived().

#define OB_IMPVAL_MOL   (1<<9)

#define OB_KEKULE_MOL   (1<<10)

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

Referenced by OBMol::HasKekulePerceived(), OBMol::PerceiveBondOrders(), and OBMol::SetKekulePerceived().

#define OB_CLOSURE_MOL   (1<<11)

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

Referenced by OBMol::HasClosureBondsPerceived(), and OBMol::SetClosureBondsPerceived().

#define OB_H_ADDED_MOL   (1<<12)

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

Referenced by OBMol::HasHydrogensAdded(), OBMol::SetHydrogensAdded(), and OBMol::UnsetHydrogensAdded().

#define OB_PH_CORRECTED_MOL   (1<<13)

pH correction for hydrogen addition has been performed.

Referenced by OBMol::IsCorrectedForPH(), and OBMol::SetCorrectedForPH().

#define OB_AROM_CORRECTED_MOL   (1<<14)

Aromaticity has been corrected. See OBAtomTyper::CorrectAromaticNitrogens.

Referenced by OBMol::HasAromaticCorrected(), and OBMol::SetAromaticCorrected().

#define OB_CHAINS_MOL   (1<<15)

Biomolecular chains and residues have been set. See OBChainsParser.

Referenced by OBMol::HasChainsPerceived(), and OBMol::SetChainsPerceived().

#define OB_TCHARGE_MOL   (1<<16)

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

Referenced by OBMol::GetTotalCharge(), and OBMol::SetTotalCharge().

#define OB_TSPIN_MOL   (1<<17)

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

Referenced by OBMol::GetTotalSpinMultiplicity(), OBMol::HasSpinMultiplicityAssigned(), OBMol::SetSpinMultiplicityAssigned(), and OBMol::SetTotalSpinMultiplicity().

#define OB_RINGTYPES_MOL   (1<<18)

Ring typing has been performed. See OBRingTyper.

Referenced by OBMol::HasRingTypesPerceived(), OBMol::SetRingTypesPerceived(), and OBMol::UnsetRingTypesPerceived().

#define OB_CURRENT_CONFORMER   -1

Referenced by OBMol::Rotate(), and OBMol::Translate().

#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"))