Open Babel: mol.h File Reference

Classes | Namespaces | Defines | Functions | Variables

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

Aromatic flags have been set for atoms and bonds.

Referenced by OBMol::AddHydrogens(), OBMol::HasAromaticPerceived(), OBMol::PerceiveBondOrders(), OBMol::SetAromaticPerceived(), and OBMol::UnsetAromaticPerceived().

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

Partial charges have been set or percieved.

Referenced by OBMol::AddHydrogens(), OBMol::HasPartialChargesPerceived(), OBMol::SetPartialChargesPerceived(), and OBMol::UnsetPartialChargesPerceived().

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

Implicit valence has been set. See OBAtomTyper.

Referenced by OBMol::HasImplicitValencePerceived(), OBMol::PerceiveBondOrders(), OBMol::SetImplicitValencePerceived(), and OBMol::UnsetImplicitValencePerceived().

#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 BUFF_SIZE 32768

Referenced by patty::assign_rules(), OBForceField::ConjugateGradientsInitialize(), OBForceField::ConjugateGradientsTakeNSteps(), OBForceField::DistanceGeometry(), OBElementTable::GetAtomicNum(), OBRotorRules::GetRotorIncrements(), OBGlobalDataBase::Init(), OBBuilder::LoadFragments(), OBAromaticTyper::ParseLine(), OBRotorRules::ParseLine(), OBForceField::PrintFormalCharges(), OBForceField::PrintPartialCharges(), OBForceField::PrintTypes(), OBForceField::PrintVelocities(), OBForceField::RandomRotorSearchInitialize(), OBForceField::RandomRotorSearchNextConformer(), patty::read_rules(), OBRotorList::Setup(), OBForceField::SteepestDescentInitialize(), OBForceField::SteepestDescentTakeNSteps(), OBForceField::SystematicRotorSearchInitialize(), OBForceField::SystematicRotorSearchNextConformer(), OBForceField::ValidateConjugateGradients(), OBForceField::ValidateSteepestDescent(), and OBForceField::WeightedRotorSearch().

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

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

Referenced by OBRingTyper::ParseLine(), OBAtomTyper::ParseLine(), OBRotorRules::ParseLine(), and OBPhModel::ParseLine().

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

Referenced by OpenBabel::calc_rms(), OBRotor::CalcBondLength(), OBRotor::CalcTorsion(), matrix3x3::FillOrth(), OBBond::GetLength(), OpenBabel::MinimumPairRMS(), OBRotor::SetRotor(), OpenBabel::SetRotorToAngle(), OBMol::SetTorsion(), and OBProxGrid::Setup().

#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