Home  · Classes  · Annotated Classes  · Modules  · Members  · Namespaces  · Related Pages

SuperHirnParameters.h

Go to the documentation of this file.
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