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(
30  const ROMol &mol, const std::string &paramData = "");
31 bool getUFFBondStretchParams(const ROMol &mol, unsigned int idx1,
32  unsigned int idx2,
33  ForceFields::UFF::UFFBond &uffBondStretchParams);
34 bool getUFFAngleBendParams(const ROMol &mol, unsigned int idx1,
35  unsigned int idx2, unsigned int idx3,
36  ForceFields::UFF::UFFAngle &uffAngleBendParams);
37 bool getUFFTorsionParams(const ROMol &mol, unsigned int idx1, unsigned int idx2,
38  unsigned int idx3, unsigned int idx4,
39  ForceFields::UFF::UFFTor &uffTorsionParams);
40 bool getUFFInversionParams(const ROMol &mol, unsigned int idx1,
41  unsigned int idx2, unsigned int idx3,
42  unsigned int idx4,
43  ForceFields::UFF::UFFInv &uffInversionParams);
44 bool getUFFVdWParams(const ROMol &mol, unsigned int idx1, unsigned int idx2,
45  ForceFields::UFF::UFFVdW &uffVdWParams);
46 
47 namespace Tools {
48 // these functions are primarily exposed so they can be tested.
49 void addAtomChargeFlags(const Atom *atom, std::string &atomKey,
50  bool tolerateChargeMismatch = true);
51 std::string getAtomLabel(const Atom *atom);
52 }
53 }
54 }
55 
56 #endif
class to store atomic parameters for the Universal Force Field
Definition: UFF/Params.h:71
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:103
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:64
void addAtomChargeFlags(const Atom *atom, std::string &atomKey, bool tolerateChargeMismatch=true)
Std stuff.
Definition: Atom.h:29
class to store UFF parameters for bond stretching
Definition: UFF/Params.h:38
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:45
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:58
std::pair< AtomicParamVect, bool > getAtomTypes(const ROMol &mol, const std::string &paramData="")
class to store UFF parameters for torsions
Definition: UFF/Params.h:52
The class for representing atoms.
Definition: Atom.h:68