ProSHADE  0.7.5.4 (MAR 2021)
Protein Shape Detection
ProSHADE_peakSearch.hpp File Reference

This header file declares functions required for 3D map peak searching. More...

#include "ProSHADE_data.hpp"

Go to the source code of this file.

Namespaces

 

Functions

std::vector< proshade_double * > ProSHADE_internal_peakSearch::findAllPointsAboveNeighbours (proshade_complex *map, proshade_unsign dim, proshade_signed peakSize, proshade_double *medianIQR)
 This function finds all indices with higher value then all neighbours. More...
 
void ProSHADE_internal_peakSearch::pointsAboveNeighboursRemoveSmallHeight (std::vector< proshade_double * > *pointVec, proshade_double *medianIQR, proshade_double noIQRs)
 This function clears the 'higher than neighbour' vector from background values. More...
 
void ProSHADE_internal_peakSearch::allocatePeakOptimisationMemory (proshade_double *&avgMat, proshade_double *&hlpMap, proshade_double *&eA, proshade_double *&eB, proshade_double *&eG, proshade_double *&uAV)
 This function allocates and checks all the peak optimisation memory. More...
 
void ProSHADE_internal_peakSearch::releasePeakOptimisationMemory (proshade_double *&avgMat, proshade_double *&hlpMap, proshade_double *&eA, proshade_double *&eB, proshade_double *&eG, proshade_double *&uAV)
 This function deletes all the peak optimisation memory. More...
 
void ProSHADE_internal_peakSearch::optimisePeakPositions (std::vector< proshade_double * > *pointVec, proshade_signed peakSize, proshade_signed band)
 This function optimises all the peaks in the input vector using the values of their neighbours. More...
 
std::vector< proshade_double * > ProSHADE_internal_peakSearch::getAllPeaksNaive (proshade_complex *map, proshade_unsign dim, proshade_signed peakSize, proshade_double noIQRs)
 This function finds peaks in the 3D map using the "naive" approach. More...
 
void ProSHADE_internal_peakSearch::getBestPeakEulerAngsNaive (proshade_complex *map, proshade_unsign dim, proshade_double *eulA, proshade_double *eulB, proshade_double *eulG, ProSHADE_settings *settings)
 This function finds the highest peaks optimised Euler angles using the "naive" approach. More...
 
void ProSHADE_internal_peakSearch::allocateSmoothingZScoreMemory (proshade_unsign dim, proshade_double *&scoreOverVals, proshade_signed *&signals, proshade_double *&filteredY, proshade_double *&avgFilter, proshade_double *&stdFilter, proshade_double *&subVec, proshade_double *&medianIQR, proshade_double *&YZMap, proshade_double *&XZMap, proshade_double *&XYMap, proshade_unsign smLag)
 This function allocates the memory required for smoothed Z score computation. More...
 
void ProSHADE_internal_peakSearch::releaseSmoothingZScoreMemory (proshade_double *&scoreOverVals, proshade_signed *&signals, proshade_double *&filteredY, proshade_double *&avgFilter, proshade_double *&stdFilter, proshade_double *&subVec, proshade_double *&medianIQR, proshade_double *&YZMap, proshade_double *&XZMap, proshade_double *&XYMap)
 This function releases the memory required for smoothed Z score computation. More...
 
void ProSHADE_internal_peakSearch::getSmoothedZScore1D (proshade_unsign dim, proshade_unsign smoothingLag, proshade_double ZScoreThreshold, proshade_signed *signals, proshade_double *filteredY, proshade_double *avgFilter, proshade_double *stdFilter, proshade_double *subVec, proshade_double *medianIQR, proshade_double *scoreOverVals)
 This function computes the 1D peaks for a 1D input array and returns array of int's as signal. More...
 
void ProSHADE_internal_peakSearch::getXAxisArraysSmoothedZScorePeaks (proshade_unsign dim, proshade_unsign smoothingLag, proshade_double ZScoreThreshold, proshade_signed *signals, proshade_double *filteredY, proshade_double *avgFilter, proshade_double *stdFilter, proshade_double *subVec, proshade_double *medianIQR, proshade_double *scoreOverVals, proshade_complex *map, proshade_double *YZMap)
 This function runs the 1D smoothed Z score algorithm on all X-axis arrays as its inputs. More...
 
