OpenMS
ElutionModelFitter Class Reference

Helper class for fitting elution models to features. More...

#include <OpenMS/FEATUREFINDER/ElutionModelFitter.h>

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

Public Member Functions

 ElutionModelFitter ()
 Default constructor. More...
 
 ~ElutionModelFitter () override
 Destructor. More...
 
void fitElutionModels (FeatureMap &features)
 Fit models of elution profiles to all features (and validate them) 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...
 

Protected Types

typedef FeatureFinderAlgorithmPickedHelperStructs::MassTrace MassTrace
 
typedef FeatureFinderAlgorithmPickedHelperStructs::MassTraces MassTraces
 

Protected Member Functions

double calculateFitQuality_ (const TraceFitter *fitter, const MassTraces &traces)
 Calculate quality of model fit (mean relative error) More...
 
void fitAndValidateModel_ (TraceFitter *fitter, MassTraces &traces, Feature &feature, double region_start, double region_end, bool asymmetric, double area_limit, double check_boundaries)
 Helper function to fit (and validate) a model for one set of mass traces. More...
 
- Protected Member Functions inherited from DefaultParamHandler
virtual void updateMembers_ ()
 This method is used to update extra member variables at the end of the setParameters() method. More...
 
void defaultsToParam_ ()
 Updates the parameters after the defaults have been set in the constructor. More...
 

Additional Inherited Members

- 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 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

Helper class for fitting elution models to features.

Parameters of this class are:

NameTypeDefaultRestrictionsDescription
asymmetric stringfalse true, falseFit an asymmetric (exponential-Gaussian hybrid) model? By default a symmetric (Gaussian) model is used.
add_zeros float0.2 min: 0.0Add zero-intensity points outside the feature range to constrain the model fit. This parameter sets the weight given to these points during model fitting; '0' to disable.
unweighted_fit stringfalse true, falseSuppress weighting of mass traces according to theoretical intensities when fitting elution models
no_imputation stringfalse true, falseIf fitting the elution model fails for a feature, set its intensity to zero instead of imputing a value from the initial intensity estimate
each_trace stringfalse true, falseFit elution model to each individual mass trace
check:min_area float1.0 min: 0.0Lower bound for the area under the curve of a valid elution model
check:boundaries float0.5 min: 0.0 max: 1.0Time points corresponding to this fraction of the elution model height have to be within the data region used for model fitting
check:width float10.0 min: 0.0Upper limit for acceptable widths of elution models (Gaussian or EGH), expressed in terms of modified (median-based) z-scores. '0' to disable. Not applied to individual mass traces (parameter 'each_trace').
check:asymmetry float10.0 min: 0.0Upper limit for acceptable asymmetry of elution models (EGH only), expressed in terms of modified (median-based) z-scores. '0' to disable. Not applied to individual mass traces (parameter 'each_trace').

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

Member Typedef Documentation

◆ MassTrace

◆ MassTraces

Constructor & Destructor Documentation

◆ ElutionModelFitter()

Default constructor.

◆ ~ElutionModelFitter()

~ElutionModelFitter ( )
override

Destructor.

Member Function Documentation

◆ calculateFitQuality_()

double calculateFitQuality_ ( const TraceFitter fitter,
const MassTraces traces 
)
protected

Calculate quality of model fit (mean relative error)

◆ fitAndValidateModel_()

void fitAndValidateModel_ ( TraceFitter fitter,
MassTraces traces,
Feature feature,
double  region_start,
double  region_end,
bool  asymmetric,
double  area_limit,
double  check_boundaries 
)
protected

Helper function to fit (and validate) a model for one set of mass traces.

◆ fitElutionModels()

void fitElutionModels ( FeatureMap features)

Fit models of elution profiles to all features (and validate them)

Assumptions (not checked!):

  • all features have meta values "left-"/"rightWidth" giving RT start/end
  • all features have subordinates (for the mass traces/transitions)
  • each subordinate has an appropriate meta value "isotope_probability"
  • each subordinate has one convex hull
  • all convex hulls in one feature contain the same number (> 0) of points
  • the y coordinates of the hull points store the intensities