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>

Go to the source code of this file.

Classes

class  OBMol
 Molecule Class. More...
struct  max_value< T, size >
 a C++ template to return the maximum value of a type (e.g., int) More...
struct  max_value< T, 0 >
 a C++ template to return the maximum value of a type (e.g., int) More...

Namespaces

namespace  OpenBabel
namespace  OpenBabel::detail

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_PATTERN_STRUCTURE   (1<<19)
#define OB_LSSR_MOL   (1<<20)
#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
OBMessageHandler obErrorLog
OBResidueData resdat
static const unsigned long NoId = detail::max_value<unsigned long>::result

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::AddHydrogens(), OBMol::HasSSSRPerceived(), OBMol::RenumberAtoms(), 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(), OBMol::operator=(), 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::operator=(), 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_PATTERN_STRUCTURE   (1<<19)

A pattern, not a complete molecule.

Referenced by OBMol::AssignSpinMultiplicity(), OBMol::Clear(), OBMol::operator=(), and OBMol::SetIsPatternStructure().

#define OB_LSSR_MOL   (1<<20)

Largest Set of Smallest Rings (LSSR) done. See OBRing and OBMol::FindLSSR.

Referenced by OBMol::HasLSSRPerceived(), OBMol::RenumberAtoms(), and OBMol::SetLSSRPerceived().

#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 IsUnsatType (   x )    (EQ(x,"Car") || EQ(x,"C2") || EQ(x,"Sox") || EQ(x,"Sac") || EQ(x,"Pac") || EQ(x,"So2"))
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines