8 #ifndef STRUCTUREPREPARATION_PROTONATIONHANDLER_H
9 #define STRUCTUREPREPARATION_PROTONATIONHANDLER_H
11 #include "../ProteinStructures.h"
12 #include "../StructurePreparationData.h"
25 namespace StructurePreparation {
26 struct StructurePreparationFiles;
61 void sortAtomTypesByProtonationCriteria();
63 void getPeptidBonds(
int indexN,
int& indexC,
int& indexCA,
int& indexO,
bool& isValidPeptid);
84 void detectCTerminus(
const ProteinAtom& proteinAtom);
89 void checkObabelVersion();
93 std::shared_ptr<Utils::Settings> settings_;
100 std::vector<std::list<int>> listsOfNeighbors_;
101 std::vector<int> nNeighbors_;
102 std::vector<PeptidBond> peptidBonds_;
104 static constexpr
double minimalBondOrderToConsider_ = 0.4;
105 const std::array<const char*, 5> listOfsp3AtomTypes_ = {
"CB",
"CG2",
"CG1",
"CE",
"CA"};
106 const std::array<const char*, 13> listOfsp2AtomTypes_ = {
"CZ",
"CE1",
"CE2",
"CZ2",
"CZ3",
"CE3",
"CH2",
107 "NE1",
"NE",
"NH1",
"NH2",
"ND1",
"ND2"};
108 static constexpr std::array<const char*, 1> listOfPseudoTetrahedrals_ = {
"NZ"};
109 static constexpr std::array<const char*, 3> terminalOhSh_ = {
"OG1",
"OG",
"OH"};
110 static constexpr std::array<const char*, 7> AAwithsp3CG_ = {
"ARG",
"GLN",
"GLU",
"MET",
"PRO",
"LEU",
"LYS"};
111 static constexpr std::array<const char*, 4> AAwithsp3CD_ = {
"ARG",
"LYS",
"PRO",
"PYL"};
117 #endif // STRUCTUREPREPARATION_PROTONATIONHANDLER_H
void protonateNonRegContainerWithExternalSoftware()
Protonates the nonRegContainer using the obabel binary.
Definition: ProtonationHandler.cpp:90
void protonateAllAminoAcids()
Protonates all amino acids.
Definition: ProtonationHandler.cpp:72
Definition: ProteinStructures.h:38
void setProteinStructure(Utils::AtomCollection &structure)
Set the Protein Structure object.
Definition: ProtonationHandler.cpp:440
Definition: ProteinStructures.h:23
void reprotonateCriticalAtom(Utils::AtomCollection &structure, int indexOfCriticalAtom, const std::string &residueName)
Changes protonation state of a pH sensitive atom.
Definition: ProtonationHandler.cpp:252
This struct holds all objects used inside the MM parametrization algorithm.
Definition: StructurePreparationData.h:25
Definition: ProtonationHandler.h:28
Definition: StructurePreparationData.h:90