ProSHADE: src/proshade/ProSHADE.hpp Source File

| ProSHADE 0.7.5.1 (JAN 2021) Protein Shape Detection

ProSHADE.hpp
Go to the documentation of this file.
1
25 //==================================================== ProSHADE library code
26 #include "ProSHADE_tasks.hpp"
27
28 //==================================================== Overinclusion protection
29 #ifndef __PROSHADE__
30 #define __PROSHADE__
31
38 class ProSHADE_run
39 {
40 private:
41 //================================================ General variables
42 proshade_unsign noStructures;
43 proshade_signed verbose;
44
45 //================================================ Variables regarding distances computation
46 std::vector < proshade_double > enLevs;
47 std::vector < proshade_double > trSigm;
48 std::vector < proshade_double > rotFun;
49
50 //================================================ Variables regarding symmetry detection
51 std::vector< proshade_double* > RecomSymAxes;
52 std::vector < std::vector< proshade_double > > allCSymAxes;
53
54 //================================================ Variables regarding re-boxing task
55 std::vector < proshade_signed* > originalBounds;
56 std::vector < proshade_signed* > reboxedBounds;
57 std::vector < proshade_double* > manipulatedMaps;
58
59 //================================================ Variables regarding overlay optimisation
60 std::vector < proshade_double > eulerAngles;
61 std::vector < proshade_double > coordRotationCentre;
62 std::vector < proshade_double > overlayTranslation;
63
64 //================================================ Variables regarding symmetry detection
65 std::string symRecommType;
66 proshade_unsign symRecommFold;
67
68 private:
69 //================================================ Mutator functions
70 void setRecommendedSymmetry ( std::string val );
71 void setRecommendedFold ( proshade_unsign val );
72 void setRecommendedAxis ( proshade_double* sym );
73
74 //================================================ Task completion functions
75 void setSymmetryResults ( ProSHADE_settings* settings );
76
77 public:
78 //================================================ Constructors / Destructors
79 ProSHADE_run ( ProSHADE_settings* settings );
80 ~ProSHADE_run ( void );
81
82 public:
83 //================================================ General accessor functions
84 proshade_unsign getNoStructures ( void );
85 proshade_signed getVerbose ( void );
86
87 //================================================ Symmetry accessor functions
88 proshade_unsign getNoRecommendedSymmetryAxes ( void );
89 proshade_unsign getNoSymmetryAxes ( void );
90
91 public:
92 //================================================ Distances results accessor functions
93 std::vector< proshade_double > getEnergyLevelsVector ( void );
94 std::vector< proshade_double > getTraceSigmaVector ( void );
95 std::vector< proshade_double > getRotationFunctionVector ( void );
96
97 //================================================ Symmetry results accessor functions
98 std::string getSymmetryType ( void );
99 proshade_unsign getSymmetryFold ( void );
100 std::vector< std::string > getSymmetryAxis ( proshade_unsign axisNo );
101 std::vector < std::vector< proshade_double > > getAllCSyms ( void );
102
103 //================================================ Re-boxing results accessor functions
104 std::vector< proshade_signed > getOriginalBounds ( proshade_unsign strNo );
105 std::vector< proshade_signed > getReBoxedBounds ( proshade_unsign strNo );
106 proshade_double getMapValue ( proshade_unsign strNo, proshade_unsign mapIndex );
107
108 //================================================ Overlay results accessor functions
109 std::vector< proshade_double > getEulerAngles ( void );
110 std::vector< proshade_double > getOptimalRotMat ( void );
111 std::vector< proshade_double > getTranslationToOrigin ( void );
112 std::vector< proshade_double > getOriginToOverlayTranslation ( void );
113 };
114
115 //==================================================== These functions should be in ProSHADE_run class, but I cannot make them work with Numpy from there, so they are here.
116 void getReBoxedMap ( ProSHADE_run* run, proshade_unsign strNo, double *reboxMap, int len );
117
118 #endif
ProSHADE_run::~ProSHADE_run
~ProSHADE_run(void)
Destructor for the ProSHADE class.
Definition: ProSHADE.cpp:1453
ProSHADE_run::getRotationFunctionVector
std::vector< proshade_double > getRotationFunctionVector(void)
This function returns the full rotation function distances vector from the first to all other structu...
Definition: ProSHADE.cpp:2310
ProSHADE_run::getAllCSyms
std::vector< std::vector< proshade_double > > getAllCSyms(void)
This function returns a all symmetry axes as a vector of vectors of doubles.
Definition: ProSHADE.cpp:2408
ProSHADE_run::getNoSymmetryAxes
proshade_unsign getNoSymmetryAxes(void)
This function returns the number of detected recommended symmetry axes.
Definition: ProSHADE.cpp:2340
ProSHADE_run::getEulerAngles
std::vector< proshade_double > getEulerAngles(void)
This function returns the vector of Euler angles with best overlay correlation.
Definition: ProSHADE.cpp:2515
ProSHADE_run::getVerbose
proshade_signed getVerbose(void)
This function returns the verbose value.
Definition: ProSHADE.cpp:2330
getReBoxedMap
void getReBoxedMap(ProSHADE_run *run, proshade_unsign strNo, double *reboxMap, int len)
This function returns the re-boxed structure map 1D array for the processed structure.
Definition: ProSHADE.cpp:2491
ProSHADE_run::getSymmetryAxis
std::vector< std::string > getSymmetryAxis(proshade_unsign axisNo)
This function returns a single symmetry axis as a vector of strings from the recommended symmetry axe...
Definition: ProSHADE.cpp:2361
ProSHADE_run
This class provides the access point to the library.
Definition: ProSHADE.hpp:39
ProSHADE_run::getSymmetryFold
proshade_unsign getSymmetryFold(void)
This is the main accessor function for the user to get to know what symmetry fold ProSHADE has detect...
Definition: ProSHADE.cpp:1493
ProSHADE_run::getTranslationToOrigin
std::vector< proshade_double > getTranslationToOrigin(void)
This function returns the negative values of the position of the rotation centre (the point about whi...
Definition: ProSHADE.cpp:2563
ProSHADE_settings
This class stores all the settings and is passed to the executive classes instead of a multitude of p...
Definition: ProSHADE_settings.hpp:86
ProSHADE_run::getSymmetryType
std::string getSymmetryType(void)
This is the main accessor function for the user to get to know what symmetry type ProSHADE has detect...
Definition: ProSHADE.cpp:1483
ProSHADE_run::getEnergyLevelsVector
std::vector< proshade_double > getEnergyLevelsVector(void)
This function returns the energy level distances vector from the first to all other structures.
Definition: ProSHADE.cpp:2290
ProSHADE_run::getReBoxedBounds
std::vector< proshade_signed > getReBoxedBounds(proshade_unsign strNo)
This function returns a specific structure re-boxed bounds.
Definition: ProSHADE.cpp:2447
ProSHADE_run::ProSHADE_run
ProSHADE_run(ProSHADE_settings *settings)
Contructor for the ProSHADE_run class.
Definition: ProSHADE.cpp:1358
ProSHADE_run::getMapValue
proshade_double getMapValue(proshade_unsign strNo, proshade_unsign mapIndex)
This function returns a single, specific structure map value.
Definition: ProSHADE.cpp:2477
ProSHADE_run::getNoRecommendedSymmetryAxes
proshade_unsign getNoRecommendedSymmetryAxes(void)
This function returns the number of detected recommended symmetry axes.
Definition: ProSHADE.cpp:2350
ProSHADE_tasks.hpp
This header declares all the taks functions.
ProSHADE_run::getOptimalRotMat
std::vector< proshade_double > getOptimalRotMat(void)
This function returns the vector forming rotation matrix (rows first) with best overlay correlation.
Definition: ProSHADE.cpp:2533
ProSHADE_run::getOriginalBounds
std::vector< proshade_signed > getOriginalBounds(proshade_unsign strNo)
This function returns a specific structure original bounds.
Definition: ProSHADE.cpp:2419
ProSHADE_run::getTraceSigmaVector
std::vector< proshade_double > getTraceSigmaVector(void)
This function returns the trace sigma distances vector from the first to all other structures.
Definition: ProSHADE.cpp:2300
ProSHADE_run::getNoStructures
proshade_unsign getNoStructures(void)
This function returns the number of structures used.
Definition: ProSHADE.cpp:2320
ProSHADE_run::getOriginToOverlayTranslation
std::vector< proshade_double > getOriginToOverlayTranslation(void)
This function returns the translation required to move the structure from origin to optimal overlay.
Definition: ProSHADE.cpp:2587