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

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
 

Detailed Description

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.

Constructor & Destructor Documentation

§ ProSHADE_data() [1/3]

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.

Parameters
[out]XObject capable of holding the structure data required for further analysis.
Warning
This class should not be directly accessed by the user.

Definition at line 111 of file ProSHADE_internal.cpp.

§ ProSHADE_data() [2/3]

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.

Parameters
[out]XObject holding the same information as the original object.
Warning
This class should not be directly accessed by the user.

Definition at line 174 of file ProSHADE_internal.cpp.

§ ProSHADE_data() [3/3]

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.

Parameters
[in]dbFilePointer to an opened file for finary reading with the database data.
[in]fNameThe filename of the structure to be read in.
[in]volThreMinThe minimal volume the structure needs to have to be read in instead of just skipped.
[in]volThreMaxThe maximum valume the structure needs to have to be read in instead of just skipped.
[in]verboseDetermines how loud the standard output should be.
[in]settingsAn instance of the ProSHADE_settings class for allowing the HTML report.
[out]XAn object with all the data loaded from the database file and ready for further processing.
Warning
This is an internal function which should not be used by the user.

Definition at line 3346 of file ProSHADE_saveLoad.cpp.

§ ~ProSHADE_data()

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.

Warning
This is an internal function which should not be used by the user.

Definition at line 446 of file ProSHADE_internal.cpp.

Member Function Documentation

§ findMapIslands()

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.

Parameters
[in]hlpUThe map X dimmension.
[in]hlpVThe map Y dimmension.
[in]hlpWThe map Z dimmension.
[in]mapA pointer to an array with all the map values.
[in]thresholdA threshold value under which the map values are considered background.
[out]XA vector of islands as detected by the procedure.
Warning
This is an internal function which should not be used by the user.

Definition at line 6237 of file ProSHADE_clipper.cpp.

§ fragmentMap()

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.

Parameters
[in]settingsThe settings object to be used to determine the settings.
[in]userCOMThis 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]XA vector of ProSHADE_data class pointers to data objects allowing access to all the fragments found.
Warning
This is an internal function which should not be used by the user. The user should set the parameters and it will be done automatically.

Definition at line 8543 of file ProSHADE_clipper.cpp.

§ getCOMandDist()

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.

Warning
This is an internal function which should not be used by the user.

Definition at line 1515 of file ProSHADE_clipper.cpp.

§ getDensityMapFromMAP()

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.

Parameters
[in]fileNameThe file name (and path) to the PDB file to be read in.
[in]shellDistanceThe intended distance between shells.
[in]resolutionThe resolution to which the map should be computed. This is the main parameter from which all other are derived.
[in]bandwidthA pointer to variable which will hold the optimal bandwidth as determined by the function or the value supplied by the user.
[in]thetaA pointer to variable which will hold the optimal theta angle as determined by the function or the value supplied by the user.
[in]phiA pointer to variable which will hold the optimal phi angle as determined by the function or the value supplied by the user.
[in]extraSpaceA pointer to variable which will hold the optimal between cells distance as determined by the function or the value supplied by the user.
[in]mapResDefaultA bool value specifying whether the resolution value supplied is the default, or whether it was supplied by the user.
[in]rotDefaultsA bool value telling the function whether map rotation is intended or not, as some settings do depend on this.
[in]overlayDefaultsA 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.
Warning
This is an internal function which should not be used by the user.

Definition at line 835 of file ProSHADE_clipper.cpp.

§ getDensityMapFromMAPFeatures()

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.

