ProSHADE  0.6.5 (NOV 2018)
Protein Shape Descriptors and Symmetry Detection
ProSHADE::ProSHADE Class Reference

Public Member Functions

 ProSHADE (ProSHADE_settings *settings)
 Contructor for the ProSHADE class. More...
 
 ~ProSHADE (void)
 Destructor for the ProSHADE class.
 
std::vector< double > getCrossCorrDists (void)
 Accessor function for the cross-correlation distances vector. More...
 
std::vector< double > getTraceSigmaDists (void)
 Accessor function for the trace sigma distances vector. More...
 
std::vector< double > getRotFunctionDists (void)
 Accessor function for the rotation function based distances vector. More...
 
std::vector< std::array< double, 5 > > getCyclicSymmetries (void)
 Accessor function for the cyclic symmetries list. More...
 
std::vector< std::array< double, 5 > > getClearCyclicSymmetries (void)
 Accessor function for the clear cyclic symmetries list. More...
 
std::vector< std::vector< std::array< double, 6 > > > getDihedralSymmetries (void)
 Accessor function for the dihedral symmetries list. These will be sorted using the fold and peak height. More...
 
std::vector< std::vector< std::array< double, 6 > > > getClearDihedralSymmetries (void)
 Accessor function for the dihedral symmetries list. These will be sorted using the fold and peak height. More...
 
std::vector< std::array< double, 5 > > getTetrahedralSymmetries (void)
 Accessor function for the tetrahedral symmetries list. More...
 
std::vector< std::array< double, 5 > > getOctahedralSymmetries (void)
 Accessor function for the octahedral symmetries list. More...
 
std::vector< std::array< double, 5 > > getIcosahedralSymmetries (void)
 Accessor function for the icosahedral symmetries list. More...
 
std::vector< std::array< double, 5 > > getRecommendedSymmetry (void)
 Accessor function for the recommended symmetry elements list. More...
 
std::vector< std::array< double, 5 > > getSpecificSymmetryElements (std::string symType, int symFold=0)
 Accessor function for the given symmetry elements list. More...
 
std::vector< double > getCyclicSymmetriesPy (void)
 Accessor function for the cyclic symmetries list for python. More...
 
std::vector< double > getDihedralSymmetriesPy (void)
 Accessor function for the dihedral symmetries list for python. More...
 
std::vector< double > getTetrahedralSymmetriesPy (void)
 Accessor function for the tetrahedral symmetries list for python. More...
 
std::vector< double > getOctahedralSymmetriesPy (void)
 Accessor function for the octahedral symmetries list for python. More...
 
std::vector< double > getIcosahedralSymmetriesPy (void)
 Accessor function for the icosahedral symmetries list for python. More...
 
std::vector< double > getRecommendedSymmetryElementsPy (void)
 Accessor function for the list of symmetry element for python. More...
 
std::vector< double > getSpecificSymmetryElementsPy (std::string symType, int symFold=0)
 Accessor function for the list of symmetry element for python. More...
 
std::vector< std::string > getMapFragments (void)
 Accessor function returning the list of fragment files produced by map fragmentation. More...
 
std::string getProSHADEVersion (void)
 Miscellanous function allowing the user to get the ProSHADE version. More...
 

Friends

class ProSHADE_settings
 

Detailed Description

Definition at line 208 of file ProSHADE.h.

Constructor & Destructor Documentation

§ ProSHADE()

ProSHADE::ProSHADE::ProSHADE ( ProSHADE_settings setUp)

This is where all the decisions regarding what should be done are made. It takes the settings and based on them, it decides what to do and how to report the results.

Parameters
[out]XObject allowing the access to the accessor functions for programatic access to the results.

Definition at line 1168 of file ProSHADE.cpp.

Member Function Documentation

§ getClearCyclicSymmetries()

std::vector< std::array< double, 5 > > ProSHADE::ProSHADE::getClearCyclicSymmetries ( void  )

This function first checks if the symmetries were computed and returns error if not. If the symmetries are available, it will return a vector of arrays, where each array describes a single cyclic symmetry with the following values: [0] is the symmetry fold; [1] is the symmetry axis X-axis element; [2] is the symmetry axis Y-axis element; [3] is the symmetry axis Z-axis element; [4] is the average peak height for all the symmetry defining peaks. The vector is sorted by the fold and the peak height with gap cutt-off applied.

Parameters
[out]XA standard library vector of arrays where each array describes a single cyclic symmetry detected in the structure. The meaning of the array values is described in the full function description.

