OpenMS
FeatureFinderAlgorithmIsotopeWavelet Class Reference

Implements the isotope wavelet feature finder. More...

#include <OpenMS/TRANSFORMATIONS/FEATUREFINDER/FeatureFinderAlgorithmIsotopeWavelet.h>

Inheritance diagram for FeatureFinderAlgorithmIsotopeWavelet:
[legend]
Collaboration diagram for FeatureFinderAlgorithmIsotopeWavelet:
[legend]

Classes

struct  BoxElement
 Internally used data structure for the sweep line algorithm. More...
 

Public Types

typedef FeatureFinderAlgorithm Base
 
typedef Peak1D PeakType
 
- Public Types inherited from FeatureFinderAlgorithm
typedef PeakMap MapType
 Input map type. More...
 
typedef MapType::CoordinateType CoordinateType
 Coordinate/Position type of peaks. More...
 
typedef MapType::IntensityType IntensityType
 Intensity type of peaks. More...
 

Public Member Functions

 FeatureFinderAlgorithmIsotopeWavelet ()
 Default Constructor. More...
 
 ~FeatureFinderAlgorithmIsotopeWavelet () override
 Destructor. More...
 
MSSpectrumcreateHRData (const UInt i)
 
void run () override
 The working horse of this class. More...
 
- Public Member Functions inherited from FeatureFinderAlgorithm
 FeatureFinderAlgorithm ()
 default constructor More...
 
 ~FeatureFinderAlgorithm () override
 destructor More...
 
virtual Param getDefaultParameters () const
 Returns the default parameters. Reimplement. More...
 
void setData (const MapType &map, FeatureMap &features, FeatureFinder &ff)
 Sets a reference to the calling FeatureFinder. More...
 
virtual void setSeeds (const FeatureMap &seeds)
 Sets a reference to the calling FeatureFinder. More...
 
- Public Member Functions inherited from DefaultParamHandler
 DefaultParamHandler (const String &name)
 Constructor with name that is displayed in error messages. More...
 
 DefaultParamHandler (const DefaultParamHandler &rhs)
 Copy constructor. More...
 
virtual ~DefaultParamHandler ()
 Destructor. More...
 
DefaultParamHandleroperator= (const DefaultParamHandler &rhs)
 Assignment operator. More...
 
virtual bool operator== (const DefaultParamHandler &rhs) const
 Equality operator. More...
 
void setParameters (const Param &param)
 Sets the parameters. More...
 
const ParamgetParameters () const
 Non-mutable access to the parameters. More...
 
const ParamgetDefaults () const
 Non-mutable access to the default parameters. More...
 
const StringgetName () const
 Non-mutable access to the name. More...
 
void setName (const String &name)
 Mutable access to the name. More...
 
const std::vector< String > & getSubsections () const
 Non-mutable access to the registered subsections. More...
 

Static Public Member Functions

static const String getProductName ()
 
static FeatureFinderAlgorithmcreate ()
 
- Static Public Member Functions inherited from FeatureFinderAlgorithm
static void registerChildren ()
 register all derived classes here (see FeatureFinderAlgorithm_impl.h) More...
 
- Static Public Member Functions inherited from DefaultParamHandler
static void writeParametersToMetaValues (const Param &write_this, MetaInfoInterface &write_here, const String &key_prefix="")
 Writes all parameters to meta values. More...
 

Protected Types

typedef std::map< UInt, BoxElementBox
 Key: RT (index), value: BoxElement. More...
 

Protected Member Functions

void updateMembers_ () override
 This method is used to update extra member variables at the end of the setParameters() method. More...
 
- Protected Member Functions inherited from DefaultParamHandler
void defaultsToParam_ ()
 Updates the parameters after the defaults have been set in the constructor. More...
 

Protected Attributes

UInt max_charge_
 The maximal absolute charge state we will consider. More...
 
double intensity_threshold_
 The only parameter of the isotope wavelet. More...
 
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. More...
 
