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 |
Handle molecules. Declarations of OBMol, OBAtom, OBBond, OBResidue. (the main header for Open Babel)
#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)) |
#define IsUnsatType | ( | x ) | (EQ(x,"Car") || EQ(x,"C2") || EQ(x,"Sox") || EQ(x,"Sac") || EQ(x,"Pac") || EQ(x,"So2")) |