Definition at line 3063 of file ProSHADE.cpp.

§ getClearDihedralSymmetries()

std::vector< std::vector< std::array< double, 6 > > > ProSHADE::ProSHADE::getClearDihedralSymmetries ( void  )

This function first checks if the symmetries were computed and returns error if not. If the symmetries are available, it will return a vector of vectors of arrays, where each vector describes a single dihedral symmetry by containing a vector of arrays, where each of these sub-vectors describes a single cyclic (C) symmetry which forms the dihedral symmetry in question. In turn, each of the cyclic symmetry sub-vectors describes the cyclic symmetry as follos: [0] is the symmetry fold; [1] is the symmetry axis X-axis element; [2] is the symmetry axis Y-axis element; [3] is the symmetry axis Z-axis element; [4] is the average peak height for all the symmetry defining peaks. The vector of vectors is sorted by the peak height.

Parameters
[out]XA standard library vector of vectors of arrays where each array describes a single cyclic symmetry detected in the structure and the vector of arrays describes which axes form the dihedral symmetry. The meaning of the array values is described in the full function description.

Definition at line 3200 of file ProSHADE.cpp.

§ getCrossCorrDists()

std::vector< double > ProSHADE::ProSHADE::getCrossCorrDists ( void  )

This function first checks if the vector of distances has been filled with data. If so, it will return it, otherwise it will print warning and return empty vector. Note that empty vector can also be returned if the energyLevelDist settings if set to false.

Parameters
[out]XA standard library vector containing the cross-correlation distances from the first structure to all other structures.

Definition at line 2959 of file ProSHADE.cpp.

§ getCyclicSymmetries()

std::vector< std::array< double, 5 > > ProSHADE::ProSHADE::getCyclicSymmetries ( void  )

This function first checks if the symmetries were computed and returns error if not. If the symmetries are available, it will return a vector of arrays, where each array describes a single cyclic symmetry with the following values: [0] is the symmetry fold; [1] is the symmetry axis X-axis element; [2] is the symmetry axis Y-axis element; [3] is the symmetry axis Z-axis element; [4] is the average peak height for all the symmetry defining peaks. The vector is sorted by the peak height.

Parameters
[out]XA standard library vector of arrays where each array describes a single cyclic symmetry detected in the structure. The meaning of the array values is described in the full function description.

Definition at line 3037 of file ProSHADE.cpp.

§ getCyclicSymmetriesPy()

std::vector< double > ProSHADE::ProSHADE::getCyclicSymmetriesPy ( void  )

This function first checks if the symmetries were computed and returns error if not. If the symmetries are available, it will return a vector of doubles, where each single cyclic symmetry is given using the following values: [0] is the symmetry fold; [1] is the symmetry axis X-axis element; [2] is the symmetry axis Y-axis element; [3] is the symmetry axis Z-axis element; [4] is the average peak height for all the symmetry defining peaks and [5] is -999.999 value signifying end of cyclic symmetry axis entry. This weird system is used to avoid using vector of vectors or vector of arrays as I cannot bind these to python - this function is intended for python, but not C++ users. The vector is sorted by the peak height.

Parameters
[out]XA standard library vector with the symmetry values and separaters.

Definition at line 3091 of file ProSHADE.cpp.

§ getDihedralSymmetries()

std::vector< std::vector< std::array< double, 6 > > > ProSHADE::ProSHADE::getDihedralSymmetries ( void  )

This function first checks if the symmetries were computed and returns error if not. If the symmetries are available, it will return a vector of vectors of arrays, where each vector describes a single dihedral symmetry by containing a vector of arrays, where each of these sub-vectors describes a single cyclic (C) symmetry which forms the dihedral symmetry in question. In turn, each of the cyclic symmetry sub-vectors describes the cyclic symmetry as follos: [0] is the symmetry fold; [1] is the symmetry axis X-axis element; [2] is the symmetry axis Y-axis element; [3] is the symmetry axis Z-axis element; [4] is the average peak height for all the symmetry defining peaks. The vector of vectors is sorted by the peak height.

Parameters
[out]XA standard library vector of vectors of arrays where each array describes a single cyclic symmetry detected in the structure and the vector of arrays describes which axes form the dihedral symmetry. The meaning of the array values is described in the full function description.

Definition at line 3173 of file ProSHADE.cpp.

§ getDihedralSymmetriesPy()

