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