ProSHADE  0.6.5 (NOV 2018)
Protein Shape Descriptors and Symmetry Detection
bin.cpp
Go to the documentation of this file.
1 
23 /*======================== DOxygen main page specifications ===============*/
904 //============================================ ProSHADE
905 #include "../proshade/ProSHADE.h"
906 
907 //============================================ Main
908 int main ( int argc, char **argv )
909 {
910  //======================================== Default settings
912 
913  // ... Settings regarding resolutions
914  setUp->mapResolution = 8.0;
915  setUp->wasResolutionGiven = false;
916  setUp->bandwidth = 0;
917  setUp->wasBandGiven = false;
918  setUp->glIntegOrder = 0;
919  setUp->theta = 0;
920  setUp->phi = 0;
921  setUp->mapResDefault = true;
922 
923  // ... Settings regarding B factors
924  setUp->bFactorValue = 80.0;
925  setUp->bFactorChange = 0.0;
926  setUp->wasBChangeGiven = false;
927 
928  // ... Setting regarding maps and removing noise
929  setUp->noIQRsFromMap = 4.0;
930 
931  // Settings regarding concentric shells
932  setUp->shellSpacing = 0.0;
933  setUp->wasShellSpacingGiven = false;
934  setUp->manualShells = 0;
935 
936  // ... Settings regarding phase
937  setUp->usePhase = true;
938 
939  // ... Settings regarding map with phases
940  setUp->useCOM = true;
941  setUp->firstLineCOM = false;
942 
943  // ... Settings regarding space around the structure in lattice
944  setUp->extraSpace = 8.0;
945  setUp->wasExtraSpaceGiven = false;
946 
947  // ... Settings regarding weighting the distances
948  setUp->alpha = 1.0;
949  setUp->mPower = 1.0;
950 
951  // ... Settings regarding bands to be ignored
952  std::vector<int> lsToIgnore;
953  lsToIgnore.emplace_back ( 0 );
954  setUp->ignoreLs = lsToIgnore;
955 
956  // ... Settings regarding the map masking threshold
957  setUp->noIQRsFromMap = 4.0;
958 
959  // ... Settings regarding peak detection
960  setUp->peakHeightNoIQRs = 3.0;
961  setUp->peakDistanceForReal = 0.20;
962  setUp->peakSurroundingPoints = 1;
963 
964  // ... Settings regarding tolerances
965  setUp->aaErrorTolerance = 0.1;
966  setUp->symGapTolerance = 0.2;
967 
968  // ... Settings regarding which distances to compute
969  setUp->energyLevelDist = true;
970  setUp->traceSigmaDist = true;
971  setUp->fullRotFnDist = true;
972 
973  // ... Settings regarding hierarchical distance computation
974  setUp->enLevelsThreshold = -999.9;
975  setUp->trSigmaThreshold = -999.9;
976 
977  // ... Settings regarding the task
978  setUp->taskToPerform = ProSHADE::NA;
979 
980  // ... Settings regarding where and if to save the clear map
981  setUp->clearMapFile = "";
982  setUp->useCubicMaps = false;
983  setUp->clearMapData = false;
984  setUp->maskBlurFactor = 500.0;
985  setUp->maskBlurFactorGiven = false;
986 
987  // ... Settings regarding map fragmentation
988  setUp->mapFragBoxSize = 0.0;
989  setUp->mapFragName = "./mapFrag";
990  setUp->mapFragBoxFraction = 0.5;
991 
992  // ... Settings regarding the database
993  setUp->databaseName = "";
994  setUp->volumeTolerance = 0.2;
995 
996  // ... Settings regarding the symmetry type required
997  setUp->symmetryFold = 0;
998  setUp->symmetryType = "";
999 
1000  // ... Settings regarding the map rotation mode
1001  setUp->rotAngle = 0.0;
1002  setUp->rotXAxis = 0.0;
1003  setUp->rotYAxis = 0.0;
1004  setUp->rotZAxis = 0.0;
1005  setUp->rotChangeDefault = false;
1006  setUp->xTranslation = 0.0;
1007  setUp->yTranslation = 0.0;
1008  setUp->zTranslation = 0.0;
1009 
1010  // ... Settings regarding the map overlay mode
1011  setUp->overlayDefaults = false;
1012  setUp->maxRotError = 0;
1013 
1014  // ... Settings regarding the map saving mode
1015  setUp->axisOrder = "xyz";
1016 
1017  // ... Settings regarding the verbosity of the program
1018  setUp->verbose = 1;
1019 
1020  //======================================== Parse command line arguments
1021  setUp->getCommandLineParams ( argc, argv );
1022 
1023  ProSHADE::ProSHADE *proshadeObj = new ProSHADE::ProSHADE ( setUp );
1024 
1025  delete proshadeObj;
1026  delete setUp;
1027 
1028  //======================================== DONE
1029  return 0;
1030 }
1031 
double aaErrorTolerance
The tolerance parameter on matching axes for the angle-axis representation of rotations.
Definition: ProSHADE.h:128
bool wasBandGiven
Variable stating whether the bandwidth value was given by the user, or decided automatically.
Definition: ProSHADE.h:81
std::string symmetryType
The required symmetry type. If no symmetry is required, leave empty. Possible values are: C...
Definition: ProSHADE.h:163
double mapResolution
This is the internal resolution at which the calculations are done, not necessarily the resolution of...
Definition: ProSHADE.h:78
double noIQRsFromMap
This is the number of interquartile distances from mean that is used to threshold the map masking...
Definition: ProSHADE.h:93
bool clearMapData
This value is used to decide whether the input maps should be cleared again, or not.
Definition: ProSHADE.h:146
unsigned int theta
This parameter is the longitude of the spherical grid mapping. It should be 2 * bandwidth unless ther...
Definition: ProSHADE.h:83
double bFactorValue
This is the value to which all B-factors of PDB files will be changed to.
Definition: ProSHADE.h:88
std::string clearMapFile
If map features are to be extracted, should the clear map be saved (then give file name here)...
Definition: ProSHADE.h:144
std::string databaseName
The name of the bin file to which the database should be saved.
Definition: ProSHADE.h:156
double zTranslation
The number of angstroms by which the structure should be translated along the Z axis.
Definition: ProSHADE.h:173
bool overlayDefaults
If true, the shell spacing and distances will be doube to their typical values. This is to speed up m...
Definition: ProSHADE.h:176
bool usePhase
Here the user can decide whether to use phase information or whether to ignore it completely...
Definition: ProSHADE.h:101
bool wasExtraSpaceGiven
Variable stating whether the extra cell space value was given by the user, or decided automatically...
Definition: ProSHADE.h:110
double mapFragBoxFraction
Fraction of box that needs to have density in order to be passed on.
Definition: ProSHADE.h:153
unsigned int bandwidth
This parameter determines the angular resolution of the spherical harmonics decomposition.
Definition: ProSHADE.h:80
bool wasShellSpacingGiven
Variable stating whether the distance between shells value was given by the user, or decided automati...
Definition: ProSHADE.h:97
int verbose
Should the software report on the progress, or just be quiet? Value between 0 (quiet) and 4 (loud) ...
Definition: ProSHADE.h:189
double rotAngle
The angle of the rotation to be done to the map structure in the map rotation mode.
Definition: ProSHADE.h:166
double trSigmaThreshold
All structure pairs with trace sigma descriptor value less than this will not be subjected to any fur...
Definition: ProSHADE.h:138
double alpha
This parameter determines the power to which the |F|&#39;s should be raised.
Definition: ProSHADE.h:113
bool firstLineCOM
This is a special option for metal detection, please leave false.
Definition: ProSHADE.h:106
bool fullRotFnDist
Should the full rotation function distances descriptor be computed.
Definition: ProSHADE.h:134
bool useCubicMaps
When saving clear maps, should the rectangular or cubic (older versions of refmac need this) maps be ...
Definition: ProSHADE.h:145
bool maskBlurFactorGiven
Was a specific value of the blurring factor requested by the user?
Definition: ProSHADE.h:148
std::vector< int > ignoreLs
This vector lists all the bandwidth values which should be ignored and not part of the computations...
Definition: ProSHADE.h:117
int peakSurroundingPoints
For a peak to exist, how many points in every direction need to be smalled than the middle value...
Definition: ProSHADE.h:125
double rotXAxis
The X-axis element of the rotation axis along which the rotation is to be done in the map rotation mo...
Definition: ProSHADE.h:167
double shellSpacing
This parameter determines how far the radial shells should be from each other.
Definition: ProSHADE.h:96
double volumeTolerance
The percentage tolerance on each dimmension when comparing one structure to entire database...
Definition: ProSHADE.h:159
double rotYAxis
The Y-axis element of the rotation axis along which the rotation is to be done in the map rotation mo...
Definition: ProSHADE.h:168
double rotZAxis
The Z-axis element of the rotation axis along which the rotation is to be done in the map rotation mo...
Definition: ProSHADE.h:169
double peakDistanceForReal
Threshold for determining &#39;missing peaks&#39; existence.
Definition: ProSHADE.h:124
bool mapResDefault
This variable states if default resolution should be used, or whether the user has supplied a differe...
Definition: ProSHADE.h:85
bool traceSigmaDist
Should the trace sigma distances descriptor be computed.
Definition: ProSHADE.h:133
bool rotChangeDefault
If map rotation is selected, the default automatic parameter decision is changed. This variable state...
Definition: ProSHADE.h:170
void getCommandLineParams(int argc, char *argv[])
This function parses the command line arguments and saves the user values into the settings class...
Definition: ProSHADE.cpp:433
unsigned int phi
This parameter is the latitudd of the spherical grid mapping. It should be 2 * bandwidth unless there...
Definition: ProSHADE.h:84
unsigned int maxRotError
This is the maximum allowed error in degrees for the rotation computation. This can be used to speed ...
Definition: ProSHADE.h:179
unsigned int symmetryFold
The required fold of the sought symmetry. Applicable to C and D symmetries, otherwise leave 0...
Definition: ProSHADE.h:162
std::string axisOrder
A string specifying the order of the axis. Must have three characters and any permutation of &#39;x&#39;...
Definition: ProSHADE.h:183
bool energyLevelDist
Should the energy level distances descriptor be computed.
Definition: ProSHADE.h:132
double xTranslation
The number of angstroms by which the structure should be translated along the X axis.
Definition: ProSHADE.h:171
double bFactorChange
This value will be used to change the B-factors if required by the user.
Definition: ProSHADE.h:89
bool wasResolutionGiven
Variable stating whether the resolution value was given by the user, or decided automatically.
Definition: ProSHADE.h:79
double peakHeightNoIQRs
How many interquartile ranges should be used to distinguish &#39;false&#39; peaks from the true ones...
Definition: ProSHADE.h:123
bool wasBChangeGiven
Variable stating whether the B factor change (sharpening/blurring) value was given by the user...
Definition: ProSHADE.h:90
double yTranslation
The number of angstroms by which the structure should be translated along the Y axis.
Definition: ProSHADE.h:172
double mapFragBoxSize
Should the clear map be fragmented into boxes? If so, put box size here, otherwise leave 0...
Definition: ProSHADE.h:151
double symGapTolerance
For C-symmetries - if there are many, only those with average peak height - parameter * top symmetry ...
Definition: ProSHADE.h:129
This class stores all the settings and is passed to the executive classes instead of multitude of par...
Definition: ProSHADE.h:74
double mPower
This parameter determines the scaling for trace sigma descriptor.
Definition: ProSHADE.h:114
unsigned int manualShells
Should the user require so, the maximum number of radial shells can be set.
Definition: ProSHADE.h:98
bool useCOM
Should the Centre of Mass (COM) be used to center the structure in the cell?
Definition: ProSHADE.h:105
double maskBlurFactor
The is the amount of blurring to be used to create masks for maps.
Definition: ProSHADE.h:147
double enLevelsThreshold
All structure pairs with energy level descriptor value less than this will not be subjected to any fu...
Definition: ProSHADE.h:137
Task taskToPerform
This custom type variable determines which task to perfom (i.e. symmetry detection, distances computation or map features extraction).
Definition: ProSHADE.h:141
std::string mapFragName
The prefix of the files with the cut out boxes.
Definition: ProSHADE.h:152
double extraSpace
What should be the distance added on both sides to the structure, so that the next cell density would...
Definition: ProSHADE.h:109
unsigned int glIntegOrder
This parameter controls the Gauss-Legendre integration order and so the radial resolution.
Definition: ProSHADE.h:82