Parameters
[in]fileNameThe file name (and path) to the PDB file to be read in.
[in]minDensPreNormA pointer to variable storing the whole map minimum density value before normalisation.
[in]maxDensPreNormA pointer to variable storing the whole map maximum density value before normalisation.
[in]minDensPostNormA pointer to variable storing the whole map minimum density value after normalisation.
[in]maxDensPostNormA pointer to variable storing the whole map maximum density value after normalisation.
[in]postNormMeanA pointer to variable storing the whole map mean density value after normalisation.
[in]postNormSdevA pointer to variable storing the whole map standard deviation of density values after normalisation.
[in]maskVolumeA pointer to variable storing the volume of masked density in A^3.
[in]totalVolumeA pointer to variable storing the total volume of the cell in A^3.
[in]maskMeanA pointer to variable storing the masked part of the map mean density value after normalisation.
[in]maskSdevA pointer to variable storing the masked part of the map standard deviation density value after normalisation.
[in]maskMinA pointer to variable storing the masked part of the map minimum density value after normalisation.
[in]maskMaxA pointer to variable storing the masked part of the map maximum density value after normalisation.
[in]maskDensityRMSA pointer to variable storing the masked part of the map RMS value after normalisation.
[in]allDensityRMSA pointer to variable storing the whole map RMS value after normalisation.
[in]maxMapIQRA double value to specify the number of interquartile ranges from the median to be used to threshold map masking.
[in]useCubicMapsThis parameter determines if the clear map compued should be rectangular or cubic (older versions of refmac may require this).
[in]maskBlurFactorHow much should the map be blurred to compute the mask?
[in]maskBlurFactorGivenWas the blurring factor value supplied by the user, or are we working with default?
[in]reboxAtAllShould the re-boxing be done for the output structure, or not?
[in]settingsThe settings contained required for writing into the HTML report, if required.
Warning
This is an internal function which should not be used by the user.

Definition at line 3705 of file ProSHADE_clipper.cpp.

§ getDensityMapFromMAPRebox()

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

Parameters
[in]fileNameThe file name (and path) to the PDB file to be read in.
[in]maxMapIQRA double value to specify the number of interquartile ranges from the median to be used to threshold map masking.
[in]extraCSThis value specifies how many angstroms should be added to each box size over the map determined minimum.
[in]verboseInt value specifying how loud the function should in the standard output.
[in]useCubicMapsThis parameter determines if the clear map compued should be rectangular or cubic (older versions of refmac may require this).
[in]maskBlurFactorHow much should the map be blurred to compute the mask?
[in]maskBlurFactorGivenWas the blurring factor value supplied by the user, or are we working with default?
Warning
This is an internal function which should not be used by the user.

Definition at line 2488 of file ProSHADE_clipper.cpp.

§ getDensityMapFromPDB()

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.

Parameters
[in]fileNameThe file name (and path) to the PDB file to be read in.
[in]shellDistanceThe intended distance between shells.
[in]resolutionThe resolution to which the map should be computed. This is the main parameter from which all other are derived.
[in]bandwidthA pointer to variable which will hold the optimal bandwidth as determined by the function or the value supplied by the user.
[in]thetaA pointer to variable which will hold the optimal theta angle as determined by the function or the value supplied by the user.
[in]phiA pointer to variable which will hold the optimal phi angle as determined by the function or the value supplied by the user.
[in]extraSpaceA pointer to variable which will hold the optimal between cells distance as determined by the function or the value supplied by the user.
[in]mapResDefaultA bool value specifying whether the resolution value supplied is the default, or whether it was supplied by the user.
[in]settingsThe ProSHADE_settings container class with information about how to write the HTML report.
[in]BfactorValue to which all atomic B-factors will be changed. Default value is 80.
[in]hpFirstLineComBoolean 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]overlayDefaultsA 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.
Warning
This is an internal function which should not be used by the user.

Definition at line 77 of file ProSHADE_clipper.cpp.

§ getSphericalHarmonicsCoeffs()

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 ...)

Parameters
[in]bandwidthThe spherical harmonics cutoff.
[in]settingsThe ProSHADE_settings class container with information about the HTML report and how to write it.
Warning
This is an internal function which should not be used by the user.

Definition at line 362 of file ProSHADE_spharmonickit.cpp.

§ keepPhaseInMap()

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.

Parameters
[in]alphaThe coefficient to which to raise the structure factors. 1 = Patterson map.
[in]bFacAt this point, it is still possible to change the B-factors, so if you so please, here is where to do it.
[in]bandwidthA pointer to variable which will hold the optimal bandwidth as determined by the function or the value supplied by the user.
[in]thetaA pointer to variable which will hold the optimal theta angle as determined by the function or the value supplied by the user.
[in]phiA pointer to variable which will hold the optimal phi angle as determined by the function or the value supplied by the user.
[in]extraSpaceA pointer to variable which will hold the optimal between cells distance as determined by the function or the value supplied by the user.
[in]useComA boolean value determining if Centre of Mass (COM) should be used to center the map.
[in]maxMapIQRA double value specifying maximum number of interquartile ranges from mean to be used to threshold map masking.
[in]verboseHow loud should the function be in reporting progress.
[in]clearMapDataShould the map be cleaned?
[in]rotDefaultsIs this being done for rotating the structure?
[in]overlapDefaultsIs this being done for overlay mode?
[in]blurFactorMasking blurring factor value.
[in]maskBlurFactorGivenDid the user supply specific blurring factor value for masking?
Warning
This is an internal function which should not be used by the user.

