ProSHADE  0.7.5.3 (FEB 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 
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:93
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