std::vector< double > ProSHADE::ProSHADE::getDihedralSymmetriesPy ( void  )

This function first checks if the symmetries were computed and returns error if not. If the symmetries are available, it will return a vector, where each "subpart" describes a single cyclic symmetry by containing a the following values: [0] is the symmetry fold; [1] is the symmetry axis X-axis element; [2] is the symmetry axis Y-axis element; [3] is the symmetry axis Z-axis element; [4] is the average peak height for all the symmetry defining peaks. These values are then followed by -999.999 to signify end of cyclic symmetry entry. Also, each dihedral symmetry is terminated using the value -777.777, so that if there are more dihedral symmetries, they can be separated. This weird system is used to avoid using vector of vectors of arrays as I cannot bind these to python - this function is intended for python, but not C++ users. The vector is sorted by the peak height.

Parameters
[out]XA standard library vector with the symmetry values and separaters.

Definition at line 3131 of file ProSHADE.cpp.

§ getIcosahedralSymmetries()

std::vector< std::array< double, 5 > > ProSHADE::ProSHADE::getIcosahedralSymmetries ( void  )

This function first checks if the symmetries were computed and returns error if not. If the symmetries are available, it will return a vector of arrays, where each array describes a single cyclic symmetry axis forming the set of 31 cyclic symmetries constituting the icosahedral symmetry. Each of the cyclic axes is defined with the following values: [0] is the symmetry fold; [1] is the symmetry axis X-axis element; [2] is the symmetry axis Y-axis element; [3] is the symmetry axis Z-axis element; [4] is the average peak height for all the symmetry defining peaks. Only a single icosahedral symmetry is returned by ProSHADE library.

Parameters
[out]XA standard library vector of arrays where each array describes a single cyclic symmetry detected in the structure and the vector describes the 31 axes required for full icosahedral symmetry description. The meaning of the array values is described in the full function description.

Definition at line 3354 of file ProSHADE.cpp.

§ getIcosahedralSymmetriesPy()

std::vector< double > ProSHADE::ProSHADE::getIcosahedralSymmetriesPy ( void  )

This function first checks if the symmetries were computed and returns error if not. If the symmetries are available, it will return a vector of doubles, where each single cyclic symmetry (forming the icosahedral group) is given using the following values: [0] is the symmetry fold; [1] is the symmetry axis X-axis element; [2] is the symmetry axis Y-axis element; [3] is the symmetry axis Z-axis element; [4] is the average peak height for all the symmetry defining peaks and [5] is -999.999 value signifying end of cyclic symmetry axis entry. This weird system is used to avoid using vector of vectors or vector of arrays as I cannot bind these to python - this function is intended for python, but not C++ users. The vector is sorted by the peak height.

Parameters
[out]XA standard library vector with the symmetry values and separaters.

Definition at line 3381 of file ProSHADE.cpp.

§ getMapFragments()

std::vector< std::string > ProSHADE::ProSHADE::getMapFragments ( void  )
Parameters
[out]XA vector of strings containing the list of paths to all fragment files.

Definition at line 2938 of file ProSHADE.cpp.

§ getOctahedralSymmetries()

std::vector< std::array< double, 5 > > ProSHADE::ProSHADE::getOctahedralSymmetries ( void  )

This function first checks if the symmetries were computed and returns error if not. If the symmetries are available, it will return a vector of arrays, where each array describes a single cyclic symmetry axis forming the set of 13 cyclic symmetries constituting the octahedral symmetry. Each of the cyclic axes is defined with the following values: [0] is the symmetry fold; [1] is the symmetry axis X-axis element; [2] is the symmetry axis Y-axis element; [3] is the symmetry axis Z-axis element; [4] is the average peak height for all the symmetry defining peaks. Only a single octahedral symmetry is returned by ProSHADE library.

Parameters
[out]XA standard library vector of arrays where each array describes a single cyclic symmetry detected in the structure and the vector describes the 13 axes required for full octahedral symmetry description. The meaning of the array values is described in the full function description.

Definition at line 3290 of file ProSHADE.cpp.

§ getOctahedralSymmetriesPy()

std::vector< double > ProSHADE::ProSHADE::getOctahedralSymmetriesPy ( void  )