String use_gpus_
 
String intensity_type_
 
bool check_PPMs_
 
bool hr_data_
 
std::vector< UIntgpu_ids_
 A list of all GPU devices that can be used. More...
 
Int progress_counter_
 
- Protected Attributes inherited from FeatureFinderAlgorithm
const MapTypemap_
 Input data pointer. More...
 
FeatureMapfeatures_
 Output data pointer. More...
 
FeatureFinderff_
 Pointer to the calling FeatureFinder that is used to access the feature flags. More...
 
- Protected Attributes inherited from DefaultParamHandler
Param param_
 Container for current parameters. More...
 
Param defaults_
 Container for default parameters. This member should be filled in the constructor of derived classes! More...
 
std::vector< Stringsubsections_
 Container for registered subsections. This member should be filled in the constructor of derived classes! More...
 
String error_name_
 Name that is displayed in error messages during the parameter checking. More...
 
bool check_defaults_
 If this member is set to false no checking if parameters in done;. More...
 
bool warn_empty_defaults_
 If this member is set to false no warning is emitted when defaults are empty;. More...
 

Detailed Description

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:

NameTypeDefaultRestrictionsDescription
max_charge int3 min: 1The maximal charge state to be considered.
intensity_threshold float-1.0  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 stringref ref, trans, correctedDetermines 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 stringfalse true, falseEnables/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 stringfalse true, falseMust 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 int5 min: 0Defines the minimum number of subsequent scans where a pattern must occur to be considered as a feature.
sweep_line:rt_interleave int1 min: 0Defines 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.

Note:
  • If a section name is documented, the documentation is displayed as tooltip.
  • Advanced parameter names are italic.

Class Documentation

◆ OpenMS::FeatureFinderAlgorithmIsotopeWavelet::BoxElement

struct OpenMS::FeatureFinderAlgorithmIsotopeWavelet::BoxElement

Internally used data structure for the sweep line algorithm.

Collaboration diagram for FeatureFinderAlgorithmIsotopeWavelet::BoxElement:
[legend]
Class Members
UInt c Note, this is not the charge (it is charge-1!!!)
double intens
double mz
double RT The elution time (not the scan index)
double score

Member Typedef Documentation

◆ Base

◆ Box

typedef std::map<UInt, BoxElement> Box
protected

Key: RT (index), value: BoxElement.

◆ PeakType

typedef Peak1D PeakType

Constructor & Destructor Documentation

◆ FeatureFinderAlgorithmIsotopeWavelet()

Default Constructor.

◆ ~FeatureFinderAlgorithmIsotopeWavelet()

Destructor.

Member Function Documentation

◆ create()

static FeatureFinderAlgorithm* create ( )
static

◆ createHRData()

MSSpectrum* createHRData ( const UInt  i)

◆ getProductName()

static const String getProductName ( )
static

◆ run()

void run ( )
overridevirtual

The working horse of this class.

Implements FeatureFinderAlgorithm.

◆ updateMembers_()

void updateMembers_ ( )
overrideprotectedvirtual

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.

Member Data Documentation

◆ check_PPMs_

bool check_PPMs_
protected

◆ gpu_ids_

std::vector<UInt> gpu_ids_
protected

A list of all GPU devices that can be used.

◆ hr_data_

bool hr_data_
protected

◆ intensity_threshold_

double intensity_threshold_
protected

The only parameter of the isotope wavelet.

◆ intensity_type_

String intensity_type_
protected

◆ max_charge_

UInt max_charge_
protected

The maximal absolute charge state we will consider.

◆ progress_counter_

Int progress_counter_
protected

◆ real_RT_votes_cutoff_

UInt real_RT_votes_cutoff_
protected

◆ RT_interleave_

UInt RT_interleave_
protected

The number of subsequent scans a pattern must cover in order to be considered as signal.

◆ RT_votes_cutoff_

UInt RT_votes_cutoff_
protected

◆ use_gpus_

String use_gpus_
protected