25 #ifndef __PROSHADE_LIBRARY__ 26 #define __PROSHADE_LIBRARY__ 50 #ifdef __PROSHADE_DEVEL_CODE__ 51 #pragma GCC diagnostic error "-Wshadow" 52 #pragma GCC diagnostic error "-Wpedantic" 55 typedef double fftw_complex[2];
65 enum Task { Symmetry, Distances, DistancesFrag, Features, BuildDB, HalfMaps, RotateMap, OverlayMap };
74 class ProSHADE_settings
180 void getCommandLineParams (
int argc,
char* argv[] );
181 void ignoreLsAddValuePy (
const int val );
194 bool distancesAvailable;
195 bool symmetriesAvailable;
198 std::vector<double> crossCorrDists;
199 std::vector<double> traceSigmaDists;
200 std::vector<double> rotFunctionDists;
201 std::vector< std::array<double,5> > cyclicSymmetries;
202 std::vector< std::vector< std::array<double,6> > > dihedralSymmetries;
203 std::vector< std::array<double,5> > tetrahedralSymmetry;
204 std::vector< std::array<double,5> > octahedralSymmetry;
205 std::vector< std::array<double,5> > icosahedralSymmetry;
213 std::vector<double> getCrossCorrDists ( );
214 std::vector<double> getTraceSigmaDists ( );
215 std::vector<double> getRotFunctionDists ( );
218 std::vector< std::array<double,5> > getCyclicSymmetries ( );
219 std::vector< std::vector<std::array< double,6> > > getDihedralSymmetries ( );
220 std::vector< std::array<double,5> > getTetrahedralSymmetries ( );
221 std::vector< std::array<double,5> > getOctahedralSymmetries ( );
222 std::vector< std::array<double,5> > getIcosahedralSymmetries ( );
223 std::vector< std::array<double,5> > getSymmetryElements ( );
224 std::vector< std::array<double,5> > getSpecificSymmetryElements ( std::string symType,
int symFold = 0 );
227 std::vector< double > getCyclicSymmetriesPy ( );
228 std::vector< double > getDihedralSymmetriesPy ( );
229 std::vector< double > getTetrahedralSymmetriesPy ( );
230 std::vector< double > getOctahedralSymmetriesPy ( );
231 std::vector< double > getIcosahedralSymmetriesPy ( );
232 std::vector< double > getSymmetryElementsPy ( );
233 std::vector< double > getSpecificSymmetryElementsPy ( std::string symType,
int symFold = 0 );
236 std::string getProSHADEVersion ( );
double aaErrorTolerance
The tolerance parameter on matching axes for the angle-axis representation of rotations.
std::string symmetryType
The required symmetry type. If no symmetry is required, leave empty. Possible values are: C...
double mapResolution
This is the internal resolution at which the calculations are done, not necessarily the resolution of...
double noIQRsFromMap
This is the number of interquartile distances from mean that is used to threshold the map masking...
bool clearMapData
This value is used to decide whether the input maps should be cleared again, or not.
unsigned int theta
This parameter is the longitude of the spherical grid mapping. It should be 2 * bandwidth unless ther...
double bFactorValue
This is the value to which all B-factors of PDB files will be changed to.
std::string clearMapFile
If map features are to be extracted, should the clear map be saved (then give file name here)...
void printSettings()
Function for outputting the current settings recorded in the ProSHADE_settings class instance...
std::string databaseName
The name of the bin file to which the database should be saved.
double zTranslation
The number of angstroms by which the structure should be translated along the Z axis.
bool overlayDefaults
If true, the shell spacing and distances will be doube to their typical values. This is to speed up m...
bool usePhase
Here the user can decide whether to use phase information or whether to ignore it completely...
double mapFragBoxFraction
Fraction of box that needs to have density in order to be passed on.
unsigned int bandwidth
This parameter determines the angular resolution of the spherical harmonics decomposition.
int verbose
Should the software report on the progress, or just be quiet? Value between 0 (quiet) and 4 (loud) ...
double rotAngle
The angle of the rotation to be done to the map structure in the map rotation mode.
double trSigmaThreshold
All structure pairs with trace sigma descriptor value less than this will not be subjected to any fur...
double alpha
This parameter determines the power to which the |F|'s should be raised.
bool firstLineCOM
This is a special option for metal detection, please leave false.
bool fullRotFnDist
Should the full rotation function distances descriptor be computed.
bool useCubicMaps
When saving clear maps, should the rectangular or cubic (older versions of refmac need this) maps be ...
std::vector< std::string > structFiles
This vector should contain all the structures that are being dealt with, but this does not yet work! ...
int peakSurroundingPoints
For a peak to exist, how many points in every direction need to be smalled than the middle value...
double rotXAxis
The X-axis element of the rotation axis along which the rotation is to be done in the map rotation mo...
double shellSpacing
This parameter determines how far the radial shells should be from each other.
double volumeTolerance
The percentage tolerance on each dimmension when comparing one structure to entire database...
double rotYAxis
The Y-axis element of the rotation axis along which the rotation is to be done in the map rotation mo...
double rotZAxis
The Z-axis element of the rotation axis along which the rotation is to be done in the map rotation mo...
double peakDistanceForReal
Threshold for determining 'missing peaks' existence.
bool mapResDefault
This variable states if default resolution should be used, or whether the user has supplied a differe...
bool traceSigmaDist
Should the trace sigma distances descriptor be computed.
bool rotChangeDefault
If map rotation is selected, the default automatic parameter decision is changed. This variable state...
unsigned int phi
This parameter is the latitudd of the spherical grid mapping. It should be 2 * bandwidth unless there...
unsigned int symmetryFold
The required fold of the sought symmetry. Applicable to C and D symmetries, otherwise leave 0...
std::string axisOrder
A string specifying the order of the axis. Must have three characters and any permutation of 'x'...
This namespace contains all the external objects and their forward declarations.
bool energyLevelDist
Should the energy level distances descriptor be computed.
double xTranslation
The number of angstroms by which the structure should be translated along the X axis.
double bFactorChange
This value will be used to change the B-factors if required by the user.
ProSHADE_settings()
Contructor for the ProSHADE_settings class.
double peakHeightNoIQRs
How many interquartile ranges should be used to distinguish 'false' peaks from the true ones...
std::vector< int > ignoreLs
This vector lists all the bandwidth values which should be ignored and not part of the computations...
double yTranslation
The number of angstroms by which the structure should be translated along the Y axis.
double mapFragBoxSize
Should the clear map be fragmented into boxes? If so, put box size here, otherwise leave 0...
double symGapTolerance
For C-symmetries - if there are many, only those with average peak height - parameter * top symmetry ...
double mPower
This parameter determines the scaling for trace sigma descriptor.
unsigned int manualShells
Should the user require so, the maximum number of radial shells can be set.
bool useCOM
Should the Centre of Mass (COM) be used to center the structure in the cell?
double enLevelsThreshold
All structure pairs with energy level descriptor value less than this will not be subjected to any fu...
Task taskToPerform
This custom type variable determines which task to perfom (i.e. symmetry detection, distances computation or map features extraction).
std::string mapFragName
The prefix of the files with the cut out boxes.
double extraSpace
What should be the distance added on both sides to the structure, so that the next cell density would...
unsigned int glIntegOrder
This parameter controls the Gauss-Legendre integration order and so the radial resolution.