ProSHADE
0.6.5 (NOV 2018)
Protein Shape Descriptors and Symmetry Detection
|
This class deals with reading in the data and computing structure specific information including the spherical harmonics coefficients. More...
#include <ProSHADE_internal.h>
Public Member Functions | |
ProSHADE_data () | |
Contructor for the ProSHADE_data class. More... | |
ProSHADE_data (ProSHADE_data *copyFrom) | |
Copy contructor for the ProSHADE_data class. More... | |
ProSHADE_data (std::ifstream *dbFile, std::string fName, double volThreMin, double volThreMax, int verbose, ProSHADE::ProSHADE_settings *settings, bool saveWithAndWithout=false) | |
Overloaded constructor for the ProSHADE_data class using the database file. More... | |
~ProSHADE_data () | |
Destructor for the ProSHADE_data class. More... | |
void | getDensityMapFromPDB (std::string fileName, double *shellDistance, double resolution, unsigned int *bandwidth, unsigned int *theta, unsigned int *phi, unsigned int *glIntegOrder, double *extraSpace, bool mapResDefault, ProSHADE::ProSHADE_settings *settings, double Bfactor=80.0, bool hpFirstLineCom=false, bool overlayDefaults=false) |
Function to read in the PDB file and compute the theoretical density map. More... | |
void | getDensityMapFromMAP (std::string fileName, double *shellDistance, double resolution, unsigned int *bandwidth, unsigned int *theta, unsigned int *phi, unsigned int *glIntegOrder, double *extraSpace, bool mapResDefault, bool rotDefaults, ProSHADE::ProSHADE_settings *settings, bool overlayDefaults=false) |
Function to read in the MAP file and provide the basic processing. More... | |
void | maskMap (int hlpU, int hlpV, int hlpW, double blurBy=250.0, double maxMapIQR=3.0, double extraMaskSpace=3.0) |
This function does the map masking for cleaning and re-boxing maps. More... | |
void | normaliseMap (ProSHADE::ProSHADE_settings *settings) |
This function does normalises the map data. More... | |
std::array< double, 4 > | getCOMandDist (ProSHADE::ProSHADE_settings *settings) |
This function gets COM and its distance to closes border. More... | |
bool | removeIslands (int hlpU, int hlpV, int hlpW, int verbose=0, bool runAll=false) |
This function does the island detection support and decides whether different masking should be applied or whether the current level is fine. More... | |
void | translateMap (double xShift, double yShift, double zShift) |
This function translates the data along the three coordinate axis by the amount given by the three parameters. More... | |
void | shiftMap (double xShift, double yShift, double zShift) |
This function shifts (changing header) the data along the three coordinate axis by the amount given by the three parameters. More... | |
void | matchMap (ProSHADE_data *matchTo) |
This function is called on a map to re-size and re-sample it to match the second, parameter input map. More... | |
std::array< double, 6 > | getDensityMapFromMAPRebox (std::string fileName, double maxMapIQR, double extraCS, int verbose, bool useCubicMaps, double maskBlurFactor, bool maskBlurFactorGiven, ProSHADE::ProSHADE_settings *settings) |
This function reads in the CCP4' MAP formatted file and re-boxes its contents using the masking procedure, adding some extra space if required. More... | |
void | getDensityMapFromMAPFeatures (std::string fileName, double *minDensPreNorm, double *maxDensPreNorm, double *minDensPostNorm, double *maxDensPostNorm, double *postNormMean, double *postNormSdev, double *maskVolume, double *totalVolume, double *maskMean, double *maskSdev, double *maskMin, double *maskMax, double *maskDensityRMS, double *allDensityRMS, std::array< double, 3 > *origRanges, std::array< double, 3 > *origDims, double maxMapIQR, double extraCS, int verbose, bool useCubicMaps, double maskBlurFactor, bool maskBlurFactorGiven, bool reboxAtAll, ProSHADE::ProSHADE_settings *settings) |
This function reads in the CCP4' MAP formatted file and computes its features. More... | |
void | removePhaseFromMap (double alpha, double bFac, ProSHADE::ProSHADE_settings *settings) |
This function removes the phase information from the density map. More... | |
void | removePhaseFromMapOverlay (double alpha, double bFac, ProSHADE::ProSHADE_settings *settings) |
This function removes the phase information from the density map for the overlay purposes. More... | |
void | keepPhaseInMap (double alpha, double bFac, unsigned int *bandwidth, unsigned int *theta, unsigned int *phi, unsigned int *glIntegOrder, ProSHADE::ProSHADE_settings *settings, bool useCom=true, double maxMapIQR=10.0, int verbose=0, bool clearMapData=true, bool rotDefaults=false, bool overlapDefaults=false, double blurFactor=500.0, bool maskBlurFactorGiven=false) |
This function keeps the phase information from the density map and prepares the data for SH coefficient computation. More... | |
void | mapPhaselessToSphere (ProSHADE::ProSHADE_settings *settings, double theta, double phi, double shellSz, unsigned int manualShells=0, bool keepInMemory=false, bool rotDefaults=false) |
This function assumes the data have been processed and maps them onto a set of concentric spheres with given resolution. More... | |
void | getSphericalHarmonicsCoeffs (unsigned int bandwidth, ProSHADE::ProSHADE_settings *settings) |
This function takes the sphere mapped data and computes spherical harmoncis decomposition for each shell. More... | |
void | precomputeRotInvDescriptor (ProSHADE::ProSHADE_settings *settings) |
This function computes the RRP matrices, which are required for the computation of the energy levels descriptor. More... | |
std::vector< ProSHADE_data * > | fragmentMap (ProSHADE::ProSHADE_settings *settings, bool userCOM) |
This function takes the map and fragments it into boxes of given size, returning vector of data objects, one for each box. More... | |
std::vector< std::vector< int > > | findMapIslands (int hlpU, int hlpV, int hlpW, double *map, double threshold=0.0) |
This function takes a map and a threshold on it and proceeds to detect islands (continuous fragments of density above the threshold not bordering any other such region). More... | |
void | writeMap (std::string fileName, double *map, std::string axOrder="xyz", float xFrom=std::numeric_limits< float >::infinity(), float yFrom=std::numeric_limits< float >::infinity(), float zFrom=std::numeric_limits< float >::infinity(), float xTo=std::numeric_limits< float >::infinity(), float yTo=std::numeric_limits< float >::infinity(), float zTo=std::numeric_limits< float >::infinity(), float xRange=std::numeric_limits< float >::infinity(), float yRange=std::numeric_limits< float >::infinity(), float zRange=std::numeric_limits< float >::infinity()) |
void | writeMap (std::string fileName, float *map, std::string axOrder="xyz", float xFrom=std::numeric_limits< float >::infinity(), float yFrom=std::numeric_limits< float >::infinity(), float zFrom=std::numeric_limits< float >::infinity(), float xTo=std::numeric_limits< float >::infinity(), float yTo=std::numeric_limits< float >::infinity(), float zTo=std::numeric_limits< float >::infinity(), float xRange=std::numeric_limits< float >::infinity(), float yRange=std::numeric_limits< float >::infinity(), float zRange=std::numeric_limits< float >::infinity()) |
void | writePDB (std::string templateName, std::string outputName, double rotEulA=0.0, double rotEulB=0.0, double rotEulG=0.0, double trsX=0.0, double trsY=0.0, double trsZ=0.0) |
void | deleteModel (std::string modelPath) |
double | getMapXRange (void) |
double | getMapYRange (void) |
double | getMapZRange (void) |
double * | getMap (void) |
Friends | |
class | ProSHADE_comparePairwise |
class | ProSHADE_compareOneAgainstAll |
class | ProSHADE_symmetry |
class | ProSHADE_distances |
class | ProSHADE_mapFeatures |
The purpose of this class is the contain all the information regarding a single structure, but no information regarding any pair or comparison data. Therefore, it deals with reading in the data, formatting and mapping onto spheres, computing spherical harmonics coefficients and also pre-computing the energy level descriptor tables; all of these action are strictly related to each single structure file.
Definition at line 174 of file ProSHADE_internal.h.
ProSHADE_internal::ProSHADE_data::ProSHADE_data | ( | ) |
This is the constructor for the main structural data holding class. It simply sets all the default parameters and nulls all the pointers so that no errors occur when wrong function call order is used.
[out] | X | Object capable of holding the structure data required for further analysis. |
Definition at line 111 of file ProSHADE_internal.cpp.
ProSHADE_internal::ProSHADE_data::ProSHADE_data | ( | ProSHADE_data * | copyFrom | ) |
This is the copy constructor for the main structural data holding class. It simply sets all the default parameters as copies of the copied object, allocating all memory as need be.
[out] | X | Object holding the same information as the original object. |
Definition at line 174 of file ProSHADE_internal.cpp.
ProSHADE_internal::ProSHADE_data::ProSHADE_data | ( | std::ifstream * | dbFile, |
std::string | fName, | ||
double | volThreMin, | ||
double | volThreMax, | ||
int | verbose, | ||
ProSHADE::ProSHADE_settings * | settings, | ||
bool | saveWithAndWithout = false |
||
) |
This is a special constructor for the ProSHADE_data class. It takes a pointer to an opened ifstream binary file and reads all the information to fill in a ProSHADE_data object from it, assuming the binary data have the correct format - this basically means that they were produced by the saveDatabase function.
[in] | dbFile | Pointer to an opened file for finary reading with the database data. |
[in] | fName | The filename of the structure to be read in. |
[in] | volThreMin | The minimal volume the structure needs to have to be read in instead of just skipped. |
[in] | volThreMax | The maximum valume the structure needs to have to be read in instead of just skipped. |
[in] | verbose | Determines how loud the standard output should be. |
[in] | settings | An instance of the ProSHADE_settings class for allowing the HTML report. |
[out] | X | An object with all the data loaded from the database file and ready for further processing. |
Definition at line 3346 of file ProSHADE_saveLoad.cpp.
ProSHADE_internal::ProSHADE_data::~ProSHADE_data | ( | ) |
This is the destructor for the main structural data holding class. It is responsible for checking if all the allocated memory has been released and if not, release it itself.
Definition at line 446 of file ProSHADE_internal.cpp.
std::vector< std::vector< int > > ProSHADE_internal::ProSHADE_data::findMapIslands | ( | int | hlpU, |
int | hlpV, | ||
int | hlpW, | ||
double * | map, | ||
double | threshold = 0.0 |
||
) |
This function takes the map dimmensions, the map and a threshold on it and proceeds to index the map into above and below threshold. It then iterates through the map, checking all the neighbour. If a neighbour is above threshold, it assigns the same island index and otherwise it leaves it alone. It then deals with boardering islands and joins these into a single one. Thus, the resulting array is the array of islands boardered only by values under the threshold. This is basically the Watershed algorithm with some twists in the end.
[in] | hlpU | The map X dimmension. |
[in] | hlpV | The map Y dimmension. |
[in] | hlpW | The map Z dimmension. |
[in] | map | A pointer to an array with all the map values. |
[in] | threshold | A threshold value under which the map values are considered background. |
[out] | X | A vector of islands as detected by the procedure. |
Definition at line 6237 of file ProSHADE_clipper.cpp.
std::vector< ProSHADE_internal::ProSHADE_data * > ProSHADE_internal::ProSHADE_data::fragmentMap | ( | ProSHADE::ProSHADE_settings * | settings, |
bool | userCOM | ||
) |
This function is a rather specific one. It takes the map ( assumes at least that it has been computed and processed ) and fragments into boxes using the same approach as the ProSHADE_features::fragmentMap function. For each box passing the tests, it then creates a new ProSHADE_data object in a vector of such objects it returns. Consequently, it fills this object as if it has been constructed, data read in from a file and phase kept function called. However, this is not a constructor, it rather constructs an empty object and fills it in... The purpose of this function is singular in the fragmented map vs. database distances computation.
[in] | settings | The settings object to be used to determine the settings. |
[in] | userCOM | This boolean value determines is the Center of Mass (COM) should be used to center the density in the boxes, or whether the density should be left as is. |
[out] | X | A vector of ProSHADE_data class pointers to data objects allowing access to all the fragments found. |
Definition at line 8543 of file ProSHADE_clipper.cpp.
std::array< double, 4 > ProSHADE_internal::ProSHADE_data::getCOMandDist | ( | ProSHADE::ProSHADE_settings * | settings | ) |
This function is used to evaluate whether overlay mode translation vector is too large so more space needs to be added to the structure, or whether the translation will be fine.
Definition at line 1515 of file ProSHADE_clipper.cpp.
void ProSHADE_internal::ProSHADE_data::getDensityMapFromMAP | ( | std::string | fileName, |
double * | shellDistance, | ||
double | resolution, | ||
unsigned int * | bandwidth, | ||
unsigned int * | theta, | ||
unsigned int * | phi, | ||
unsigned int * | glIntegOrder, | ||
double * | extraSpace, | ||
bool | mapResDefault, | ||
bool | rotDefaults, | ||
ProSHADE::ProSHADE_settings * | settings, | ||
bool | overlayDefaults = false |
||
) |
This function reads in the CCP4's MAP format density map and checks if it is cubic. If so (non-cubic maps are not supported yet) it proceeds to check that the density is centered in the center of the cell and corrects if not and finally it proceeds to estimate the optimal settings for the parameters, unless these are provided by the user.
[in] | fileName | The file name (and path) to the PDB file to be read in. |
[in] | shellDistance | The intended distance between shells. |
[in] | resolution | The resolution to which the map should be computed. This is the main parameter from which all other are derived. |
[in] | bandwidth | A pointer to variable which will hold the optimal bandwidth as determined by the function or the value supplied by the user. |
[in] | theta | A pointer to variable which will hold the optimal theta angle as determined by the function or the value supplied by the user. |
[in] | phi | A pointer to variable which will hold the optimal phi angle as determined by the function or the value supplied by the user. |
[in] | extraSpace | A pointer to variable which will hold the optimal between cells distance as determined by the function or the value supplied by the user. |
[in] | mapResDefault | A bool value specifying whether the resolution value supplied is the default, or whether it was supplied by the user. |
[in] | rotDefaults | A bool value telling the function whether map rotation is intended or not, as some settings do depend on this. |
[in] | overlayDefaults | A bool value specifying whether the resulting map will be used for map overlay mode. If so, the shell distances are doubled to speed things up. |
Definition at line 835 of file ProSHADE_clipper.cpp.
void ProSHADE_internal::ProSHADE_data::getDensityMapFromMAPFeatures | ( | std::string | fileName, |
double * | minDensPreNorm, | ||
double * | maxDensPreNorm, | ||
double * | minDensPostNorm, | ||
double * | maxDensPostNorm, | ||
double * | postNormMean, | ||
double * | postNormSdev, | ||
double * | maskVolume, | ||
double * | totalVolume, | ||
double * | maskMean, | ||
double * | maskSdev, | ||
double * | maskMin, | ||
double * | maskMax, | ||
double * | maskDensityRMS, | ||
double * | allDensityRMS, | ||
std::array< double, 3 > * | origRanges, | ||
std::array< double, 3 > * | origDims, | ||
double | maxMapIQR, | ||
double | extraCS, | ||
int | verbose, | ||
bool | useCubicMaps, | ||
double | maskBlurFactor, | ||
bool | maskBlurFactorGiven, | ||
bool | reboxAtAll, | ||
ProSHADE::ProSHADE_settings * | settings | ||
) |
This function reads in the CCP4's MAP format density map and checks if it is cubic. If so (non-cubic maps are not supported yet) it proceeds to check that the density is centered in the center of the cell and corrects if not. Then, it does the density normalisation, masking and island detection and removal. During this, it computes the statistical features of the density both as a whole and the masked fraction only. You cannot set any parameters to this function regarding how the map should be processed - it will be processed by the defaults (however, note that there are actually only a little values that apply - for example the resolution is irrelevant to this function as it does not submit the map for any further processing) and centered on COM. If this is not what you want, us the symmetry or distances alternatives.
[in] | fileName | The file name (and path) to the PDB file to be read in. |
[in] | minDensPreNorm | A pointer to variable storing the whole map minimum density value before normalisation. |
[in] | maxDensPreNorm | A pointer to variable storing the whole map maximum density value before normalisation. |
[in] | minDensPostNorm | A pointer to variable storing the whole map minimum density value after normalisation. |
[in] | maxDensPostNorm | A pointer to variable storing the whole map maximum density value after normalisation. |
[in] | postNormMean | A pointer to variable storing the whole map mean density value after normalisation. |
[in] | postNormSdev | A pointer to variable storing the whole map standard deviation of density values after normalisation. |
[in] | maskVolume | A pointer to variable storing the volume of masked density in A^3. |
[in] | totalVolume | A pointer to variable storing the total volume of the cell in A^3. |
[in] | maskMean | A pointer to variable storing the masked part of the map mean density value after normalisation. |
[in] | maskSdev | A pointer to variable storing the masked part of the map standard deviation density value after normalisation. |
[in] | maskMin | A pointer to variable storing the masked part of the map minimum density value after normalisation. |
[in] | maskMax | A pointer to variable storing the masked part of the map maximum density value after normalisation. |
[in] | maskDensityRMS | A pointer to variable storing the masked part of the map RMS value after normalisation. |
[in] | allDensityRMS | A pointer to variable storing the whole map RMS value after normalisation. |
[in] | maxMapIQR | A double value to specify the number of interquartile ranges from the median to be used to threshold map masking. |
[in] | useCubicMaps | This parameter determines if the clear map compued should be rectangular or cubic (older versions of refmac may require this). |
[in] | maskBlurFactor | How much should the map be blurred to compute the mask? |
[in] | maskBlurFactorGiven | Was the blurring factor value supplied by the user, or are we working with default? |
[in] | reboxAtAll | Should the re-boxing be done for the output structure, or not? |
[in] | settings | The settings contained required for writing into the HTML report, if required. |
Definition at line 3705 of file ProSHADE_clipper.cpp.
std::array< double, 6 > ProSHADE_internal::ProSHADE_data::getDensityMapFromMAPRebox | ( | std::string | fileName, |
double | maxMapIQR, | ||
double | extraCS, | ||
int | verbose, | ||
bool | useCubicMaps, | ||
double | maskBlurFactor, | ||
bool | maskBlurFactorGiven, | ||
ProSHADE::ProSHADE_settings * | settings | ||
) |
XXX
[in] | fileName | The file name (and path) to the PDB file to be read in. |
[in] | maxMapIQR | A double value to specify the number of interquartile ranges from the median to be used to threshold map masking. |
[in] | extraCS | This value specifies how many angstroms should be added to each box size over the map determined minimum. |
[in] | verbose | Int value specifying how loud the function should in the standard output. |
[in] | useCubicMaps | This parameter determines if the clear map compued should be rectangular or cubic (older versions of refmac may require this). |
[in] | maskBlurFactor | How much should the map be blurred to compute the mask? |
[in] | maskBlurFactorGiven | Was the blurring factor value supplied by the user, or are we working with default? |
Definition at line 2488 of file ProSHADE_clipper.cpp.
void ProSHADE_internal::ProSHADE_data::getDensityMapFromPDB | ( | std::string | fileName, |
double * | shellDistance, | ||
double | resolution, | ||
unsigned int * | bandwidth, | ||
unsigned int * | theta, | ||
unsigned int * | phi, | ||
unsigned int * | glIntegOrder, | ||
double * | extraSpace, | ||
bool | mapResDefault, | ||
ProSHADE::ProSHADE_settings * | settings, | ||
double | Bfactor = 80.0 , |
||
bool | hpFirstLineCom = false , |
||
bool | overlayDefaults = false |
||
) |
This function reads in the coordinates from the PDB file, centers them in the cell and computes the theoretical density map. It also estimates the optimal settings if the user did not enter their own.
[in] | fileName | The file name (and path) to the PDB file to be read in. |
[in] | shellDistance | The intended distance between shells. |
[in] | resolution | The resolution to which the map should be computed. This is the main parameter from which all other are derived. |
[in] | bandwidth | A pointer to variable which will hold the optimal bandwidth as determined by the function or the value supplied by the user. |
[in] | theta | A pointer to variable which will hold the optimal theta angle as determined by the function or the value supplied by the user. |
[in] | phi | A pointer to variable which will hold the optimal phi angle as determined by the function or the value supplied by the user. |
[in] | extraSpace | A pointer to variable which will hold the optimal between cells distance as determined by the function or the value supplied by the user. |
[in] | mapResDefault | A bool value specifying whether the resolution value supplied is the default, or whether it was supplied by the user. |
[in] | settings | The ProSHADE_settings container class with information about how to write the HTML report. |
[in] | Bfactor | Value to which all atomic B-factors will be changed. Default value is 80. |
[in] | hpFirstLineCom | Boolean value whether the first line of the PDB should be considered the center of mass. Leave with default false unless you know what you are doing. |
[in] | overlayDefaults | A bool value specifying whether the resulting map will be used for map overlay mode. If so, the shell distances are doubled to speed things up. |
Definition at line 77 of file ProSHADE_clipper.cpp.
void ProSHADE_internal::ProSHADE_data::getSphericalHarmonicsCoeffs | ( | unsigned int | bandwidth, |
ProSHADE::ProSHADE_settings * | settings | ||
) |
This function proceeds from the sphere mapped data to compute the spherical harmonics decomposition coefficients. It uses direct calls to the SOFT2.0 library and deals with data processing both pre and post computation. It further contains all the memory management, which is in this case excessive (SOFT2.0 is written in C and uses direct memory management ...)
[in] | bandwidth | The spherical harmonics cutoff. |
[in] | settings | The ProSHADE_settings class container with information about the HTML report and how to write it. |
Definition at line 362 of file ProSHADE_spharmonickit.cpp.
void ProSHADE_internal::ProSHADE_data::keepPhaseInMap | ( | double | alpha, |
double | bFac, | ||
unsigned int * | bandwidth, | ||
unsigned int * | theta, | ||
unsigned int * | phi, | ||
unsigned int * | glIntegOrder, | ||
ProSHADE::ProSHADE_settings * | settings, | ||
bool | useCom = true , |
||
double | maxMapIQR = 10.0 , |
||
int | verbose = 0 , |
||
bool | clearMapData = true , |
||
bool | rotDefaults = false , |
||
bool | overlapDefaults = false , |
||
double | blurFactor = 500.0 , |
||
bool | maskBlurFactorGiven = false |
||
) |
This function does all the data processing that is required when the phase is kept, that is it applies the structure factor coefficients if needed, mask map data, removes islands of density, re-scales the box and re-calculates the SH computation parameters for the re-scaled box.
[in] | alpha | The coefficient to which to raise the structure factors. 1 = Patterson map. |
[in] | bFac | At this point, it is still possible to change the B-factors, so if you so please, here is where to do it. |
[in] | bandwidth | A pointer to variable which will hold the optimal bandwidth as determined by the function or the value supplied by the user. |
[in] | theta | A pointer to variable which will hold the optimal theta angle as determined by the function or the value supplied by the user. |
[in] | phi | A pointer to variable which will hold the optimal phi angle as determined by the function or the value supplied by the user. |
[in] | extraSpace | A pointer to variable which will hold the optimal between cells distance as determined by the function or the value supplied by the user. |
[in] | useCom | A boolean value determining if Centre of Mass (COM) should be used to center the map. |
[in] | maxMapIQR | A double value specifying maximum number of interquartile ranges from mean to be used to threshold map masking. |
[in] | verbose | How loud should the function be in reporting progress. |
[in] | clearMapData | Should the map be cleaned? |
[in] | rotDefaults | Is this being done for rotating the structure? |
[in] | overlapDefaults | Is this being done for overlay mode? |
[in] | blurFactor | Masking blurring factor value. |
[in] | maskBlurFactorGiven | Did the user supply specific blurring factor value for masking? |
Definition at line 5547 of file ProSHADE_clipper.cpp.
void ProSHADE_internal::ProSHADE_data::mapPhaselessToSphere | ( | ProSHADE::ProSHADE_settings * | settings, |
double | theta, | ||
double | phi, | ||
double | shellSz, | ||
unsigned int | manualShells = 0 , |
||
bool | keepInMemory = false , |
||
bool | rotDefaults = false |
||
) |
This function computes the real XYZ positions of all grid points on all the spheres, finds the appropriate surrounding map densities and proceeds with tri-linear interpolation to determine the values at the spherical grid points. It also sets some of the internal parameters to speed up further procedures.
[in] | settings | The ProSHADE_settings class container with information about the HTML report and how to write it. |
[in] | theta | The resolution in the lattitude direction of the spheres. |
[in] | phi | The resolution in the longitude direction of the spheres. |
[in] | manualShells | Should the shells be determine automatically (0) or has the used desided them himself? |
[in] | keepInMemory | Should the density be deleted, or should it be kept for later? |
Definition at line 60 of file ProSHADE_spharmonickit.cpp.
void ProSHADE_internal::ProSHADE_data::maskMap | ( | int | hlpU, |
int | hlpV, | ||
int | hlpW, | ||
double | blurBy = 250.0 , |
||
double | maxMapIQR = 3.0 , |
||
double | extraMaskSpace = 3.0 |
||
) |
This function is called with the map dimmensions and blurring factor. It then proceeds to compute the fourier transform and add the blurring. Then, it takes the resulting map and it takes given number (default 3.0) interquartile ranges from the third quartile as a threshold to obtain the mask, which it then applies to the map.
[in] | hlpU | The number of indices in the U dimmension. |
[in] | hlpV | The number of indices in the V dimmension. |
[in] | hlpW | The number of indices in the W dimmension. |
[in] | blurBy | The parameter stating what amount of blurring should be applied. |
[in] | maxMapIQR | The number of interquartile ranges to use as a threshold for map masking. |
Definition at line 1625 of file ProSHADE_clipper.cpp.
void ProSHADE_internal::ProSHADE_data::matchMap | ( | ProSHADE_data * | matchTo | ) |
This function may be called upon successfull structure overlay to make one structure have the same dimmensions and sampling as the second structure.
[in] | matchTo | A pointer to ProSHADE_data structure to which the called upon structure should be re-sized and re-sampled. |
Definition at line 2037 of file ProSHADE_clipper.cpp.
void ProSHADE_internal::ProSHADE_data::normaliseMap | ( | ProSHADE::ProSHADE_settings * | settings | ) |
To make different structures more comparable, the internal map representation can be normalised as done by this function.
Definition at line 1463 of file ProSHADE_clipper.cpp.
void ProSHADE_internal::ProSHADE_data::precomputeRotInvDescriptor | ( | ProSHADE::ProSHADE_settings * | settings | ) |
This function computes the SUM_OVER_L { c_{l,m}(r) * c_{l,m'}(r')) } products of the spherical harmonics coefficients and saves them in in a set of matrices with dimmensions r and r' (therefore referred to as RRP matrices). The RRP matrices are the basis of the descriptor and can be pre-computed for each structure independently.
[in] | settings | The settings object allowing to write the HTML report, if need be. |
Definition at line 219 of file ProSHADE_descriptors.cpp.
bool ProSHADE_internal::ProSHADE_data::removeIslands | ( | int | hlpU, |
int | hlpV, | ||
int | hlpW, | ||
int | verbose = 0 , |
||
bool | runAll = false |
||
) |
This function starts with island detection and then proceeds to check whether there are just too many small islands, so that higher masking threshold could be beneficial. If it decides that the masking is about right, it checks specifically clusters in the map corners, as these tend not to be correct. It then finishes, returning value stating that no more map masking threshold changes are neeeded.
[in] | hlpU | The number of indices in the U dimmension. |
[in] | hlpV | The number of indices in the V dimmension. |
[in] | hlpW | The number of indices in the W dimmension. |
[in] | verbose | How much output would you like on the screen. |
[in] | runAll | If this parameter is true, will run even after determining that more masking would be beneficial. |
[out] | notTooManyIslands | Bool value being false if it seems like a decent number of islands and true otherwise. |
Definition at line 1851 of file ProSHADE_clipper.cpp.
void ProSHADE_internal::ProSHADE_data::removePhaseFromMap | ( | double | alpha, |
double | bFac, | ||
ProSHADE::ProSHADE_settings * | settings | ||
) |
This function uses FFTW transform to get the phase and magnitude values and then sets phase to 0, thus removing all the phase information. It then processes the Patterson (or rather Patterson-like, as the coefficient could be different) map so that it can easily be decomposed onto spherical harmonics coefficients.
[in] | alpha | The coefficient to which to raise the structure factors. 1 = Patterson map. |
[in] | bFac | At this point, it is still possible to change the B-factors, so if you so please, here is where to do it. |
Definition at line 5148 of file ProSHADE_clipper.cpp.
void ProSHADE_internal::ProSHADE_data::removePhaseFromMapOverlay | ( | double | alpha, |
double | bFac, | ||
ProSHADE::ProSHADE_settings * | settings | ||
) |
This function uses FFTW transform to get the phase and magnitude values and then sets phase to 0, thus removing all the phase information. It then processes the Patterson (or rather Patterson-like, as the coefficient could be different) map differently to the other function, this time with emphasis of data format similariry.
[in] | alpha | The coefficient to which to raise the structure factors. 1 = Patterson map. |
[in] | bFac | At this point, it is still possible to change the B-factors, so if you so please, here is where to do it. |
Definition at line 5357 of file ProSHADE_clipper.cpp.
void ProSHADE_internal::ProSHADE_data::shiftMap | ( | double | xShift, |
double | yShift, | ||
double | zShift | ||
) |
This function simply changes the header of a map to change the location of the map when visualised. This function will not affect the coordinate input data!
[in] | xShift | The number of angstroms by which the structure should be shifted along the X axis. |
[in] | yShift | The number of angstroms by which the structure should be shifted along the Y axis. |
[in] | zShift | The number of angstroms by which the structure should be shifted along the Z axis. |
Definition at line 2012 of file ProSHADE_clipper.cpp.
void ProSHADE_internal::ProSHADE_data::translateMap | ( | double | xShift, |
double | yShift, | ||
double | zShift | ||
) |
This function uses the FFT method to translate the density map (if _densityMapCor exists, then _densityMapCor, otherwise _densityMapMap) by the distances given by the three arguments in angstroms. It does not require interpolation as all is done in Fourier space.
[in] | xShift | The number of angstroms by which the structure should be translated along the X axis. |
[in] | yShift | The number of angstroms by which the structure should be translated along the Y axis. |
[in] | zShift | The number of angstroms by which the structure should be translated along the Z axis. |
Definition at line 2333 of file ProSHADE_clipper.cpp.