Home  · Classes  · Annotated Classes  · Modules  · Members  · Namespaces  · Related Pages
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes

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

List of all members.

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

bool optimize (std::vector< PeakShape > &peaks, Data &data)
 Performs a nonlinear optimization of the peaks that belong to the current isotope pattern.
Constructors and Destructor

 OptimizePeakDeconvolution ()
 Constructor.
 OptimizePeakDeconvolution (const OptimizePeakDeconvolution &opt)
 Copy-Constructor.
virtual ~OptimizePeakDeconvolution ()
 Destructor.
Assignment

OptimizePeakDeconvolutionoperator= (const OptimizePeakDeconvolution &opt)

const
OptimizationFunctions::PenaltyFactorsIntensity
getPenalties () const
 Non-mutable access to the penalty parameter.
void setPenalties (const OptimizationFunctions::PenaltyFactorsIntensity &penalties)
 Mutable access to the penalty parameter.
Int getCharge () const
 Non-mutable access to the charge.
void setCharge (const Int charge)
 Mutable access to the charge.

Protected Member Functions

Size getNumberOfPeaks_ (Int charge, std::vector< PeakShape > &temp_shapes, Data &data)
 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.
bool checkFWHM_ (std::vector< PeakShape > &peaks, gsl_multifit_fdfsolver *&fit)
void updateMembers_ ()
 This method is used to update extra member variables at the end of the setParameters() method.

Protected Attributes

OptimizationFunctions::PenaltyFactorsIntensity penalties_
Int charge_
 Charge state of the current isotope pattern.

Static Protected Attributes

static const DoubleReal dist_
 distance between two isotopic peaks

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 provided by the gsl. 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.

Parameters of this class are:

NameTypeDefaultRestrictionsDescription
max_iteration int10  maximal number of iterations for the fitting step
eps_abs float0.0001  if the absolute error gets smaller than this value the fitting is stopped
eps_rel float0.0001  if the relative error gets smaller than this value the fitting is stopped
fwhm_threshold float1  If a peaks is broader than fwhm_threshold, it is assumed that it contains another peaks and an additional peak is added.
penalties:left_width float0  penalty term for the fitting of the left width:If the left width gets too broad or negative during the fitting it can be penalized.
penalties:right_width float0  penalty term for the fitting of the right width:If the right width gets too broad or negative during the fitting it can be penalized.
penalties:height float0  penalty term for the fitting of the intensity:If it gets negative during the fitting it can be penalized.
penalties:position float0  penalty term for the fitting of the peak position:If the position changes more than 0.5Da during the fitting it can be penalized as well as discrepancies of the peptide mass rule.

Note:

Member Typedef Documentation

typedef RawDataVector::iterator PeakIterator
typedef std::vector<Peak1D> RawDataVector

Constructor & Destructor Documentation

Constructor.

OptimizePeakDeconvolution ( const OptimizePeakDeconvolution opt  )  [inline]

Copy-Constructor.

virtual ~OptimizePeakDeconvolution (  )  [inline, virtual]

Destructor.


Member Function Documentation

bool checkFWHM_ ( std::vector< PeakShape > &  peaks,
gsl_multifit_fdfsolver *&  fit 
) [protected]
Int getCharge (  )  const [inline]

Non-mutable access to the charge.

Size getNumberOfPeaks_ ( Int  charge,
std::vector< PeakShape > &  temp_shapes,
Data data 
) [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.

const OptimizationFunctions::PenaltyFactorsIntensity& getPenalties (  )  const [inline]

Non-mutable access to the penalty parameter.

Accessors

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

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

void setCharge ( const Int  charge  )  [inline]

Mutable access to the charge.

void setPenalties ( const OptimizationFunctions::PenaltyFactorsIntensity penalties  )  [inline]

Mutable access to the penalty parameter.

void updateMembers_ (  )  [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.


Member Data Documentation

Int charge_ [protected]

Charge state of the current isotope pattern.

Referenced by OptimizePeakDeconvolution::operator=().

const DoubleReal dist_ [static, protected]

distance between two isotopic peaks


OpenMS / TOPP release 1.10.0 Documentation generated on Thu Mar 7 2013 09:42:57 using doxygen 1.7.1