Scine::Swoose  2.1.0
This is the SCINE module Swoose.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
TitrationHelper.h
Go to the documentation of this file.
1 
8 #ifndef PDBPREPARATION_TITRATIONHELPER_H
9 #define PDBPREPARATION_TITRATIONHELPER_H
10 
11 #include <Eigen/Dense>
12 #include <memory>
13 #include <string>
14 #include <vector>
15 
16 namespace Scine {
17 namespace Utils {
18 class Atom;
19 class Settings;
20 class AtomCollection;
21 } // namespace Utils
22 
23 namespace Core {
24 struct Log;
25 }
26 
27 namespace StructurePreparation {
28 struct TitrableSite;
29 } // namespace StructurePreparation
30 
31 namespace MMParametrization {
32 struct TrainingData;
33 struct TitrationResults;
34 
35 // TODO: divide this class to protonator and protonation helper
36 
38  public:
39  TitrationHelper(std::shared_ptr<Utils::Settings>& settings);
50  Utils::AtomCollection changeProtonationState(const Utils::AtomCollection& refStructure, std::string residueName,
51  bool isBase, int indexOfCriticalAtom, std::vector<int> superfluousHydrogens);
52  // Collects tr
53  void collectTrainingData(TitrationResults& results);
54  static void calculateFreeEnergiesOfDeprotonation(TitrationResults& results);
55 
56  double getModelPka(const std::string& residueName);
57 
58  private:
59  double getPkaOfTrainingMolecule(std::string dataDirectory);
60  double getEnergyOfDeprotonationForTrainingMolecule(std::string dataDirectory);
61 
62  // The settings
63  std::shared_ptr<Utils::Settings>& settings_;
64 
65  const std::vector<std::string> availableFunctionalGroups_ = {"Phenol", "Alcohol", "NH3", "SH", "Imidazole", "COOH"};
66 };
67 } // namespace MMParametrization
68 } // namespace Scine
69 
70 #endif // PDBPREPARATION_TITRATIONHELPER_H
Utils::AtomCollection changeProtonationState(const Utils::AtomCollection &refStructure, std::string residueName, bool isBase, int indexOfCriticalAtom, std::vector< int > superfluousHydrogens)
Changes the protonation state of a pH sensitive site in a fragment during the parametrization.
Definition: TitrationHelper.cpp:26
Definition: ParametrizationData.h:146
Definition: TitrationHelper.h:37