This function first checks if the symmetries were computed and returns error if not. If the symmetries are available, it will return a vector of doubles, where each single cyclic symmetry (forming the octahedral group) is given using the following values: [0] is the symmetry fold; [1] is the symmetry axis X-axis element; [2] is the symmetry axis Y-axis element; [3] is the symmetry axis Z-axis element; [4] is the average peak height for all the symmetry defining peaks and [5] is -999.999 value signifying end of cyclic symmetry axis entry. This weird system is used to avoid using vector of vectors or vector of arrays as I cannot bind these to python - this function is intended for python, but not C++ users. The vector is sorted by the peak height.

Parameters
[out]XA standard library vector with the symmetry values and separaters.

Definition at line 3317 of file ProSHADE.cpp.

§ getProSHADEVersion()

std::string ProSHADE::ProSHADE::getProSHADEVersion ( void  )
Parameters
[out]XA string containing the version description of the ProSHADE code.

Definition at line 2910 of file ProSHADE.cpp.

§ getRecommendedSymmetry()

std::vector< std::array< double, 5 > > ProSHADE::ProSHADE::getRecommendedSymmetry ( void  )

This function allows the user to obtain a list of symmetry elements ProSHADE believes to be the most likely (however, this is not extra reliable any users are encouraged to use the getSpecificSymmetryElements function if they have any prior knowledge as to which symmetry is correct). The returned vector of arrays contains all symmetry elements for the recommended symmetry group (if any is found) including the identity element (which is always first in the vector) with the array values having the following meanings: [0] Symmetry element fold; [1] the X-axis part of the symmetry element; [2] the Y-axis part of the symmetry element; [3] the Z-axis part of the symmetry element; [4] the symmetry element angle in radians.

Parameters
[out]XA standard library vector of arrays where each array describes a single cyclic symmetry element detected in the structure and the vector then consists of all symmetry elements. The meaning of the array values is described in the full function description.

Definition at line 3419 of file ProSHADE.cpp.

§ getRecommendedSymmetryElementsPy()

std::vector< double > ProSHADE::ProSHADE::getRecommendedSymmetryElementsPy ( void  )

This function allows the user to obtain a list of symmetry elements ProSHADE believes to be the most likely (however, this is not extra reliable any users are encouraged to use the getSpecificSymmetryElementsPy function if they have any prior knowledge as to which symmetry is correct). The returned vector of doubles has each single symmetry element (forming the symmetry group group) given using the following values: [0] is the symmetry fold; [1] is the symmetry axis X-axis element; [2] is the symmetry axis Y-axis element; [3] is the symmetry axis Z-axis element; [4] is the average peak height for all the symmetry defining peaks and [5] is -999.999 value signifying end of cyclic symmetry axis entry. This weird system is used to avoid using vector of vectors or vector of arrays as I cannot bind these to python - this function is intended for python, but not C++ users. The vector is sorted by the peak height.

Parameters
[out]XA standard library vector with the symmetry values and separaters.

Definition at line 3594 of file ProSHADE.cpp.

§ getRotFunctionDists()

std::vector< double > ProSHADE::ProSHADE::getRotFunctionDists ( void  )

This function first checks if the vector of distances has been filled with data. If so, it will return it, otherwise it will print warning and return empty vector. Note that empty vector can also be returned if the fullRotFnDist settings if set to false. Furthermore, if hierarchical distances computation is done, the returned values for structures failing the threshold for previous descriptors will have value of -999.9 .

Parameters
[out]XA standard library vector containing the rotation function based distances from the first structure to all other structures.

Definition at line 3011 of file ProSHADE.cpp.

§ getSpecificSymmetryElements()

std::vector< std::array< double, 5 > > ProSHADE::ProSHADE::getSpecificSymmetryElements ( std::string  symType,
int  symFold = 0 
)

This function allows the user to obtain the list of symmetry elements for any particular symmetry the user requests subject to the symmetry being detected by the ProSHADE library (if this condition does not hold, warning and empty vector are issued). The user can specify the required symmetry using the two parameters and their allowed values as detailed below. The returned vector of arrays contains all symmetry elements for the requested symmetry group (if found) including the identity element (which is always first in the vector) with the array values having the following meanings: [0] Symmetry element fold; [1] the X-axis part of the symmetry element; [2] the Y-axis part of the symmetry element; [3] the Z-axis part of the symmetry element; [4] the symmetry element angle in radians.

