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 #ifndef _RD_UFFATOMTYPER_H__
11 #define _RD_UFFATOMTYPER_H__
12 
13 #include <vector>
14 #include <string>
15 #include <ForceField/UFF/Params.h>
16 
17 namespace ForceFields {
18  namespace UFF {
19  class AtomicParams;
20  }
21 }
22 namespace RDKit {
23  class ROMol;
24  class Atom;
25 
26  namespace UFF {
27  typedef std::vector<const ForceFields::UFF::AtomicParams *> AtomicParamVect;
28 
29  std::pair<AtomicParamVect,bool> getAtomTypes(const ROMol &mol,const std::string &paramData="");
30  bool getUFFBondStretchParams(const ROMol &mol, unsigned int idx1,
31  unsigned int idx2, ForceFields::UFF::UFFBond &uffBondStretchParams);
32  bool getUFFAngleBendParams(const ROMol &mol, unsigned int idx1,
33  unsigned int idx2, unsigned int idx3, ForceFields::UFF::UFFAngle &uffAngleBendParams);
34  bool getUFFTorsionParams(const ROMol &mol, unsigned int idx1, unsigned int idx2,
35  unsigned int idx3, unsigned int idx4, ForceFields::UFF::UFFTor &uffTorsionParams);
36  bool getUFFInversionParams(const ROMol &mol, unsigned int idx1, unsigned int idx2,
37  unsigned int idx3, unsigned int idx4, ForceFields::UFF::UFFInv &uffInversionParams);
38  bool getUFFVdWParams(const ROMol &mol, unsigned int idx1,
39  unsigned int idx2, ForceFields::UFF::UFFVdW &uffVdWParams);
40 
41  namespace Tools {
42  // these functions are primarily exposed so they can be tested.
43  void addAtomChargeFlags(const Atom *atom,std::string &atomKey,
44  bool tolerateChargeMismatch=true);
45  std::string getAtomLabel(const Atom *atom);
46  }
47 
48  }
49 }
50 
51 
52 #endif
class to store atomic parameters for the Universal Force Field
Definition: UFF/Params.h:72
bool getUFFVdWParams(const ROMol &mol, unsigned int idx1, unsigned int idx2, ForceFields::UFF::UFFVdW &uffVdWParams)
std::string getAtomLabel(const Atom *atom)
bool getUFFAngleBendParams(const ROMol &mol, unsigned int idx1, unsigned int idx2, unsigned int idx3, ForceFields::UFF::UFFAngle &uffAngleBendParams)
ROMol is a molecule class that is intended to have a fixed topology.
Definition: ROMol.h:105
std::string paramData
std::pair< AtomicParamVect, bool > getAtomTypes(const ROMol &mol, const std::string &paramData="")
bool getUFFInversionParams(const ROMol &mol, unsigned int idx1, unsigned int idx2, unsigned int idx3, unsigned int idx4, ForceFields::UFF::UFFInv &uffInversionParams)
class to store UFF parameters for van der Waals interactions
Definition: UFF/Params.h:65
void addAtomChargeFlags(const Atom *atom, std::string &atomKey, bool tolerateChargeMismatch=true)
Includes a bunch of functionality for handling Atom and Bond queries.
Definition: Atom.h:28
class to store UFF parameters for bond stretching
Definition: UFF/Params.h:39
std::vector< const ForceFields::UFF::AtomicParams * > AtomicParamVect
Definition: UFF/AtomTyper.h:27
bool getUFFBondStretchParams(const ROMol &mol, unsigned int idx1, unsigned int idx2, ForceFields::UFF::UFFBond &uffBondStretchParams)
class to store UFF parameters for angle bending
Definition: UFF/Params.h:46
bool getUFFTorsionParams(const ROMol &mol, unsigned int idx1, unsigned int idx2, unsigned int idx3, unsigned int idx4, ForceFields::UFF::UFFTor &uffTorsionParams)
class to store UFF parameters for inversions
Definition: UFF/Params.h:59
class to store UFF parameters for torsions
Definition: UFF/Params.h:53
The class for representing atoms.
Definition: Atom.h:67