OpenMS
MassTraceDetection Class Reference

A mass trace extraction method that gathers peaks similar in m/z and moving along retention time. More...

#include <OpenMS/FILTERING/DATAREDUCTION/MassTraceDetection.h>

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

Classes

struct  Apex
 

Public Member Functions

 MassTraceDetection ()
 Default constructor. More...
 
 ~MassTraceDetection () override
 Default destructor. More...
 
Helper methods
void updateIterativeWeightedMeanMZ (const double &, const double &, double &, double &, double &)
 Allows the iterative computation of the intensity-weighted mean of a mass trace's centroid m/z. More...
 
Main computation methods
void run (const PeakMap &, std::vector< MassTrace > &, const Size max_traces=0)
 Main method of MassTraceDetection. Extracts mass traces of a MSExperiment and gathers them into a vector container. More...
 
void run (PeakMap::ConstAreaIterator &begin, PeakMap::ConstAreaIterator &end, std::vector< MassTrace > &found_masstraces)
 Invokes the run method (see above) on merely a subregion of a MSExperiment map. 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...
 
- Public Member Functions inherited from ProgressLogger
 ProgressLogger ()
 Constructor. More...
 
virtual ~ProgressLogger ()
 Destructor. More...
 
 ProgressLogger (const ProgressLogger &other)
 Copy constructor. More...
 
ProgressLoggeroperator= (const ProgressLogger &other)
 Assignment Operator. More...
 
void setLogType (LogType type) const
 Sets the progress log that should be used. The default type is NONE! More...
 
LogType getLogType () const
 Returns the type of progress log being used. More...
 
void startProgress (SignedSize begin, SignedSize end, const String &label) const
 Initializes the progress display. More...
 
void setProgress (SignedSize value) const
 Sets the current progress. More...
 
void endProgress (UInt64 bytes_processed=0) const
 
void nextProgress () const
 increment progress by 1 (according to range begin-end) More...
 

Private methods and members

double mass_error_ppm_
 
double mass_error_da_
 
double noise_threshold_int_
 
double chrom_peak_snr_
 
MassTrace::MT_QUANTMETHOD quant_method_
 
String trace_termination_criterion_
 
Size trace_termination_outliers_
 
double min_sample_rate_
 
double min_trace_length_
 
double max_trace_length_
 
bool reestimate_mt_sd_
 
void updateMembers_ () override
 This method is used to update extra member variables at the end of the setParameters() method. More...
 
void run_ (const std::vector< Apex > &chrom_apices, const Size peak_count, const PeakMap &work_exp, const std::vector< Size > &spec_offsets, std::vector< MassTrace > &found_masstraces, const Size max_traces=0)
 The internal run method. More...
 

Additional Inherited Members

- Public Types inherited from ProgressLogger
enum  LogType { CMD , GUI , NONE }
 Possible log types. 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 Member Functions inherited from DefaultParamHandler
void defaultsToParam_ ()
 Updates the parameters after the defaults have been set in the constructor. More...
 
- Static Protected Member Functions inherited from ProgressLogger
static String logTypeToFactoryName_ (LogType type)
 Return the name of the factory product used for this log type. 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...
 
- Protected Attributes inherited from ProgressLogger
LogType type_
 
time_t last_invoke_
 
ProgressLoggerImplcurrent_logger_
 
- Static Protected Attributes inherited from ProgressLogger
static int recursion_depth_
 

Detailed Description

A mass trace extraction method that gathers peaks similar in m/z and moving along retention time.

Peaks of a MSExperiment are sorted by their intensity and stored in a list of potential chromatographic apex positions. Only peaks that are above the noise threshold (user-defined) are analyzed and only peaks that are n times above this minimal threshold are considered as apices. This saves computational resources and decreases the noise in the resulting output.

Starting with these, mass traces are extended in- and decreasingly in retention time. During this extension phase, the centroid m/z is computed on-line as an intensity-weighted mean of peaks.

The extension phase ends when either the frequency of gathered peaks drops below a threshold (min_sample_rate, see MassTraceDetection parameters) or when the number of missed scans exceeds a threshold (trace_termination_outliers, see MassTraceDetection parameters).

Finally, only mass traces that pass a filter (a certain minimal and maximal length as well as having the minimal sample rate criterion fulfilled) get added to the result.

Constructor & Destructor Documentation

◆ MassTraceDetection()

Default constructor.

◆ ~MassTraceDetection()

~MassTraceDetection ( )
override

Default destructor.

Member Function Documentation

◆ run() [1/2]

void run ( const PeakMap ,
std::vector< MassTrace > &  ,
const Size  max_traces = 0 
)

Main method of MassTraceDetection. Extracts mass traces of a MSExperiment and gathers them into a vector container.

◆ run() [2/2]

void run ( PeakMap::ConstAreaIterator begin,
PeakMap::ConstAreaIterator end,
std::vector< MassTrace > &  found_masstraces 
)

Invokes the run method (see above) on merely a subregion of a MSExperiment map.

◆ run_()

void run_ ( const std::vector< Apex > &  chrom_apices,
const Size  peak_count,
const PeakMap work_exp,
const std::vector< Size > &  spec_offsets,
std::vector< MassTrace > &  found_masstraces,
const Size  max_traces = 0 
)
private

The internal run method.

◆ updateIterativeWeightedMeanMZ()

void updateIterativeWeightedMeanMZ ( const double &  ,
const double &  ,
double &  ,
double &  ,
double &   
)

Allows the iterative computation of the intensity-weighted mean of a mass trace's centroid m/z.

◆ 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

◆ chrom_peak_snr_

double chrom_peak_snr_
private

◆ mass_error_da_

double mass_error_da_
private

◆ mass_error_ppm_

double mass_error_ppm_
private

◆ max_trace_length_

double max_trace_length_
private

◆ min_sample_rate_

double min_sample_rate_
private

◆ min_trace_length_

double min_trace_length_
private

◆ noise_threshold_int_

double noise_threshold_int_
private

◆ quant_method_

MassTrace::MT_QUANTMETHOD quant_method_
private

◆ reestimate_mt_sd_

bool reestimate_mt_sd_
private

◆ trace_termination_criterion_

String trace_termination_criterion_
private

◆ trace_termination_outliers_

Size trace_termination_outliers_
private