Parameters
[in]symTypeA standard library string specifying which symmetry type the user requests the symmetry elements for. The allowed values are "C" (cyclic), "D" (dihedral), "T" tetrahedral, "O" (octahedral) and "I" (icosahedral). This parameter is case-sensitive.
[in]symFoldIf the symmetry type is "C" or "D", this parameter allows specifying which symmetry fold the user requests the symmetry element for. If more symmetries with the same fold exist, the highest peak one is used.
[out]XA standard library vector of arrays where each array describes a single cyclic symmetry element detected in the structure and the vector then consists of all symmetry elements. The meaning of the array values is described in the full function description.

Definition at line 3635 of file ProSHADE.cpp.

§ getSpecificSymmetryElementsPy()

std::vector< double > ProSHADE::ProSHADE::getSpecificSymmetryElementsPy ( std::string  symType,
int  symFold = 0 
)

This function allows the user to obtain a list of symmetry elements ProSHADE believes to be the most likely (however, this is not extra reliable any users are encouraged to use the getSpecificSymmetryElementsPy function if they have any prior knowledge as to which symmetry is correct). The returned vector of doubles has each single symmetry element (forming the symmetry group group) given using the following values: [0] is the symmetry fold; [1] is the symmetry axis X-axis element; [2] is the symmetry axis Y-axis element; [3] is the symmetry axis Z-axis element; [4] is the average peak height for all the symmetry defining peaks and [5] is -999.999 value signifying end of cyclic symmetry axis entry. This weird system is used to avoid using vector of vectors or vector of arrays as I cannot bind these to python - this function is intended for python, but not C++ users. The vector is sorted by the peak height.

Parameters
[in]symTypeA standard library string specifying which symmetry type the user requests the symmetry elements for. The allowed values are "C" (cyclic), "D" (dihedral), "T" tetrahedral, "O" (octahedral) and "I" (icosahedral). This parameter is case-sensitive.
[in]symFoldIf the symmetry type is "C" or "D", this parameter allows specifying which symmetry fold the user requests the symmetry element for. If more symmetries with the same fold exist, the highest peak one is used.
[out]XA standard library vector with the symmetry values and separaters.

Definition at line 3920 of file ProSHADE.cpp.

§ getTetrahedralSymmetries()

std::vector< std::array< double, 5 > > ProSHADE::ProSHADE::getTetrahedralSymmetries ( void  )

This function first checks if the symmetries were computed and returns error if not. If the symmetries are available, it will return a vector of arrays, where each array describes a single cyclic symmetry axis forming the set of 7 cyclic symmetries constituting the tetrahedral symmetry. Each of the cyclic axes is defined with the following values: [0] is the symmetry fold; [1] is the symmetry axis X-axis element; [2] is the symmetry axis Y-axis element; [3] is the symmetry axis Z-axis element; [4] is the average peak height for all the symmetry defining peaks. Only a single tetrahedral symmetry is returned by ProSHADE library.

Parameters
[out]XA standard library vector of arrays where each array describes a single cyclic symmetry detected in the structure and the vector describes the seven axes required for full tetrahedral symmetry description. The meaning of the array values is described in the full function description.

Definition at line 3226 of file ProSHADE.cpp.

§ getTetrahedralSymmetriesPy()

std::vector< double > ProSHADE::ProSHADE::getTetrahedralSymmetriesPy ( void  )

This function first checks if the symmetries were computed and returns error if not. If the symmetries are available, it will return a vector of doubles, where each single cyclic symmetry (forming the tetrahedral group) is given using the following values: [0] is the symmetry fold; [1] is the symmetry axis X-axis element; [2] is the symmetry axis Y-axis element; [3] is the symmetry axis Z-axis element; [4] is the average peak height for all the symmetry defining peaks and [5] is -999.999 value signifying end of cyclic symmetry axis entry. This weird system is used to avoid using vector of vectors or vector of arrays as I cannot bind these to python - this function is intended for python, but not C++ users. The vector is sorted by the peak height.

Parameters
[out]XA standard library vector with the symmetry values and separaters.

Definition at line 3253 of file ProSHADE.cpp.

§ getTraceSigmaDists()

std::vector< double > ProSHADE::ProSHADE::getTraceSigmaDists ( void  )

This function first checks if the vector of distances has been filled with data. If so, it will return it, otherwise it will print warning and return empty vector. Note that empty vector can also be returned if the traceSigmaDist settings if set to false. Furthermore, if hierarchical distances computation is done, the returned values for structures failing the threshold for previous descriptors will have value of -999.9 .

Parameters
[out]XA standard library vector containing the trace sigma distances from the first structure to all other structures.

Definition at line 2985 of file ProSHADE.cpp.


The documentation for this class was generated from the following files: