Implements the isotope wavelet feature finder. More...
#include <OpenMS/TRANSFORMATIONS/FEATUREFINDER/FeatureFinderAlgorithmIsotopeWavelet.h>
Classes | |
| struct | BoxElement |
| Internally used data structure for the sweep line algorithm. More... | |
Public Types | |
| typedef FeatureFinderAlgorithm < PeakType, FeatureType > | Base |
Public Member Functions | |
| FeatureFinderAlgorithmIsotopeWavelet () | |
| Default Constructor. | |
| virtual | ~FeatureFinderAlgorithmIsotopeWavelet () |
| Destructor. | |
| IsotopeWaveletTransform < PeakType >::TransSpectrum * | prepareHRDataCuda (const UInt i, IsotopeWaveletTransform< PeakType > *iwt) |
| MSSpectrum< PeakType > * | createHRData (const UInt i) |
| void | run () |
| The working horse of this class. | |
Static Public Member Functions | |
| static const String | getProductName () |
| static FeatureFinderAlgorithm < PeakType, FeatureType > * | create () |
Protected Types | |
| typedef std::map< UInt, BoxElement > | Box |
| Key: RT (index), value: BoxElement. | |
Protected Member Functions | |
| void | updateMembers_ () |
| This method is used to update extra member variables at the end of the setParameters() method. | |
Protected Attributes | |
| UInt | max_charge_ |
| The maximal charge state we will consider. | |
| DoubleReal | intensity_threshold_ |
| The only parameter of the isotope wavelet. | |
| UInt | RT_votes_cutoff_ |
| UInt | real_RT_votes_cutoff_ |
| UInt | RT_interleave_ |
| The number of subsequent scans a pattern must cover in order to be considered as signal. | |
| String | use_gpus_ |
| String | intensity_type_ |
| bool | use_tbb_ |
| bool | use_cuda_ |
| bool | check_PPMs_ |
| bool | hr_data_ |
| std::vector< UInt > | gpu_ids_ |
| A list of all GPU devices that can be used. | |
| Int | progress_counter_ |
Implements the isotope wavelet feature finder.
The FeatureFinderAlgorithmIsotopeWavelet class has been designed for finding features in 1D or 2D MS data sets using the isotope wavelet. In the case of two dimensional data, the class provides additionally the sweep line algorithm. Please note that the algorithm implemented here is only marginally related to the algorithm presented in Schulz-Trieglaff et al. (2007, 2008), as no fitting procedure is applied anymore after the wavelet-based seeding step. The wavelet has been designed to extract even very lowly-abundant features (see Hussong et. al (2007, 2009)), usually featuring a very low signal-to-noise ratio. The wavelet in its current implementation is not able to resolve overlapping patterns (see also Hussong et. al (2009)) and slightly shifts masses to the right due to the construction of the wavelet.
Parameters of this class are:| Name | Type | Default | Restrictions | Description |
|---|---|---|---|---|
| max_charge | int | 3 | min: 1 | The maximal charge state to be considered. |
| intensity_threshold | float | -1 | The final threshold t' is build upon the formula: t' = av+t*sd, where t is the intensity_threshold, av the average intensity within the wavelet transformed signal and sd the standard deviation of the transform. If you set intensity_threshold=-1, t' will be zero. As the 'optimal' value for this parameter is highly data dependent, we would recommend to start with -1, which will also extract features with very low signal-to-noise ratio. Subsequently, one might increase the threshold to find an optimized trade-off between false positives and true positives. Depending on the dynamic range of your spectra, suitable value ranges include: -1, [0:10], and if your data features even very high intensity values, t can also adopt values up to around 30. Please note that this parameter is not of an integer type, s.t. you can also use t:=0.1, e.g. |
|
| intensity_type | string | ref | ref, trans, corrected | Determines the intensity type returned for the identified features. 'ref' (default) returns the sum of the intensities of each isotopic peak within an isotope pattern. 'trans' refers to the intensity of the monoisotopic peak within the wavelet transform. 'corrected' refers also to the transformed intensity with an attempt to remove the effects of the convolution. While the latter ones might be preferable for qualitative analyses, 'ref' might be the best option to obtain quantitative results. Please note that intensity values might be spoiled (in particular for the option 'ref'), as soon as patterns overlap (see also the explanations given in the class documentation of FeatureFinderAlgorihtmIsotopeWavelet). |
| check_ppm | string | false | true, false | Enables/disables a ppm test vs. the averagine model, i.e. potential peptide masses are checked for plausibility. In addition, a heuristic correcting potential mass shifts induced by the wavelet is applied. |
| hr_data | string | false | true, false | Must be true in case of high-resolution data, i.e. for spectra featuring large m/z-gaps (present in FTICR and Orbitrap data, e.g.). Please check a single MS scan out of your recording, if you are unsure. |
| sweep_line:rt_votes_cutoff | int | 5 | min: 0 | Defines the minimum number of subsequent scans where a pattern must occur to be considered as a feature. |
| sweep_line:rt_interleave | int | 1 | min: 0 | Defines the maximum number of scans (w.r.t. rt_votes_cutoff) where an expected pattern is missing. There is usually no reason to change the default value. |
| typedef FeatureFinderAlgorithm<PeakType, FeatureType> Base |
typedef std::map<UInt, BoxElement> Box [protected] |
Key: RT (index), value: BoxElement.
| FeatureFinderAlgorithmIsotopeWavelet | ( | ) | [inline] |
Default Constructor.
References StringList::create(), DefaultParamHandler::defaults_, DefaultParamHandler::defaultsToParam_(), Param::setMinInt(), Param::setValidStrings(), and Param::setValue().
Referenced by FeatureFinderAlgorithmIsotopeWavelet< PeakType, FeatureType >::create().
| virtual ~FeatureFinderAlgorithmIsotopeWavelet | ( | ) | [inline, virtual] |
Destructor.
| static FeatureFinderAlgorithm<PeakType, FeatureType>* create | ( | ) | [inline, static] |
| MSSpectrum<PeakType>* createHRData | ( | const UInt | i | ) | [inline] |
References FeatureFinderAlgorithm< PeakType, FeatureType >::map_, FeatureFinderAlgorithmIsotopeWavelet< PeakType, FeatureType >::max_charge_, Peak2D::setIntensity(), Peak2D::setMZ(), MSSpectrum< PeakT >::setRT(), and MSSpectrum< PeakT >::sortByPosition().
Referenced by FeatureFinderAlgorithmIsotopeWavelet< PeakType, FeatureType >::prepareHRDataCuda(), and FeatureFinderAlgorithmIsotopeWavelet< PeakType, FeatureType >::run().
| static const String getProductName | ( | ) | [inline, static] |
| IsotopeWaveletTransform<PeakType>::TransSpectrum* prepareHRDataCuda | ( | const UInt | i, | |
| IsotopeWaveletTransform< PeakType > * | iwt | |||
| ) | [inline] |
| void run | ( | ) | [inline, virtual] |
The working horse of this class.
Implements FeatureFinderAlgorithm< PeakType, FeatureType >.
References OpenMS::Constants::c, FeatureFinderAlgorithmIsotopeWavelet< PeakType, FeatureType >::check_PPMs_, ProgressLogger::CMD, FeatureFinderAlgorithmIsotopeWavelet< PeakType, FeatureType >::createHRData(), OpenMS::Constants::CUDA_INIT_SUCCESS, IsotopeWaveletTransform< PeakType >::TransSpectrum::destroy(), ProgressLogger::endProgress(), FeatureFinderAlgorithm< PeakType, FeatureType >::features_, FeatureFinderAlgorithm< PeakType, FeatureType >::ff_, RangeManager< D >::getMax(), RangeManager< D >::getMin(), IsotopeWaveletTransform< PeakType >::TransSpectrum::getMZ(), IsotopeWaveletTransform< PeakType >::TransSpectrum::getRefIntensity(), MSSpectrum< PeakT >::getRT(), IsotopeWaveletTransform< PeakType >::getTransform(), IsotopeWaveletTransform< PeakType >::getTransformHighRes(), IsotopeWaveletTransform< PeakType >::TransSpectrum::getTransIntensity(), FeatureFinderAlgorithmIsotopeWavelet< PeakType, FeatureType >::gpu_ids_, FeatureFinderAlgorithmIsotopeWavelet< PeakType, FeatureType >::hr_data_, IsotopeWaveletTransform< PeakType >::identifyCharge(), IsotopeWaveletTransform< PeakType >::initializeScan(), FeatureFinderAlgorithmIsotopeWavelet< PeakType, FeatureType >::intensity_threshold_, FeatureFinderAlgorithmIsotopeWavelet< PeakType, FeatureType >::intensity_type_, OpenMS::Constants::k, FeatureFinderAlgorithm< PeakType, FeatureType >::map_, IsotopeWaveletTransform< PeakType >::mapSeeds2Features(), FeatureFinderAlgorithmIsotopeWavelet< PeakType, FeatureType >::max_charge_, NULL, FeatureFinderAlgorithmIsotopeWavelet< PeakType, FeatureType >::prepareHRDataCuda(), FeatureFinderAlgorithmIsotopeWavelet< PeakType, FeatureType >::progress_counter_, FeatureFinderAlgorithmIsotopeWavelet< PeakType, FeatureType >::real_RT_votes_cutoff_, FeatureFinderAlgorithmIsotopeWavelet< PeakType, FeatureType >::RT_interleave_, FeatureFinderAlgorithmIsotopeWavelet< PeakType, FeatureType >::RT_votes_cutoff_, ProgressLogger::setLogType(), ProgressLogger::setProgress(), IsotopeWaveletTransform< PeakType >::TransSpectrum::size(), ProgressLogger::startProgress(), IsotopeWaveletTransform< PeakType >::updateBoxStates(), FeatureFinderAlgorithmIsotopeWavelet< PeakType, FeatureType >::use_cuda_, and FeatureFinderAlgorithmIsotopeWavelet< PeakType, FeatureType >::use_tbb_.
| void updateMembers_ | ( | ) | [inline, protected, virtual] |
This method is used to update extra member variables at the end of the setParameters() method.
Also call it at the end of the derived classes' copy constructor and assignment operator.
The default implementation is empty.
Reimplemented from DefaultParamHandler.
References FeatureFinderAlgorithmIsotopeWavelet< PeakType, FeatureType >::check_PPMs_, Param::getValue(), FeatureFinderAlgorithmIsotopeWavelet< PeakType, FeatureType >::gpu_ids_, FeatureFinderAlgorithmIsotopeWavelet< PeakType, FeatureType >::hr_data_, FeatureFinderAlgorithmIsotopeWavelet< PeakType, FeatureType >::intensity_threshold_, FeatureFinderAlgorithmIsotopeWavelet< PeakType, FeatureType >::intensity_type_, FeatureFinderAlgorithmIsotopeWavelet< PeakType, FeatureType >::max_charge_, DefaultParamHandler::param_, FeatureFinderAlgorithmIsotopeWavelet< PeakType, FeatureType >::RT_interleave_, FeatureFinderAlgorithmIsotopeWavelet< PeakType, FeatureType >::RT_votes_cutoff_, IsotopeWavelet::setMaxCharge(), String::split(), FeatureFinderAlgorithmIsotopeWavelet< PeakType, FeatureType >::use_cuda_, FeatureFinderAlgorithmIsotopeWavelet< PeakType, FeatureType >::use_gpus_, and FeatureFinderAlgorithmIsotopeWavelet< PeakType, FeatureType >::use_tbb_.
bool check_PPMs_ [protected] |
A list of all GPU devices that can be used.
Referenced by FeatureFinderAlgorithmIsotopeWavelet< PeakType, FeatureType >::run(), and FeatureFinderAlgorithmIsotopeWavelet< PeakType, FeatureType >::updateMembers_().
bool hr_data_ [protected] |
DoubleReal intensity_threshold_ [protected] |
The only parameter of the isotope wavelet.
Referenced by FeatureFinderAlgorithmIsotopeWavelet< PeakType, FeatureType >::run(), and FeatureFinderAlgorithmIsotopeWavelet< PeakType, FeatureType >::updateMembers_().
String intensity_type_ [protected] |
UInt max_charge_ [protected] |
The maximal charge state we will consider.
Referenced by FeatureFinderAlgorithmIsotopeWavelet< PeakType, FeatureType >::createHRData(), FeatureFinderAlgorithmIsotopeWavelet< PeakType, FeatureType >::run(), and FeatureFinderAlgorithmIsotopeWavelet< PeakType, FeatureType >::updateMembers_().
Int progress_counter_ [protected] |
UInt real_RT_votes_cutoff_ [protected] |
UInt RT_interleave_ [protected] |
The number of subsequent scans a pattern must cover in order to be considered as signal.
Referenced by FeatureFinderAlgorithmIsotopeWavelet< PeakType, FeatureType >::run(), and FeatureFinderAlgorithmIsotopeWavelet< PeakType, FeatureType >::updateMembers_().
UInt RT_votes_cutoff_ [protected] |
bool use_cuda_ [protected] |
bool use_tbb_ [protected] |
| OpenMS / TOPP release 1.10.0 | Documentation generated on Thu Mar 7 2013 09:42:56 using doxygen 1.7.1 |