00001 // -------------------------------------------------------------------------- 00002 // OpenMS -- Open-Source Mass Spectrometry 00003 // -------------------------------------------------------------------------- 00004 // Copyright The OpenMS Team -- Eberhard Karls University Tuebingen, 00005 // ETH Zurich, and Freie Universitaet Berlin 2002-2012. 00006 // 00007 // This software is released under a three-clause BSD license: 00008 // * Redistributions of source code must retain the above copyright 00009 // notice, this list of conditions and the following disclaimer. 00010 // * Redistributions in binary form must reproduce the above copyright 00011 // notice, this list of conditions and the following disclaimer in the 00012 // documentation and/or other materials provided with the distribution. 00013 // * Neither the name of any author or any participating institution 00014 // may be used to endorse or promote products derived from this software 00015 // without specific prior written permission. 00016 // For a full list of authors, refer to the file AUTHORS. 00017 // -------------------------------------------------------------------------- 00018 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 00019 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 00020 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 00021 // ARE DISCLAIMED. IN NO EVENT SHALL ANY OF THE AUTHORS OR THE CONTRIBUTING 00022 // INSTITUTIONS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 00023 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 00024 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 00025 // OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 00026 // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 00027 // OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 00028 // ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00029 // 00030 // -------------------------------------------------------------------------- 00031 // $Maintainer: Peter Kunszt $ 00032 // $Authors: Peter Kunszt $ 00033 // -------------------------------------------------------------------------- 00034 // 00035 00036 #ifndef OPENMS_TRANSFORMATIONS_FEATUREFINDER_SUPERHIRN_SUPERHIRNPARAMETERS_H 00037 #define OPENMS_TRANSFORMATIONS_FEATUREFINDER_SUPERHIRN_SUPERHIRNPARAMETERS_H 00038 00039 namespace OpenMS 00040 { 00041 00046 class SuperHirnParameters 00047 { 00048 public: 00049 static SuperHirnParameters * instance(); 00050 00051 ~SuperHirnParameters(); 00052 00053 double getBackgroundIntensityBinsTR(); 00054 double getBackgroundIntensityBinsMZ(); 00055 double getBackgroundIntensityBinsIntens(); 00056 int getBackgroundIntensityBinsMinBinCount(); 00057 00058 double getMinTR(); 00059 double getMaxTR(); 00060 double getMinFeatureMZ(); 00061 double getMaxFeatureMZ(); 00062 int getMinFeatureChrg(); 00063 int getMaxFeatureChrg(); 00064 00065 float getIntensityThreshold(); 00066 double getToleranceMZ(); 00067 double getMaxInterScanRetentionTimeDistance(); 00068 int getMinNbClusterMembers(); 00069 std::map<int, float> * getScanTRIndex(); 00070 // bool getMonoIsoDebugging(); 00071 // double getDebugMonoIsoMassMin(); 00072 // double getDebugMonoIsoMassMax(); 00073 // double getMS1IntensityApexPercentilCutoff(); 00074 double getMS1TRResolution(); 00075 bool centroidDataModus(); 00076 int getCentroidWindowWidth(); 00077 00078 double getDetectableIsotopeFactor(); 00079 /* 00080 * @brief Maximal deviation between expected and measured isotopic intensities 00081 */ 00082 double getIntensityCV(); 00083 00084 /* 00085 * @brief Mass tolerance in ppm between isotopes 00086 */ 00087 double getMassTolPpm(); 00088 00089 /* 00090 * @brief Mass tolerance in Da between isotopes - total mass to = mass*fMassTolPpm/1000000 + fMassTolDa 00091 */ 00092 double getMassTolDa(); 00093 00094 /* 00095 * @brief Peak below this values are not considered as monoisotopic peaks 00096 */ 00097 double getMinIntensity(); 00098 00099 /* 00100 * @brief Intensities below this value are considered as 0 00101 */ 00102 double getIntensityFloor(); 00103 00104 /* 00105 * @brief M/Z tolerance in Parts per Million 00106 */ 00107 double getMzTolPpm(); 00108 00109 /* 00110 * @brief TR tolerance 00111 */ 00112 double getTrTol(); 00113 00114 double getPeptideProbabilityThreshold(); 00115 bool storeAllLowProbabilityMS2Scans(); 00116 00117 bool createFeatureElutionProfiles(); 00118 bool ms1FeatureClustering(); 00119 00120 double getMs1PeakAreaTrResolution(); 00121 double getInitialTrTolerance(); 00122 double getMs1FeatureMergingTrTolerance(); 00123 double getPercentageIntensityElutionBorderVariation(); 00124 double getPpmToleranceForMZClustering(); 00125 00126 double getLowIntensityMSSignalThreshold(); 00127 00128 bool isInitIsotopeDist(); 00129 void setInitIsotopeDist(); 00130 00131 friend class FeatureFinderAlgorithmSHCtrl; 00132 00133 private: 00134 /* 00135 * @brief The constructors are private as only the class itself 00136 * can construct an instance. Use the static instance() method to access the parameters. 00137 */ 00138 SuperHirnParameters(); 00139 SuperHirnParameters(const SuperHirnParameters &); 00140 SuperHirnParameters & operator=(const SuperHirnParameters &); 00141 00142 static SuperHirnParameters * instance_; // the singleton instance 00143 static bool haveInstance_; 00144 00145 double backgroundIntensityBinsTR_; 00146 double backgroundIntensityBinsMZ_; 00147 double backgroundIntensityBinsIntens_; 00148 int backgroundIntensityBinsMinBinCount_; 00149 00150 double minTR_; 00151 double maxTR_; 00152 double minFeatureMZ_; 00153 double maxFeatureMZ_; 00154 int minFeatureChrg_; 00155 int maxFeatureChrg_; 00156 00157 float intensityThreshold_; // minimal intensity level: NEVER USED 00158 double toleranceMZ_; // m/z tolerance value: NEVER CONFIGURED 00159 double maxInterScanRetentionTimeDistance_; // max_distance from next elution peak member in min. 00160 int minNbClusterMembers_; // define minimal number of members in LC elution peaks cluster 00161 00162 std::map<int, float> scanTRIndex_; 00163 00164 // bool monoIsoDebugging_; // to track detected monoistopic mass for debugging 00165 // double debugMonoIsoMassMin_; 00166 // double debugMonoIsoMassMax_; 00167 // double ms1IntensityApexPercentilCutoff_; 00168 double ms1TRResolution_; 00169 bool centroidDataModus_; // if data are in centroid form or not 00170 int centroidWindowWidth_; 00171 00172 // int reportMonoPeaks_; // 1 if info about monoisotopic peaks should be written to mono_peaks.txt 00173 // std::string debugDirectory_; // Directory where peak detection debug files are written 00174 // int reportScanNumber_; // if sfReportMonoPeaks is set to 1, details about this spectrum will be written to debug files 00175 00176 // int ms1BaseInterScanDistance_; 00177 // int ms2BaseInterScanDistance; 00178 // bool ms2PeakProcessing_; 00179 00180 // std::vector<double> peakExtractionScanLevels_; 00181 // std::vector<double> fragmentMassScanLevels_; 00182 00183 double detectableIsotopeFactor_; 00184 double intensityCV_; 00185 00186 double massTolPpm_; // mass tolerance in ppm between isotopes 00187 double massTolDa_; // mass tolerance in Da between isotopes - total mass to = mass*fMassTolPpm/1000000 + fMassTolDa 00188 double minIntensity_; // peak below this values are not considered as monoisotopic peaks 00189 double intensityFloor_; // intensities below this value are considered as 0 00190 00191 00192 double mzTolPpm_; // tolerance in m/z and TR: 00193 double trTol_; 00194 double peptideProbabilityThreshold_; 00195 bool storeAllLowProbabilityMS2Scans_; 00196 00197 bool createFeatureElutionProfiles_; 00198 bool ms1FeatureClustering_; 00199 00200 double ms1PeakAreaTrResolution_; 00201 double initialTrTolerance_; 00202 double ms1FeatureMergingTrTolerance_; 00203 double percentageIntensityElutionBorderVariation_; 00204 double ppmToleranceForMZClustering_; 00205 00206 double lowIntensityMSSignalThreshold_; 00207 bool initIsotopeDist_; 00208 00209 }; 00210 00211 //------------------------- inline methods -------------------------- 00212 00213 inline SuperHirnParameters::SuperHirnParameters(const SuperHirnParameters &) 00214 { 00215 } 00216 00217 inline SuperHirnParameters & SuperHirnParameters::operator=(const SuperHirnParameters &) 00218 { 00219 return *this; 00220 } 00221 00222 inline SuperHirnParameters * SuperHirnParameters::instance() 00223 { 00224 if (haveInstance_) 00225 { 00226 return instance_; 00227 } 00228 instance_ = new SuperHirnParameters(); 00229 haveInstance_ = true; 00230 return instance_; 00231 } 00232 00233 inline double SuperHirnParameters::getBackgroundIntensityBinsTR() 00234 { 00235 return backgroundIntensityBinsTR_; 00236 } 00237 00238 inline double SuperHirnParameters::getBackgroundIntensityBinsMZ() 00239 { 00240 return backgroundIntensityBinsMZ_; 00241 } 00242 00243 inline double SuperHirnParameters::getBackgroundIntensityBinsIntens() 00244 { 00245 return backgroundIntensityBinsIntens_; 00246 } 00247 00248 inline int SuperHirnParameters::getBackgroundIntensityBinsMinBinCount() 00249 { 00250 return backgroundIntensityBinsMinBinCount_; 00251 } 00252 00253 inline double SuperHirnParameters::getMinTR() 00254 { 00255 return minTR_; 00256 } 00257 00258 inline double SuperHirnParameters::getMaxTR() 00259 { 00260 return maxTR_; 00261 } 00262 00263 inline double SuperHirnParameters::getMinFeatureMZ() 00264 { 00265 return minFeatureMZ_; 00266 } 00267 00268 inline double SuperHirnParameters::getMaxFeatureMZ() 00269 { 00270 return maxFeatureMZ_; 00271 } 00272 00273 inline int SuperHirnParameters::getMinFeatureChrg() 00274 { 00275 return minFeatureChrg_; 00276 } 00277 00278 inline int SuperHirnParameters::getMaxFeatureChrg() 00279 { 00280 return maxFeatureChrg_; 00281 } 00282 00283 inline float SuperHirnParameters::getIntensityThreshold() 00284 { 00285 return intensityThreshold_; 00286 } 00287 00288 inline double SuperHirnParameters::getToleranceMZ() 00289 { 00290 return toleranceMZ_; 00291 } 00292 00293 inline double SuperHirnParameters::getMaxInterScanRetentionTimeDistance() 00294 { 00295 return maxInterScanRetentionTimeDistance_; 00296 } 00297 00298 inline int SuperHirnParameters::getMinNbClusterMembers() 00299 { 00300 return minNbClusterMembers_; 00301 } 00302 00303 inline std::map<int, float> * SuperHirnParameters::getScanTRIndex() 00304 { 00305 return &scanTRIndex_; 00306 } 00307 00308 /* 00309 inline bool SuperHirnParameters::getMonoIsoDebugging() 00310 { 00311 return monoIsoDebugging_; 00312 } 00313 00314 inline double SuperHirnParameters::getDebugMonoIsoMassMin() 00315 { 00316 return debugMonoIsoMassMin_; 00317 } 00318 00319 inline double SuperHirnParameters::getDebugMonoIsoMassMax() 00320 { 00321 return debugMonoIsoMassMax_; 00322 } 00323 00324 inline double SuperHirnParameters::getMS1IntensityApexPercentilCutoff() 00325 { 00326 return ms1IntensityApexPercentilCutoff_; 00327 } 00328 */ 00329 00330 inline double SuperHirnParameters::getMS1TRResolution() 00331 { 00332 return ms1TRResolution_; 00333 } 00334 00335 inline bool SuperHirnParameters::centroidDataModus() 00336 { 00337 return centroidDataModus_; 00338 } 00339 00340 inline int SuperHirnParameters::getCentroidWindowWidth() 00341 { 00342 return centroidWindowWidth_; 00343 } 00344 00345 inline double SuperHirnParameters::getDetectableIsotopeFactor() 00346 { 00347 return detectableIsotopeFactor_; 00348 } 00349 00350 inline double SuperHirnParameters::getIntensityCV() 00351 { 00352 return intensityCV_; 00353 } 00354 00355 inline double SuperHirnParameters::getMassTolPpm() 00356 { 00357 return massTolPpm_; 00358 } 00359 00360 inline double SuperHirnParameters::getMassTolDa() 00361 { 00362 return massTolDa_; 00363 } 00364 00365 inline double SuperHirnParameters::getMinIntensity() 00366 { 00367 return minIntensity_; 00368 } 00369 00370 inline double SuperHirnParameters::getIntensityFloor() 00371 { 00372 return intensityFloor_; 00373 } 00374 00375 inline double SuperHirnParameters::getMzTolPpm() 00376 { 00377 return mzTolPpm_; 00378 } 00379 00380 inline double SuperHirnParameters::getTrTol() 00381 { 00382 return trTol_; 00383 } 00384 00385 inline double SuperHirnParameters::getPeptideProbabilityThreshold() 00386 { 00387 return peptideProbabilityThreshold_; 00388 } 00389 00390 inline bool SuperHirnParameters::storeAllLowProbabilityMS2Scans() 00391 { 00392 return storeAllLowProbabilityMS2Scans_; 00393 } 00394 00395 inline bool SuperHirnParameters::createFeatureElutionProfiles() 00396 { 00397 return createFeatureElutionProfiles_; 00398 } 00399 00400 inline bool SuperHirnParameters::ms1FeatureClustering() 00401 { 00402 return ms1FeatureClustering_; 00403 } 00404 00405 inline bool SuperHirnParameters::isInitIsotopeDist() 00406 { 00407 return initIsotopeDist_; 00408 } 00409 00410 inline void SuperHirnParameters::setInitIsotopeDist() 00411 { 00412 initIsotopeDist_ = true; 00413 } 00414 00415 inline double SuperHirnParameters::getMs1PeakAreaTrResolution() 00416 { 00417 return ms1PeakAreaTrResolution_; 00418 } 00419 00420 inline double SuperHirnParameters::getInitialTrTolerance() 00421 { 00422 return initialTrTolerance_; 00423 } 00424 00425 inline double SuperHirnParameters::getMs1FeatureMergingTrTolerance() 00426 { 00427 return ms1FeatureMergingTrTolerance_; 00428 } 00429 00430 inline double SuperHirnParameters::getPercentageIntensityElutionBorderVariation() 00431 { 00432 return percentageIntensityElutionBorderVariation_; 00433 } 00434 00435 inline double SuperHirnParameters::getPpmToleranceForMZClustering() 00436 { 00437 return ppmToleranceForMZClustering_; 00438 } 00439 00440 inline double SuperHirnParameters::getLowIntensityMSSignalThreshold() 00441 { 00442 return lowIntensityMSSignalThreshold_; 00443 } 00444 00445 } 00446 00447 #endif // OPENMS_TRANSFORMATIONS_FEATUREFINDER_SUPERHIRN_SUPERHIRNPARAMETERS_H
| OpenMS / TOPP release 1.10.0 | Documentation generated on Thu Mar 7 2013 09:42:45 using doxygen 1.7.1 |