ProSHADE: src/proshade/ProSHADE_mapManip.hpp File Reference

| ProSHADE 0.7.5.4 (MAR 2021) Protein Shape Detection

Namespaces | Functions
ProSHADE_mapManip.hpp File Reference

This header file declares the ProSHADE_internal_mapManip namespace, which groups functions for internal map manipulation. More...

`#include "ProSHADE_io.hpp"`

Go to the source code of this file.

## Namespaces
| ProSHADE_internal_mapManip
| This namespace contains the internal functions for manipulating maps already present in the internal structures.

## Functions
proshade_signed | ProSHADE_internal_mapManip::myRound (proshade_double x)
| Calls the appropriate version of round function depending on compiler version. More...
void | ProSHADE_internal_mapManip::determinePDBRanges (gemmi::Structure pdbFile, proshade_single *xFrom, proshade_single *xTo, proshade_single *yFrom, proshade_single *yTo, proshade_single *zFrom, proshade_single *zTo, bool firstModel)
| Function for finding the PDB file ranges. More...
void | ProSHADE_internal_mapManip::findPDBCOMValues (gemmi::Structure pdbFile, proshade_double *xCom, proshade_double *yCom, proshade_double *zCom, bool firstModel)
| This function finds the Centre of Mass for the co-ordinate file. More...
void | ProSHADE_internal_mapManip::findMAPCOMValues (proshade_double *map, proshade_double *xCom, proshade_double *yCom, proshade_double *zCom, proshade_single xAngs, proshade_single yAngs, proshade_single zAngs, proshade_signed xFrom, proshade_signed xTo, proshade_signed yFrom, proshade_signed yTo, proshade_signed zFrom, proshade_signed zTo)
| This function finds the Centre of Mass for a map. More...
void | ProSHADE_internal_mapManip::rotatePDBCoordinates (gemmi::Structure *pdbFile, proshade_double euA, proshade_double euB, proshade_double euG, proshade_double xCom, proshade_double yCom, proshade_double zCom, bool firstModel)
| Function for rotating the PDB file co-ordinates by Euler angles. More...
void | ProSHADE_internal_mapManip::translatePDBCoordinates (gemmi::Structure *pdbFile, proshade_double transX, proshade_double transY, proshade_double transZ, bool firstModel)
| Function for translating the PDB file co-ordinates by given distances in Angstroms. More...
void | ProSHADE_internal_mapManip::changePDBBFactors (gemmi::Structure *pdbFile, proshade_double newBFactorValue, bool firstModel)
| Function for changing the PDB B-factor values to a specific single value. More...
void | ProSHADE_internal_mapManip::removeWaters (gemmi::Structure *pdbFile, bool firstModel)
| This function removed all waters from PDB input file. More...
void | ProSHADE_internal_mapManip::movePDBForMapCalc (gemmi::Structure *pdbFile, proshade_single xMov, proshade_single yMov, proshade_single zMov, bool firstModel)
| Function for moving co-ordinate atoms to better suit theoretical map computation. More...
void | ProSHADE_internal_mapManip::generateMapFromPDB (gemmi::Structure pdbFile, proshade_double *&map, proshade_single requestedResolution, proshade_single xCell, proshade_single yCell, proshade_single zCell, proshade_signed *xTo, proshade_signed *yTo, proshade_signed *zTo, bool forceP1, bool firstModel)
| This function generates a theoretical map from co-ordinate input files. More...
void | ProSHADE_internal_mapManip::moveMapByIndices (proshade_single *xMov, proshade_single *yMov, proshade_single *zMov, proshade_single xAngs, proshade_single yAngs, proshade_single zAngs, proshade_signed *xFrom, proshade_signed *xTo, proshade_signed *yFrom, proshade_signed *yTo, proshade_signed *zFrom, proshade_signed *zTo, proshade_signed *xOrigin, proshade_signed *yOrigin, proshade_signed *zOrigin)
| Function for moving map back to original PDB location by changing the indices. More...
void | ProSHADE_internal_mapManip::moveMapByFourier (proshade_double *&map, proshade_single xMov, proshade_single yMov, proshade_single zMov, proshade_single xAngs, proshade_single yAngs, proshade_single zAngs, proshade_signed xDim, proshade_signed yDim, proshade_signed zDim)
| Function for moving map back to original PDB location by using Fourier transformation. More...
void | ProSHADE_internal_mapManip::blurSharpenMap (proshade_double *&map, proshade_double *&maskedMap, proshade_unsign xDimS, proshade_unsign yDimS, proshade_unsign zDimS, proshade_single xAngs, proshade_single yAngs, proshade_single zAngs, proshade_single blurringFactor)
| Function for blurring/sharpening maps. More...
void | ProSHADE_internal_mapManip::getMaskFromBlurr (proshade_double *&blurMap, proshade_double *&outMap, proshade_unsign xDimS, proshade_unsign yDimS, proshade_unsign zDimS, proshade_single noIQRs)
| Function for computing mask from blurred map. More...
void | ProSHADE_internal_mapManip::getNonZeroBounds (proshade_double *map, proshade_signed xDim, proshade_signed yDim, proshade_signed zDim, proshade_single xAngs, proshade_single yAngs, proshade_single zAngs, proshade_signed *&ret)
| Function for finding the map boundaries enclosing positive only values. More...
void | ProSHADE_internal_mapManip::addExtraBoundSpace (proshade_unsign xDim, proshade_unsign yDim, proshade_unsign zDim, proshade_single xAngs, proshade_single yAngs, proshade_single zAngs, proshade_signed *&bounds, proshade_single extraSpace)
| This function takes a set of bounds and adds a given number of Angstroms to them. More...
void | ProSHADE_internal_mapManip::reSampleMapToResolutionTrilinear (proshade_double *&map, proshade_single resolution, proshade_unsign xDimS, proshade_unsign yDimS, proshade_unsign zDimS, proshade_single xAngs, proshade_single yAngs, proshade_single zAngs, proshade_single *&corrs)
| This function re-samples a map to conform to given resolution using tri-linear interpolation. More...
void | ProSHADE_internal_mapManip::reSampleMapToResolutionFourier (proshade_double *&map, proshade_single resolution, proshade_unsign xDimS, proshade_unsign yDimS, proshade_unsign zDimS, proshade_single xAngs, proshade_single yAngs, proshade_single zAngs, proshade_single *&corrs)
| This function re-samples a map to conform to given resolution using Fourier. More...
void | ProSHADE_internal_mapManip::allocateResolutionFourierMemory (fftw_complex *&origMap, fftw_complex *&fCoeffs, fftw_complex *&newFCoeffs, fftw_complex *&newMap, fftw_plan &planForwardFourier, fftw_plan &planBackwardRescaledFourier, proshade_unsign xDimOld, proshade_unsign yDimOld, proshade_unsign zDimOld, proshade_unsign xDimNew, proshade_unsign yDimNew, proshade_unsign zDimNew)
| This function allocates and checks the allocatio of the memory required by the Fourier resampling. More...
void | ProSHADE_internal_mapManip::releaseResolutionFourierMemory (fftw_complex *&origMap, fftw_complex *&fCoeffs, fftw_complex *&newFCoeffs, fftw_complex *&newMap, fftw_plan &planForwardFourier, fftw_plan &planBackwardRescaledFourier)
| This function releases the memory required by the Fourier resampling. More...
void | ProSHADE_internal_mapManip::changeFourierOrder (fftw_complex *&fCoeffs, proshade_signed xDim, proshade_signed yDim, proshade_signed zDim, bool negativeFirst)
| This function changes the order of Fourier coefficients in a 3D array between positive first (default) and negative first (mass centered at xMax/2, yMax/2, zMax/2 instead of 0,0,0) More...
void | ProSHADE_internal_mapManip::removeMapPhase (fftw_complex *&mapCoeffs, proshade_unsign xDim, proshade_unsign yDim, proshade_unsign zDim)
| This function removes the phase from reciprocal (frequency) map. More...
void | ProSHADE_internal_mapManip::getFakeHalfMap (proshade_double *&map, proshade_double *&fakeHalfMap, proshade_unsign xDimS, proshade_unsign yDimS, proshade_unsign zDimS, proshade_signed fakeMapKernel)
| Function for creating "fake" half-maps. More...
void | ProSHADE_internal_mapManip::getCorrelationMapMask (proshade_double *&map, proshade_double *&fakeHalfMap, proshade_double *&correlationMask, proshade_unsign xDimS, proshade_unsign yDimS, proshade_unsign zDimS, proshade_signed corrMaskKernel)
| Function for creating the correlation mask. More...
proshade_single | ProSHADE_internal_mapManip::getIndicesFromAngstroms (proshade_unsign xDim, proshade_unsign yDim, proshade_unsign zDim, proshade_single xAngs, proshade_single yAngs, proshade_single zAngs, proshade_single dist)
| This function converts distance in Angstroms to distance in map indices. More...
void | ProSHADE_internal_mapManip::connectMaskBlobs (proshade_double *&mask, proshade_signed xDim, proshade_signed yDim, proshade_signed zDim, proshade_single xAngs, proshade_single yAngs, proshade_single zAngs, proshade_single maskThres)
| This function connects blobs in mask. More...
void | ProSHADE_internal_mapManip::beautifyBoundaries (proshade_signed *&bounds, proshade_unsign xDim, proshade_unsign yDim, proshade_unsign zDim, proshade_signed boundsDiffThres, proshade_signed verbose)
| Function for modifying boundaries to a mathematically more pleasant values. More...
proshade_signed | ProSHADE_internal_mapManip::betterClosePrimeFactors (proshade_signed fromRange, proshade_signed toRange)
| Function for finding close numbers with better prime factors. More...
void | ProSHADE_internal_mapManip::distributeSpaceToBoundaries (proshade_signed &minBound, proshade_signed &maxBound, proshade_signed oldBoundRange, proshade_signed newBoundRange)
| Function for adding space to boundaries within the map confines. More...
void | ProSHADE_internal_mapManip::copyMapByBounds (proshade_signed xFrom, proshade_signed xTo, proshade_signed yFrom, proshade_signed yTo, proshade_signed zFrom, proshade_signed zTo, proshade_signed origXFrom, proshade_signed origYFrom, proshade_signed origZFrom, proshade_signed yDimIndices, proshade_signed zDimIndices, proshade_signed origXDimIndices, proshade_signed origYDimIndices, proshade_signed origZDimIndices, proshade_double *&newMap, proshade_double *origMap)
| This function copies an old map to a new map with different boundaries. More...

## Detailed Description

This header file declares the ProSHADE_internal_mapManip namespace, which groups functions for internal map manipulation.

The functions grouped here are used to modify the internal density map, or the gemmi library objects from which an internal map will be computed. These functions deal with the boundaries and their changes, re-sampling using trilinear interpolation or phase remova, to name a few examples.

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_mapManip.hpp.