8 #ifndef PDBPREPARATION_PDBPREPARATIONHELPER_H
9 #define PDBPREPARATION_PDBPREPARATIONHELPER_H
12 #include "boost/filesystem.hpp"
22 enum class ElementType : unsigned;
30 namespace StructurePreparation {
34 namespace StructurePreparationHelper {
40 void performInitialCheck(
const StructurePreparationFiles& files,
int mode, std::shared_ptr<Utils::Settings> settings);
45 void performGraphAnalysisOnStructure(StructurePreparationData& data,
const Utils::AtomCollection& structure);
49 void mergeProteinAndNonRegContainer(StructurePreparationData& data,
const StructurePreparationFiles& files);
54 void reevaluateConnectivityForAminoAcids(StructurePreparationData& data);
59 void handleBoundariesBetweenProteinAndNonRegContainer(StructurePreparationData& data);
63 Utils::AtomCollection addSolvation(StructurePreparationData& data, std::shared_ptr<Utils::Settings> settings);
67 void updatePdbPreparationData(StructurePreparationData& data, Utils::AtomCollection& structure);
71 void updateNonRegContainerVector(StructurePreparationData& data);
75 std::vector<TitrableSite> collectTitrableSites(StructurePreparationData& data);
79 void removeAtomsFromStructure(Utils::AtomCollection& structure, std::list<int> atomsToRemove);
84 void determineChargedSites(std::vector<int>& listOfNegatives, std::vector<int>& listOfPositives,
85 const StructurePreparationData& data);
92 void getSideChainNeighbors(StructurePreparationData& data,
int atomIndex, std::list<int>& atomsToAdd);
96 void findTermini(StructurePreparationData& data, std::list<int>& atomsToTransferToNonRegContainer);
100 void mapSubsystemIndicesToFullStructure(
const Utils::AtomCollection& fullStructure,
101 const Utils::AtomCollection& structure, std::vector<int>& indicesInStructure,
102 std::vector<std::vector<int>>& subsystemMapping);
106 void moveAtomsFromProteinToNonRegContainer(StructurePreparationData& data,
const std::list<int>& atomsToMove);
107 bool compareByIndex(
const ProteinAtom& a,
const ProteinAtom& b);
113 #endif // PDBPREPARATION_PDBPREPARATIONHELPER_H