 |
ProSHADE
0.7.6.0 (JUL 2021)
Protein Shape Detection
|
Go to the documentation of this file.
23 #include <pybind11/pybind11.h>
24 #include <pybind11/stl.h>
25 #include <pybind11/numpy.h>
28 void add_settingsClass ( pybind11::module& pyProSHADE )
31 pybind11::class_ < ProSHADE_settings > ( pyProSHADE,
"ProSHADE_settings" )
34 .def ( pybind11::init < > ( ) )
35 .def ( pybind11::init < ProSHADE_Task > ( ), pybind11::arg (
"task" ) )
102 .def_readwrite (
"axisErrToleranceDefault", &ProSHADE_settings::axisErrToleranceDefault )
121 .def (
"setResolution", &
ProSHADE_settings::setResolution,
"This function sets the resolution in the appropriate variable.", pybind11::arg (
"resolution" ) )
122 .def (
"setPDBBFactor", &
ProSHADE_settings::setPDBBFactor,
"Sets the requested B-factor value for PDB files in the appropriate variable.", pybind11::arg (
"newBF" ) )
123 .def (
"setNormalisation", &
ProSHADE_settings::setNormalisation,
"Sets the requested map normalisation value in the appropriate variable.", pybind11::arg (
"normalise" ) )
127 .def (
"setMaskIQR", &
ProSHADE_settings::setMaskIQR,
"Sets the requested number of IQRs for masking threshold in the appropriate variable.", pybind11::arg (
"noIQRs" ) )
128 .def (
"setMasking", &
ProSHADE_settings::setMasking,
"Sets the requested map masking decision value in the appropriate variable.", pybind11::arg (
"mask" ) )
136 .def (
"setBoundsSpace", &
ProSHADE_settings::setBoundsSpace,
"Sets the requested number of angstroms for extra space in re-boxing in the appropriate variable.", pybind11::arg (
"boundsExSp" ) )
137 .def (
"setBoundsThreshold", &
ProSHADE_settings::setBoundsThreshold,
"Sets the threshold for number of indices difference acceptable to make index sizes same in the appropriate variable.", pybind11::arg (
"boundsThres" ) )
142 .def (
"setMapCentering", &
ProSHADE_settings::setMapCentering,
"Sets the requested map centering decision value in the appropriate variable.", pybind11::arg (
"com" ) )
143 .def (
"setExtraSpace", &
ProSHADE_settings::setExtraSpace,
"Sets the requested map extra space value in the appropriate variable.", pybind11::arg (
"exSpace" ) )
144 .def (
"setBandwidth", &
ProSHADE_settings::setBandwidth,
"Sets the requested spherical harmonics bandwidth in the appropriate variable.", pybind11::arg (
"band" ) )
147 .def (
"setIntegrationOrder", &
ProSHADE_settings::setIntegrationOrder,
"Sets the requested order for the Gauss-Legendre integration in the appropriate variable.", pybind11::arg (
"intOrd" ) )
148 .def (
"setTaylorSeriesCap", &
ProSHADE_settings::setTaylorSeriesCap,
"Sets the requested Taylor series cap for the Gauss-Legendre integration in the appropriate variable.", pybind11::arg (
"tayCap" ) )
153 .def (
"setPeakNaiveNoIQR", &
ProSHADE_settings::setPeakNaiveNoIQR,
"Sets the number of IQRs from the median for threshold height a peak needs to be considered a peak.", pybind11::arg (
"noIQRs" ) )
172 .def (
"setPeakThreshold", &
ProSHADE_settings::setPeakThreshold,
"Sets the minimum peak height threshold for axis to be considered possible.", pybind11::arg (
"peakThr" ) )
173 .def (
"setNegativeDensity", &
ProSHADE_settings::setNegativeDensity,
"Sets the internal variable deciding whether input files negative density should be removed.", pybind11::arg (
"nDens" ) )
176 .def (
"getCommandLineParams",
179 std::vector < char * > cstrs; cstrs.reserve ( args.size() );
181 for (
auto &s : args )
182 cstrs.push_back (
const_cast < char *
> ( s.c_str ( ) ) );
184 return self.getCommandLineParams (
static_cast< int > ( cstrs.size ( ) ), cstrs.data ( ) );
185 },
"This function takes a VectorOfStrings and parses it as if it were command line arguments, filling in the calling ProSHADE_settings class with the values." )
191 .def (
"__repr__", [] ( ) {
return "<ProSHADE_settings class object> (Settings class is used to set all settings values in a single place)"; } );
194 pybind11::class_ < ProSHADE_run > ( pyProSHADE,
"ProSHADE_run" )
197 .def ( pybind11::init < ProSHADE_settings* > ( ) )
204 .def (
"getEnergyLevelsVector",
205 [] (
ProSHADE_run &
self ) -> pybind11::array_t < float >
208 std::vector< proshade_double > vals =
self.getEnergyLevelsVector ();
211 float* npVals =
new float[
static_cast<unsigned int> (vals.size())];
215 for ( proshade_unsign iter = 0; iter < static_cast<proshade_unsign> ( vals.size() ); iter++ ) { npVals[iter] =
static_cast< float > ( vals.at(iter) ); }
218 pybind11::capsule pyCapsuleEnLevs ( npVals, [](
void *f ) {
float* foo =
reinterpret_cast< float*
> ( f );
delete foo; } );
221 pybind11::array_t < float > retArr = pybind11::array_t<float> ( {
static_cast<unsigned int> (vals.size()) },
228 },
"This function returns the energy level distances vector from the first to all other structures." )
230 .def (
"getTraceSigmaVector",
231 [] (
ProSHADE_run &
self ) -> pybind11::array_t < float >
234 std::vector< proshade_double > vals =
self.getTraceSigmaVector ();
237 float* npVals =
new float[
static_cast<unsigned int> (vals.size())];
241 for ( proshade_unsign iter = 0; iter < static_cast<proshade_unsign> ( vals.size() ); iter++ ) { npVals[iter] =
static_cast< float > ( vals.at(iter) ); }
244 pybind11::capsule pyCapsuleTrSigs ( npVals, [](
void *f ) {
float* foo =
reinterpret_cast< float*
> ( f );
delete foo; } );
247 pybind11::array_t < float > retArr = pybind11::array_t<float> ( {
static_cast<unsigned int> (vals.size()) },
254 },
"This function returns the trace sigma distances vector from the first to all other structures." )
256 .def (
"getRotationFunctionVector",
257 [] (
ProSHADE_run &
self ) -> pybind11::array_t < float >
260 std::vector< proshade_double > vals =
self.getRotationFunctionVector ();
263 float* npVals =
new float[
static_cast<unsigned int> (vals.size())];
267 for ( proshade_unsign iter = 0; iter < static_cast<proshade_unsign> ( vals.size() ); iter++ ) { npVals[iter] =
static_cast< float > ( vals.at(iter) ); }
270 pybind11::capsule pyCapsuleRotFun ( npVals, [](
void *f ) {
float* foo =
reinterpret_cast< float*
> ( f );
delete foo; } );
273 pybind11::array_t < float > retArr = pybind11::array_t<float> ( {
static_cast<unsigned int> (vals.size()) },
280 },
"This function returns the full rotation function distances vector from the first to all other structures." )
283 .def (
"getSymmetryType", &
ProSHADE_run::getSymmetryType,
"This is the main accessor function for the user to get to know what symmetry type ProSHADE has detected and recommends." )
284 .def (
"getSymmetryFold", &
ProSHADE_run::getSymmetryFold,
"This is the main accessor function for the user to get to know what symmetry fold ProSHADE has detected and recommends." )
285 .def (
"getSymmetryAxis", &
ProSHADE_run::getSymmetryAxis,
"This function returns a single symmetry axis as a vector of strings from the recommended symmetry axes list.", pybind11::arg (
"axisNo" ) )
286 .def (
"getAllCSyms",
287 [] (
ProSHADE_run &
self ) -> pybind11::array_t < float >
290 std::vector< std::vector< proshade_double > > vals =
self.getAllCSyms ();
293 float* npVals =
new float[
static_cast<unsigned int> ( vals.size() * 7 )];
297 for ( proshade_unsign iter = 0; iter < static_cast<proshade_unsign> ( vals.size() ); iter++ ) {
for ( proshade_unsign it = 0; it < 7; it++ ) { npVals[(iter*7)+it] =
static_cast< float > ( vals.at(iter).at(it) ); } }
300 pybind11::capsule pyCapsuleSymList ( npVals, [](
void *f ) {
float* foo =
reinterpret_cast< float*
> ( f );
delete foo; } );
303 pybind11::array_t < float > retArr = pybind11::array_t<float> ( {
static_cast<int> ( vals.size() ),
static_cast<int> ( 7 ) },
304 { 7 *
sizeof(float),
sizeof(
float) },
310 },
"This function returns a all symmetry axes as a 2D numpy array." )
311 .def (
"getMapCOMProcessChange",
312 [] (
ProSHADE_run &
self ) -> pybind11::array_t < float >
315 std::vector< proshade_double > vals =
self.getMapCOMProcessChange ();
318 float* npVals =
new float[
static_cast<unsigned int> ( 3 )];
322 for ( proshade_unsign iter = 0; iter < 3; iter++ ) { npVals[iter] =
static_cast< float > ( vals.at(iter) ); }
325 pybind11::capsule pyCapsuleSymShift ( npVals, [](
void *f ) {
float* foo =
reinterpret_cast< float*
> ( f );
delete foo; } );
328 pybind11::array_t < float > retArr = pybind11::array_t<float> ( {
static_cast<int> ( vals.size() ) },
335 },
"This function returns the shift in Angstrom applied to the internal map representation in order to align its COM with the centre of box." )
338 .def (
"getOriginalBounds",
339 [] (
ProSHADE_run &
self, proshade_unsign strNo ) -> pybind11::array_t < float >
342 std::vector< proshade_signed > vals =
self.getOriginalBounds ( strNo );
345 float* npVals =
new float[
static_cast<proshade_unsign
> ( vals.size() )];
349 for ( proshade_unsign iter = 0; iter < static_cast<proshade_unsign> ( vals.size() ); iter++ ) { npVals[iter] = vals.at(iter); }
352 pybind11::capsule pyCapsuleOrigBnds ( npVals, [](
void *f ) {
float* foo =
reinterpret_cast< float*
> ( f );
delete foo; } );
355 pybind11::array_t < float > retArr = pybind11::array_t<float> ( {
static_cast<proshade_unsign
> ( vals.size() ) },
362 },
"This function returns the original structure boundaries as numpy array." )
364 .def (
"getReBoxedBounds",
365 [] (
ProSHADE_run &
self, proshade_unsign strNo ) -> pybind11::array_t < float >
368 std::vector< proshade_signed > vals =
self.getReBoxedBounds ( strNo );
371 float* npVals =
new float[
static_cast<proshade_unsign
> ( vals.size() )];
375 for ( proshade_unsign iter = 0; iter < static_cast<proshade_unsign> ( vals.size() ); iter++ ) { npVals[iter] = vals.at(iter); }
378 pybind11::capsule pyCapsuleReBoBnds ( npVals, [](
void *f ) {
float* foo =
reinterpret_cast< float*
> ( f );
delete foo; } );
381 pybind11::array_t < float > retArr = pybind11::array_t<float> ( {
static_cast<proshade_unsign
> ( vals.size() ) },
388 },
"This function returns the re-boxed structure boundaries as numpy array." )
391 .def (
"getReBoxedMap",
392 [] (
ProSHADE_run &
self, proshade_unsign strNo ) -> pybind11::array_t < float >
395 std::vector< proshade_signed > vals =
self.getReBoxedBounds ( strNo );
398 proshade_unsign xDim =
static_cast< proshade_unsign
> ( vals.at(1) ) -
static_cast< proshade_unsign
> ( vals.at(0) ) + 1;
399 proshade_unsign yDim =
static_cast< proshade_unsign
> ( vals.at(3) ) -
static_cast< proshade_unsign
> ( vals.at(2) ) + 1;
400 proshade_unsign zDim =
static_cast< proshade_unsign
> ( vals.at(5) ) -
static_cast< proshade_unsign
> ( vals.at(4) ) + 1;
403 float* npVals =
new float[xDim * yDim * zDim];
407 for ( proshade_unsign iter = 0; iter < (xDim * yDim * zDim); iter++ ) { npVals[iter] =
static_cast< float > (
self.getMapValue ( strNo, iter ) ); }
410 pybind11::capsule pyCapsuleRebMap ( npVals, [](
void *f ) {
float* foo =
reinterpret_cast< float*
> ( f );
delete foo; } );
413 pybind11::array_t < float > retArr = pybind11::array_t<float> ( { xDim, yDim, zDim },
414 { yDim * zDim *
sizeof(float), zDim *
sizeof(
float),
sizeof(float) },
420 },
"This function returns the re-boxed structure map as a numpy 3D array." )
423 .def (
"getEulerAngles",
424 [] (
ProSHADE_run &
self ) -> pybind11::array_t < float >
427 std::vector< proshade_double > vals =
self.getEulerAngles ( );
430 float* npVals =
new float[
static_cast<proshade_unsign
> ( vals.size() )];
434 for ( proshade_unsign iter = 0; iter < static_cast<proshade_unsign> ( vals.size() ); iter++ ) { npVals[iter] =
static_cast< float > ( vals.at(iter) ); }
437 pybind11::capsule pyCapsuleEulAngs ( npVals, [](
void *f ) {
float* foo =
reinterpret_cast< float*
> ( f );
delete foo; } );
440 pybind11::array_t < float > retArr = pybind11::array_t<float> ( {
static_cast<proshade_unsign
> ( vals.size() ) },
447 },
"This function returns the vector of Euler angles with best overlay correlation." )
449 .def (
"getOptimalRotMat",
450 [] (
ProSHADE_run &
self ) -> pybind11::array_t < float >
453 std::vector< proshade_double > vals =
self.getOptimalRotMat ( );
456 float* npVals =
new float[
static_cast<proshade_unsign
> ( vals.size() )];
460 for ( proshade_unsign iter = 0; iter < static_cast<proshade_unsign> ( vals.size() ); iter++ ) { npVals[iter] =
static_cast< float > ( vals.at(iter) ); }
463 pybind11::capsule pyCapsuleRotMat ( npVals, [](
void *f ) {
float* foo =
reinterpret_cast< float*
> ( f );
delete foo; } );
466 pybind11::array_t < float > retArr = pybind11::array_t<float> ( { 3, 3 },
467 { 3 *
sizeof(float),
sizeof(
float) },
473 },
"This function returns the vector of Euler angles with best overlay correlation." )
475 .def (
"getTranslationToOrigin",
476 [] (
ProSHADE_run &
self ) -> pybind11::array_t < float >
479 std::vector< proshade_double > vals =
self.getTranslationToOrigin ( );
482 float* npVals =
new float[
static_cast<proshade_unsign
> ( vals.size() )];
486 for ( proshade_unsign iter = 0; iter < static_cast<proshade_unsign> ( vals.size() ); iter++ ) { npVals[iter] =
static_cast< float > ( vals.at(iter) ); }
489 pybind11::capsule pyCapsuleTTO ( npVals, [](
void *f ) {
float* foo =
reinterpret_cast< float*
> ( f );
delete foo; } );
492 pybind11::array_t < float > retArr = pybind11::array_t<float> ( {
static_cast<proshade_unsign
> ( vals.size() ) },
499 },
"This function returns the negative values of the position of the rotation centre (the point about which the rotation should be done)." )
500 .def (
"getOriginToOverlayTranslation",
501 [] (
ProSHADE_run &
self ) -> pybind11::array_t < float >
504 std::vector< proshade_double > vals =
self.getOriginToOverlayTranslation ( );
507 float* npVals =
new float[
static_cast<proshade_unsign
> ( vals.size() )];
511 for ( proshade_unsign iter = 0; iter < static_cast<proshade_unsign> ( vals.size() ); iter++ ) { npVals[iter] =
static_cast< float > ( vals.at(iter) ); }
514 pybind11::capsule pyCapsuleOTOT ( npVals, [](
void *f ) {
float* foo =
reinterpret_cast< float*
> ( f );
delete foo; } );
517 pybind11::array_t < float > retArr = pybind11::array_t<float> ( {
static_cast<proshade_unsign
> ( vals.size() ) },
524 },
"This function returns the translation required to move the structure from origin to optimal overlay." )
528 .def (
"__repr__", [] ( ) {
return "<ProSHADE_run class object> (Run class constructor takes a ProSHADE_settings object and completes a single run according to the settings object information)"; } );
proshade_double noIQRsFromMedianNaivePeak
When doing peak searching, how many IQRs from the median the threshold for peak height should be (in ...
void setOverlayJsonFile(std::string filename)
Sets the filename to which the overlay operations are to be save into.
proshade_unsign maxBandwidth
The bandwidth of spherical harmonics decomposition for the largest sphere.
proshade_unsign integOrder
The order required for full Gauss-Legendre integration between the spheres.
std::string recommendedSymmetryType
The symmetry type that ProSHADE finds the best fitting for the structure. Possible values are "" for ...
std::string rotTrsJSONFile
The filename to which the rotation and translation operations are to be saved into.
void setEnLevShellWeight(proshade_double mPower)
Sets the weight of shell position for the energy levels computation.
bool computeTraceSigmaDesc
If true, the trace sigma descriptor will be computed, otherwise all its computations will be omitted.
void setTraceSigmaComputation(bool trSigVal)
Sets whether the trace sigma distance descriptor should be computed.
bool computeRotationFuncDesc
If true, the rotation function descriptor will be computed, otherwise all its computations will be om...
void setSameBoundaries(bool sameB)
Sets whether same boundaries should be used in the appropriate variable.
proshade_unsign maxSymmetryFold
The highest symmetry fold to search for.
proshade_unsign taylorSeriesCap
The max limit on the Taylor series expansion done for the abscissas of the Gauss-Legendre integration...
void setMinimumMaskSize(proshade_single minMS)
Sets the requested minimum mask size.
void setAppliedMaskFilename(std::string mskFln)
Sets the filename of the mask data that should be applied to the input map.
proshade_single boundsExtraSpace
The number of extra angstroms to be added to all re-boxing bounds just for safety.
void setBicubicInterpolationSearch(bool bicubPeaks)
Sets the bicubic interpolation on peaks.
void setPeakNaiveNoIQR(proshade_double noIQRs)
Sets the number of IQRs from the median for threshold height a peak needs to be considered a peak.
std::string outName
The file name where the output structure(s) should be saved.
void setMapInversion(bool mInv)
Sets the requested map inversion value in the appropriate variable.
void setMapResolutionChange(bool mrChange)
Sets the requested map resolution change decision in the appropriate variable.
void setPeakNeighboursNumber(proshade_unsign pkS)
Sets the number of neighbour values that have to be smaller for an index to be considered a peak.
proshade_single blurFactor
This is the amount by which B-factors should be increased to create the blurred map for masking.
bool maskMap
Should the map be masked from noise?
proshade_unsign requestedSymmetryFold
The fold of the requested symmetry (only applicable to C and D symmetry types).
std::string requestedSymmetryType
The symmetry type requested by the user. Allowed values are C, D, T, O and I.
void setSphereDistances(proshade_single sphDist)
Sets the requested distance between spheres in the appropriate variable.
void setVerbosity(proshade_signed verbosity)
Sets the requested verbosity in the appropriate variable.
bool removeNegativeDensity
Should the negative density be removed from input files?
void setMinimumPeakForAxis(proshade_double minSP)
Sets the minimum peak height for symmetry axis to be considered.
bool saveMask
Should the mask be saved?
proshade_single requestedResolution
The resolution to which the calculations are to be done.
proshade_double minSymPeak
Minimum average peak for symmetry axis to be considered as "real".
void setAxisComparisonThresholdBehaviour(bool behav)
Sets the automatic symmetry axis tolerance decreasing.
void setDetectedSymmetry(proshade_double *sym)
Sets the final detected symmetry axes information.
bool progressiveSphereMapping
If true, each shell will have its own angular resolution dependent on the actual number of map points...
proshade_single maxSphereDists
The distance between spheres in spherical mapping for the largest sphere.
proshade_double symMissPeakThres
Percentage of peaks that could be missing that would warrant starting the missing peaks search proced...
void setPDBBFactor(proshade_double newBF)
Sets the requested B-factor value for PDB files in the appropriate variable.
void addStructure(std::string structure)
Adds a structure file name to the appropriate variable.
void setMaskIQR(proshade_single noIQRs)
Sets the requested number of IQRs for masking threshold in the appropriate variable.
void setMissingPeakThreshold(proshade_double mpThres)
Sets the threshold for starting the missing peaks procedure.
proshade_signed getVerbose(void)
This function returns the verbose value.
proshade_single maskingThresholdIQRs
Number of inter-quartile ranges from the median to be used for thresholding the blurred map for maski...
bool useCorrelationMasking
Should the blurring masking (false) or the correlation masking (true) be used?
bool usePhase
If true, the full data will be used, if false, Patterson maps will be used instead and phased data wi...
void setMapCentering(bool com)
Sets the requested map centering decision value in the appropriate variable.
void setMaskBlurFactor(proshade_single blurFac)
Sets the requested map blurring factor in the appropriate variable.
void setPeakThreshold(proshade_double peakThr)
Sets the minimum peak height threshold for axis to be considered possible.
void setPhaseUsage(bool phaseUsage)
Sets whether the phase information will be used.
std::string maskFileName
The filename to which mask should be saved.
proshade_signed verbose
Should the software report on the progress, or just be quiet? Value between -1 (nothing) and 4 (loud)
void setFSCThreshold(proshade_double fscThr)
Sets the minimum FSC threshold for axis to be considered detected.
void setBandwidth(proshade_unsign band)
Sets the requested spherical harmonics bandwidth in the appropriate variable.
void setBoundsSpace(proshade_single boundsExSp)
Sets the requested number of angstroms for extra space in re-boxing in the appropriate variable.
bool changeMapResolutionTriLinear
Should maps be re-sampled to obtain the required resolution?
void setOutputFilename(std::string oFileName)
Sets the requested output file name in the appropriate variable.
bool useBiCubicInterpolationOnPeaks
This variable switch decides whether best symmetry is detected from peak indices, or whether bicubic ...
std::vector< std::string > getSymmetryAxis(proshade_unsign axisNo)
This function returns a single symmetry axis as a vector of strings from the recommended symmetry axe...
void setAxisComparisonThreshold(proshade_double axThres)
Sets the threshold for matching symmetry axes.
proshade_double peakThresholdMin
The threshold for peak height above which axes are considered possible.
bool forceP1
Should the P1 spacegroup be forced on the input PDB files?
void setTypicalNoiseSize(proshade_single typNoi)
Sets the requested "fake" half-map kernel in the appropriate variable.
This class provides the access point to the library.
ProSHADE_Task task
This custom type variable determines which task to perfom (i.e. symmetry detection,...
void setMaskFilename(std::string mskFln)
Sets where the mask should be saved.
proshade_unsign getSymmetryFold(void)
This is the main accessor function for the user to get to know what symmetry fold ProSHADE has detect...
bool reBoxMap
This switch decides whether re-boxing is needed.
void setSymmetryRotFunPeaks(bool rotFunPeaks)
Sets the symmetry detection algorithm type.
std::string appliedMaskFileName
The filename from which mask data will be read from.
bool normaliseMap
Should the map be normalised to mean 0 sd 1?
proshade_single addExtraSpace
If this value is non-zero, this many angstroms of empty space will be added to the internal map.
void setRequestedFold(proshade_unsign val)
Sets the user requested symmetry fold.
This class stores all the settings and is passed to the executive classes instead of a multitude of p...
proshade_double fscThreshold
The threshold for FSC value under which the axis is considered to be likely noise.
std::string getSymmetryType(void)
This is the main accessor function for the user to get to know what symmetry type ProSHADE has detect...
void setMapReboxing(bool reBx)
Sets whether re-boxing needs to be done in the appropriate variable.
void setRecommendedSymmetry(std::string val)
Sets the ProSHADE detected symmetry type.
void setMaxSymmetryFold(proshade_unsign maxFold)
Sets the maximum symmetry fold (well, the maximum prime symmetry fold).
proshade_single correlationKernel
This value in Angstrom will be used as the kernel for the map-FHM correlation computation.
void setNegativeDensity(bool nDens)
Sets the internal variable deciding whether input files negative density should be removed.
bool invertMap
Should the map be inverted? Only use this if you think you have the wrong hand in your map.
void setTaylorSeriesCap(proshade_unsign tayCap)
Sets the requested Taylor series cap for the Gauss-Legendre integration in the appropriate variable.
proshade_signed boundsSimilarityThreshold
Number of indices which can be added just to make sure same size in indices is achieved.
void setCorrelationMasking(bool corMask)
Sets the requested map masking type in the appropriate variable.
void setProgressiveSphereMapping(bool progSphMap)
Sets the requested sphere mapping value settings approach in the appropriate variable.
bool changeMapResolution
Should maps be re-sampled to obtain the required resolution?
void setIntegrationOrder(proshade_unsign intOrd)
Sets the requested order for the Gauss-Legendre integration in the appropriate variable.
void setRotationFunctionComputation(bool rotfVal)
Sets whether the rotation function distance descriptor should be computed.
proshade_double rotationUncertainty
Alternative to bandwidth - the angle in degrees to which the rotation function accuracy should be com...
void setOverlaySaveFile(std::string filename)
Sets the filename to which the overlay structure is to be save into.
std::string overlayStructureName
The filename to which the rotated and translated moving structure is to be saved.
bool moveToCOM
Logical value stating whether the structure should be moved to have its Centre Of Mass (COM) in the m...
proshade_unsign peakNeighbours
Number of points in any direction that have to be lower than the considered index in order to conside...
proshade_double smoothingFactor
This factor decides how small the group sizes should be - larger factor means more smaller groups.
proshade_single halfMapKernel
This value in Angstrom will be used as the kernel for the "fake half-map" computation.
void checkMemoryAllocation(chVar checkVar, std::string fileP, unsigned int lineP, std::string funcP, std::string infoP="This error may occurs when ProSHADE requests memory to be\n : allocated to it and this operation fails. This could\n : happen when not enough memory is available, either due to\n : other processes using a lot of memory, or when the machine\n : does not have sufficient memory available. Re-run to see\n : if this problem persists.")
Checks if memory was allocated properly.
void setGroupingSmoothingFactor(proshade_double smFact)
Sets the grouping smoothing factor into the proper variable.
void setRequestedSymmetry(std::string val)
Sets the user requested symmetry type.
void setExtraSpace(proshade_single exSpace)
Sets the requested map extra space value in the appropriate variable.
proshade_signed * forceBounds
These will be the boundaries to be forced upon the map.
proshade_unsign recommendedSymmetryFold
The fold of the recommended symmetry C or D type, 0 otherwise.
std::vector< std::string > inputFiles
This vector contains the filenames of all input structure files.
void setMapResolutionChangeTriLinear(bool mrChange)
Sets the requested map resolution change decision using tri-linear interpolation in the appropriate v...
void setMaskSaving(bool savMsk)
Sets whether the mask should be saved.
bool firstModelOnly
Shoud only the first PDB model be used, or should all models be used?
void setBoundsThreshold(proshade_signed boundsThres)
Sets the threshold for number of indices difference acceptable to make index sizes same in the approp...
proshade_double axisErrTolerance
Allowed error on vector axis in in dot product ( acos ( 1 - axErr ) is the allowed difference in radi...
bool useSameBounds
Switch to say that the same boundaries as used for the first should be used for all input maps.
void setMasking(bool mask)
Sets the requested map masking decision value in the appropriate variable.
proshade_double pdbBFactorNewVal
Change all PDB B-factors to this value (for smooth maps).
void setRecommendedFold(proshade_unsign val)
Sets the ProSHADE detected symmetry fold.
bool usePeakSearchInRotationFunctionSpace
This variable switch decides whether symmetry detection will be done using peak search in rotation fu...
bool removeWaters
Should all waters be removed from input PDB files?
void setResolution(proshade_single resolution)
Sets the requested resolution in the appropriate variable.
void printSettings(void)
This function prints the current values in the settings object.
proshade_unsign getNoStructures(void)
This function returns the number of structures used.
proshade_double enLevMatrixPowerWeight
If RRP matrices shell position is to be weighted by putting the position as an exponent,...
void setNormalisation(bool normalise)
Sets the requested map normalisation value in the appropriate variable.
void setEnergyLevelsComputation(bool enLevDesc)
Sets whether the energy level distance descriptor should be computed.
bool computeEnergyLevelsDesc
If true, the energy levels descriptor will be computed, otherwise all its computations will be omitte...