OpenMS  2.4.0
Classes | List of all members
OptimizePeakDeconvolution Class Reference

This class provides the deconvolution of peak regions using non-linear optimization. More...

#include <OpenMS/TRANSFORMATIONS/RAW2PEAK/OptimizePeakDeconvolution.h>

Inheritance diagram for OptimizePeakDeconvolution:
DefaultParamHandler

Classes

struct  Data
 Class containing the data needed for optimization. More...
 

Public Types

Type definitions
typedef std::vector< Peak1DRawDataVector
 
typedef RawDataVector::iterator PeakIterator
 

Public Member Functions

Constructors and Destructor
 OptimizePeakDeconvolution ()
 Constructor. More...
 
 OptimizePeakDeconvolution (const OptimizePeakDeconvolution &opt)
 Copy-Constructor. More...
 
 ~OptimizePeakDeconvolution () override
 Destructor. 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...
 
virtual 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...
 

Assignment

OptimizationFunctions::PenaltyFactorsIntensity penalties_
 
Int charge_
 Charge state of the current isotope pattern. More...
 
static const double dist_
 distance between two isotopic peaks More...
 
OptimizePeakDeconvolutionoperator= (const OptimizePeakDeconvolution &opt)
 
const OptimizationFunctions::PenaltyFactorsIntensitygetPenalties () const
 Non-mutable access to the penalty parameter. More...
 
void setPenalties (const OptimizationFunctions::PenaltyFactorsIntensity &penalties)
 Mutable access to the penalty parameter. More...
 
Int getCharge () const
 Non-mutable access to the charge. More...
 
void setCharge (const Int charge)
 Mutable access to the charge. More...
 
bool optimize (std::vector< PeakShape > &peaks, Data &data)
 Performs a nonlinear optimization of the peaks that belong to the current isotope pattern. More...
 
Size getNumberOfPeaks_ (Int charge, std::vector< PeakShape > &temp_shapes, Data &data)
 
void setNumberOfPeaks_ (Data &data, const std::vector< PeakShape > &temp_shapes, Int charge)
 A function to determine the number of peaks that lie in the current m/z interval given the distance between the peaks by the current charge state. More...
 
void updateMembers_ () override
 This method is used to update extra member variables at the end of the setParameters() method. More...
 

Additional Inherited Members

- Protected Member Functions inherited from DefaultParamHandler
void defaultsToParam_ ()
 Updates the parameters after the defaults have been set in the constructor. 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

This class provides the deconvolution of peak regions using non-linear optimization.

Given a vector of peak shapes, this class optimizes all peak shapes parameters using a non-linear optimization. For the non-linear optimization we use the Levenberg-Marquardt algorithm. There are a few constraints for the parameters: the positions are equidistant according to the peptide mass rule, e.g. two consecutive isotopic peaks are 1.003/charge away from each other. Besides the peaks have all the same left and right width, respectively.

Member Typedef Documentation

◆ PeakIterator

typedef RawDataVector::iterator PeakIterator

◆ RawDataVector

typedef std::vector<Peak1D> RawDataVector

Constructor & Destructor Documentation

◆ OptimizePeakDeconvolution() [1/2]

Constructor.

◆ OptimizePeakDeconvolution() [2/2]

Copy-Constructor.

◆ ~OptimizePeakDeconvolution()

~OptimizePeakDeconvolution ( )
inlineoverride

Destructor.

Member Function Documentation

◆ getCharge()

Int getCharge ( ) const
inline

Non-mutable access to the charge.

◆ getNumberOfPeaks_()

Size getNumberOfPeaks_ ( Int  charge,
std::vector< PeakShape > &  temp_shapes,
Data data 
)

◆ getPenalties()

const OptimizationFunctions::PenaltyFactorsIntensity& getPenalties ( ) const
inline

Non-mutable access to the penalty parameter.

Accessors

◆ operator=()

OptimizePeakDeconvolution& operator= ( const OptimizePeakDeconvolution opt)
inline

◆ optimize()

bool optimize ( std::vector< PeakShape > &  peaks,
Data data 
)

Performs a nonlinear optimization of the peaks that belong to the current isotope pattern.

◆ setCharge()

void setCharge ( const Int  charge)
inline

Mutable access to the charge.

◆ setNumberOfPeaks_()

void setNumberOfPeaks_ ( Data data,
const std::vector< PeakShape > &  temp_shapes,
Int  charge 
)
protected

A function to determine the number of peaks that lie in the current m/z interval given the distance between the peaks by the current charge state.

◆ setPenalties()

void setPenalties ( const OptimizationFunctions::PenaltyFactorsIntensity penalties)
inline

Mutable access to the penalty parameter.

◆ 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

◆ charge_

Int charge_
protected

Charge state of the current isotope pattern.

Referenced by OptimizePeakDeconvolution::operator=().

◆ dist_

const double dist_
staticprotected

distance between two isotopic peaks

◆ penalties_