RDKit
Open-source cheminformatics and machine learning.
UFF/AtomTyper.h
Go to the documentation of this file.
1 //
2 // Copyright (C) 2004-2006 Rational Discovery LLC
3 //
4 // @@ All Rights Reserved @@
5 // This file is part of the RDKit.
6 // The contents are covered by the terms of the BSD license
7 // which is included in the file license.txt, found at the root
8 // of the RDKit source tree.
9 //
10 #include <RDGeneral/export.h>
11 #ifndef _RD_UFFATOMTYPER_H__
12 #define _RD_UFFATOMTYPER_H__
13 
14 #include <vector>
15 #include <string>
16 #include <ForceField/UFF/Params.h>
17 
18 namespace ForceFields {
19 namespace UFF {
20 class AtomicParams;
21 }
22 }
23 namespace RDKit {
24 class ROMol;
25 class Atom;
26 
27 namespace UFF {
28 typedef std::vector<const ForceFields::UFF::AtomicParams *> AtomicParamVect;
29 
30 RDKIT_FORCEFIELDHELPERS_EXPORT std::pair<AtomicParamVect, bool> getAtomTypes(
31  const ROMol &mol, const std::string &paramData = "");
32 RDKIT_FORCEFIELDHELPERS_EXPORT bool getUFFBondStretchParams(const ROMol &mol, unsigned int idx1,
33  unsigned int idx2,
34  ForceFields::UFF::UFFBond &uffBondStretchParams);
35 RDKIT_FORCEFIELDHELPERS_EXPORT bool getUFFAngleBendParams(const ROMol &mol, unsigned int idx1,
36  unsigned int idx2, unsigned int idx3,
37  ForceFields::UFF::UFFAngle &uffAngleBendParams);
38 RDKIT_FORCEFIELDHELPERS_EXPORT bool getUFFTorsionParams(const ROMol &mol, unsigned int idx1, unsigned int idx2,
39  unsigned int idx3, unsigned int idx4,
40  ForceFields::UFF::UFFTor &uffTorsionParams);
41 RDKIT_FORCEFIELDHELPERS_EXPORT bool getUFFInversionParams(const ROMol &mol, unsigned int idx1,
42  unsigned int idx2, unsigned int idx3,
43  unsigned int idx4,
44  ForceFields::UFF::UFFInv &uffInversionParams);
45 RDKIT_FORCEFIELDHELPERS_EXPORT bool getUFFVdWParams(const ROMol &mol, unsigned int idx1, unsigned int idx2,
46  ForceFields::UFF::UFFVdW &uffVdWParams);
47 
48 namespace Tools {
49 // these functions are primarily exposed so they can be tested.
50 RDKIT_FORCEFIELDHELPERS_EXPORT void addAtomChargeFlags(const Atom *atom, std::string &atomKey,
51  bool tolerateChargeMismatch = true);
52 RDKIT_FORCEFIELDHELPERS_EXPORT std::string getAtomLabel(const Atom *atom);
53 }
54 }
55 }
56 
57 #endif
class to store atomic parameters for the Universal Force Field
Definition: UFF/Params.h:72
RDKIT_FORCEFIELDHELPERS_EXPORT bool getUFFVdWParams(const ROMol &mol, unsigned int idx1, unsigned int idx2, ForceFields::UFF::UFFVdW &uffVdWParams)
RDKIT_FORCEFIELDHELPERS_EXPORT bool getUFFAngleBendParams(const ROMol &mol, unsigned int idx1, unsigned int idx2, unsigned int idx3, ForceFields::UFF::UFFAngle &uffAngleBendParams)
RDKIT_FORCEFIELDHELPERS_EXPORT bool getUFFInversionParams(const ROMol &mol, unsigned int idx1, unsigned int idx2, unsigned int idx3, unsigned int idx4, ForceFields::UFF::UFFInv &uffInversionParams)
RDKIT_FORCEFIELDHELPERS_EXPORT void addAtomChargeFlags(const Atom *atom, std::string &atomKey, bool tolerateChargeMismatch=true)
RDKIT_FORCEFIELDHELPERS_EXPORT bool getUFFBondStretchParams(const ROMol &mol, unsigned int idx1, unsigned int idx2, ForceFields::UFF::UFFBond &uffBondStretchParams)
RDKIT_FORCEFIELDHELPERS_EXPORT std::string getAtomLabel(const Atom *atom)
std::string paramData
RDKIT_FORCEFIELDHELPERS_EXPORT bool getUFFTorsionParams(const ROMol &mol, unsigned int idx1, unsigned int idx2, unsigned int idx3, unsigned int idx4, ForceFields::UFF::UFFTor &uffTorsionParams)
RDKIT_FORCEFIELDHELPERS_EXPORT std::pair< AtomicParamVect, bool > getAtomTypes(const ROMol &mol, const std::string &paramData="")
class to store UFF parameters for van der Waals interactions
Definition: UFF/Params.h:65
Std stuff.
Definition: Atom.h:30
class to store UFF parameters for bond stretching
Definition: UFF/Params.h:39
std::vector< const ForceFields::UFF::AtomicParams * > AtomicParamVect
Definition: UFF/AtomTyper.h:28
class to store UFF parameters for angle bending
Definition: UFF/Params.h:46
class to store UFF parameters for inversions
Definition: UFF/Params.h:59
#define RDKIT_FORCEFIELDHELPERS_EXPORT
Definition: export.h:255
class to store UFF parameters for torsions
Definition: UFF/Params.h:53
The class for representing atoms.
Definition: Atom.h:69