void ProSHADE_internal_peakSearch::getYAxisArraysSmoothedZScorePeaks (proshade_unsign dim, proshade_unsign smoothingLag, proshade_double ZScoreThreshold, proshade_signed *signals, proshade_double *filteredY, proshade_double *avgFilter, proshade_double *stdFilter, proshade_double *subVec, proshade_double *medianIQR, proshade_double *scoreOverVals, proshade_complex *map, proshade_double *XZMap)
 This function runs the 1D smoothed Z score algorithm on all Y-axis arrays as its inputs. More...
 
void ProSHADE_internal_peakSearch::getZAxisArraysSmoothedZScorePeaks (proshade_unsign dim, proshade_unsign smoothingLag, proshade_double ZScoreThreshold, proshade_signed *signals, proshade_double *filteredY, proshade_double *avgFilter, proshade_double *stdFilter, proshade_double *subVec, proshade_double *medianIQR, proshade_double *scoreOverVals, proshade_complex *map, proshade_double *XYMap)
 This function runs the 1D smoothed Z score algorithm on all Z-axis arrays as its inputs. More...
 
void ProSHADE_internal_peakSearch::findAllPointNeighbours (proshade_double *YZMap, proshade_double *XZMap, proshade_double *XYMap, proshade_unsign *visitedMap, proshade_signed dim, proshade_signed x, proshade_signed y, proshade_signed z, std::vector< proshade_unsign > *retVals)
 This is a support function for the Z-score peak detection. It is currently not being used. More...
 
void ProSHADE_internal_peakSearch::findAllDisconnectedIslands (proshade_complex *map, proshade_double *YZMap, proshade_double *XZMap, proshade_double *XYMap, proshade_unsign dim, std::vector< proshade_unsign > *allIslandBests)
 This function combines the three Z score maps, locates individual islands and returns a vector of highest point indices for each such island. More...
 
void ProSHADE_internal_peakSearch::findAllSmoothedZScorePeaksWithNeighbours (proshade_complex *map, proshade_double *YZMap, proshade_double *XZMap, proshade_double *XYMap, proshade_signed dim, proshade_signed peakSize, std::vector< proshade_double * > *allPeaksWithNeighbours)
 This function firstly determines the highest peak of all smoothed Z score islands and then returns this point as well as all its neighbours. More...
 
std::vector< proshade_double * > ProSHADE_internal_peakSearch::getAllPeaksSmoothedZ (proshade_complex *map, proshade_unsign dim, proshade_double smoothingFraction, proshade_double noIQRs, proshade_signed peakSize)
 This function finds peaks in the 3D map using the smoothed Z score approach. More...
 
void ProSHADE_internal_peakSearch::getBestPeakEulerAngsSmoothedZ (proshade_complex *map, proshade_unsign dim, proshade_double smoothingFraction, proshade_double noIQRs, proshade_signed peakSize, proshade_double *eulA, proshade_double *eulB, proshade_double *eulG)
 This function finds the highest peaks optimised Euler angles using the smoothed Z score approach. More...
 

Detailed Description

This header file declares functions required for 3D map peak searching.

This header file declares the ProSHADE_internal_peakSearch namespace, which groups all the ProSHADE functions used to search for 3D density map peaks and processing them, including peak position optimisation.

Copyright by Michal Tykac and individual contributors. All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1) Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2) Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3) Neither the name of Michal Tykac nor the names of this code's contributors may be used to endorse or promote products derived from this software without specific prior written permission.

This software is provided by the copyright holder and contributors "as is" and any express or implied warranties, including, but not limitted to, the implied warranties of merchantibility and fitness for a particular purpose are disclaimed. In no event shall the copyright owner or the contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limitted to, procurement of substitute goods or services, loss of use, data or profits, or business interuption) however caused and on any theory of liability, whether in contract, strict liability or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.

Author
Michal Tykac
Garib N. Murshudov
Version
0.7.5.4
Date
MAR 2021

Definition in file ProSHADE_peakSearch.hpp.