Definition at line 5547 of file ProSHADE_clipper.cpp.

§ mapPhaselessToSphere()

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.

Parameters
[in]settingsThe ProSHADE_settings class container with information about the HTML report and how to write it.
[in]thetaThe resolution in the lattitude direction of the spheres.
[in]phiThe resolution in the longitude direction of the spheres.
[in]manualShellsShould the shells be determine automatically (0) or has the used desided them himself?
[in]keepInMemoryShould the density be deleted, or should it be kept for later?
Warning
This is an internal function which should not be used by the user.

Definition at line 60 of file ProSHADE_spharmonickit.cpp.

§ maskMap()

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.

Parameters
[in]hlpUThe number of indices in the U dimmension.
[in]hlpVThe number of indices in the V dimmension.
[in]hlpWThe number of indices in the W dimmension.
[in]blurByThe parameter stating what amount of blurring should be applied.
[in]maxMapIQRThe number of interquartile ranges to use as a threshold for map masking.
Warning
This is an internal function which should not be used by the user.

Definition at line 1625 of file ProSHADE_clipper.cpp.

§ matchMap()

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.

Parameters
[in]matchToA pointer to ProSHADE_data structure to which the called upon structure should be re-sized and re-sampled.
Warning
This is an internal function which should not be used by the user.
This function will have no effect on coordinate input data.

Definition at line 2037 of file ProSHADE_clipper.cpp.

§ normaliseMap()

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.

Warning
This is an internal function which should not be used by the user.

Definition at line 1463 of file ProSHADE_clipper.cpp.

§ precomputeRotInvDescriptor()

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.

Parameters
[in]settingsThe settings object allowing to write the HTML report, if need be.
Warning
This is an internal function which should not be used by the user.

Definition at line 219 of file ProSHADE_descriptors.cpp.

§ removeIslands()

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.

Parameters
[in]hlpUThe number of indices in the U dimmension.
[in]hlpVThe number of indices in the V dimmension.
[in]hlpWThe number of indices in the W dimmension.
[in]verboseHow much output would you like on the screen.
[in]runAllIf this parameter is true, will run even after determining that more masking would be beneficial.
[out]notTooManyIslandsBool value being false if it seems like a decent number of islands and true otherwise.
Warning
This is an internal function which should not be used by the user.

Definition at line 1851 of file ProSHADE_clipper.cpp.

§ removePhaseFromMap()

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.

Parameters
[in]alphaThe coefficient to which to raise the structure factors. 1 = Patterson map.
[in]bFacAt this point, it is still possible to change the B-factors, so if you so please, here is where to do it.
Warning
This is an internal function which should not be used by the user.

Definition at line 5148 of file ProSHADE_clipper.cpp.

§ removePhaseFromMapOverlay()

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.

Parameters
[in]alphaThe coefficient to which to raise the structure factors. 1 = Patterson map.
[in]bFacAt this point, it is still possible to change the B-factors, so if you so please, here is where to do it.
Warning
This is an internal function which should not be used by the user.

Definition at line 5357 of file ProSHADE_clipper.cpp.

§ shiftMap()

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!

Parameters
[in]xShiftThe number of angstroms by which the structure should be shifted along the X axis.
[in]yShiftThe number of angstroms by which the structure should be shifted along the Y axis.
[in]zShiftThe number of angstroms by which the structure should be shifted along the Z axis.
Warning
This is an internal function which should not be used by the user.
This function will have no effect on coordinate input data.

Definition at line 2012 of file ProSHADE_clipper.cpp.

§ translateMap()

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.

Parameters
[in]xShiftThe number of angstroms by which the structure should be translated along the X axis.
[in]yShiftThe number of angstroms by which the structure should be translated along the Y axis.
[in]zShiftThe number of angstroms by which the structure should be translated along the Z axis.
Warning
This is an internal function which should not be used by the user.

Definition at line 2333 of file ProSHADE_clipper.cpp.


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