OpenMS
IsotopeModel Class Reference

Isotope distribution approximated using linear interpolation. More...

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

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

Public Types

enum  Averagines {
  C = 0 , H , N , O ,
  S , AVERAGINE_NUM
}
 
typedef InterpolationModel::CoordinateType CoordinateType
 
typedef InterpolationModel::CoordinateType IntensityType
 
- Public Types inherited from InterpolationModel
typedef double IntensityType
 
typedef DPosition< 1 > PositionType
 
typedef double CoordinateType
 
using KeyType = double
 
typedef Math::LinearInterpolation< KeyTypeLinearInterpolation
 
- Public Types inherited from BaseModel< 1 >
typedef double IntensityType
 
typedef double CoordinateType
 
typedef DPosition< D > PositionType
 
typedef DPeak< D >::Type PeakType
 
typedef std::vector< PeakTypeSamplesType
 

Public Member Functions

 IsotopeModel ()
 Default constructor. More...
 
 IsotopeModel (const IsotopeModel &source)
 copy constructor More...
 
 ~IsotopeModel () override
 destructor More...
 
virtual IsotopeModeloperator= (const IsotopeModel &source)
 assignment operator More...
 
UInt getCharge () const
 
void setOffset (CoordinateType offset) override
 set the offset of the model More...
 
CoordinateType getOffset ()
 
EmpiricalFormula getFormula ()
 return the Averagine peptide formula (mass calculated from mean mass and charge – use .setParameters() to set them) More...
 
virtual void setSamples (const EmpiricalFormula &formula)
 set sample/supporting points of interpolation More...
 
CoordinateType getCenter () const override
 get the center of the Isotope model More...
 
const IsotopeDistributiongetIsotopeDistribution () const
 the Isotope distribution (without widening) from the last setSamples() call More...
 
virtual void setSamples ()
 set sample/supporting points of interpolation (from base class) More...
 
- Public Member Functions inherited from InterpolationModel
 InterpolationModel ()
 Default constructor. More...
 
 InterpolationModel (const InterpolationModel &source)
 copy constructor More...
 
 ~InterpolationModel () override=default
 destructor More...
 
InterpolationModeloperator= (const InterpolationModel &source)
 assignment operator More...
 
IntensityType getIntensity (const PositionType &pos) const override
 access model predicted intensity at position pos More...
 
IntensityType getIntensity (CoordinateType coord) const
 access model predicted intensity at position pos More...
 
const LinearInterpolationgetInterpolation () const
 Returns the interpolation class. More...
 
CoordinateType getScalingFactor () const
 get the scaling for the model More...
 
void getSamples (SamplesType &cont) const override
 get reasonable set of samples from the model (i.e. for printing) More...
 
void setInterpolationStep (CoordinateType interpolation_step)
 Set the interpolation step for the linear interpolation of the model. More...
 
void setScalingFactor (CoordinateType scaling)
 
- Public Member Functions inherited from BaseModel< 1 >
 BaseModel ()
 Default constructor. More...
 
 BaseModel (const BaseModel &source)
 copy constructor More...
 
 ~BaseModel () override
 Destructor. More...
 
BaseModeloperator= (const BaseModel &source)
 assignment operator More...
 
void registerChildren ()
 
void registerChildren ()
 
virtual IntensityType getIntensity (const PositionType &pos) const=0
 access model predicted intensity at position pos More...
 
virtual bool isContained (const PositionType &pos) const
 check if position pos is part of the model regarding the models cut-off. More...
 
void fillIntensity (PeakType &peak) const
 Convenience function to set the intensity of a peak to the predicted intensity at its current position, calling virtual void getIntensity(). More...
 
void fillIntensities (PeakIterator begin, PeakIterator end) const
 Convenience function that applies fillIntensity() to an iterator range. More...
 
virtual IntensityType getCutOff () const
 get cutoff value More...
 
virtual void setCutOff (IntensityType cut_off)
 set cutoff value More...
 
virtual void getSamples (std::ostream &os)
 fill stream with reasonable set of samples from the model (i.e. for printing) 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 BaseModel< 1 > * create ()
 create new IsotopeModel object (needed by Factory) More...
 
static const String getProductName ()
 name of the model (needed by Factory) More...
 
- Static Public Member Functions inherited from BaseModel< 1 >
static void registerChildren ()
 register all derived classes here (implemented in file BaseModel_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 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 BaseModel< 1 >
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

CoordinateType isotope_stdev_
 
CoordinateType isotope_lorentz_fwhm_
 
UInt charge_
 
CoordinateType mean_
 
CoordinateType monoisotopic_mz_
 
double averagine_ [AVERAGINE_NUM]
 
Int max_isotope_
 
double trim_right_cutoff_
 
double isotope_distance_
 
IsotopeDistribution isotope_distribution_
 
- Protected Attributes inherited from InterpolationModel
LinearInterpolation interpolation_
 
CoordinateType interpolation_step_
 
CoordinateType scaling_
 
- Protected Attributes inherited from BaseModel< 1 >
IntensityType cut_off_
 
- 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

Isotope distribution approximated using linear interpolation.

This models a smoothed (widened) distribution, i.e. can be used to sample actual raw peaks (depending on the points you query). If you only want the distribution (no widening), use either EmpiricalFormula::getIsotopeDistribution() // for a certain sum formula or IsotopeDistribution::estimateFromPeptideWeight (double average_weight) // for averagine

Peak widening is achieved by either a Gaussian or Lorentzian shape.

Parameters of this class are:

NameTypeDefaultRestrictionsDescription
cutoff float0.0  Low intensity cutoff of the model. Peaks below this intensity are not considered part of the model.
interpolation_step float0.1  Sampling rate for the interpolation of the model function
intensity_scaling float1.0  Scaling factor used to adjust the model distribution to the intensities of the data
charge int1  Charge state of the model.
averagines:C float0.044439889490604  Number of C atoms per Dalton of mass.
averagines:H float0.069815717637539  Number of H atoms per Dalton of mass.
averagines:N float0.012217730283737  Number of N atoms per Dalton of mass.
averagines:O float0.013293989934027  Number of O atoms per Dalton of mass.
averagines:S float3.752500051632524e-04  Number of S atoms per Dalton of mass.
isotope:trim_right_cutoff float1.0e-03  Cutoff in averagine distribution, trailing isotopes below this relative intensity are not considered.
isotope:maximum int100  Maximum isotopic rank to be considered.
isotope:distance float1.000495  Distance between consecutive isotopic peaks.
isotope:mode:mode stringGaussian Gaussian, LorentzianPeak Shape used around each isotope peak.
isotope:mode:LorentzFWHM float0.3  Full width of the Lorentzian (Cauchy) function applied to the averagine isotopic pattern to simulate the inaccuracy of the mass spectrometer.
isotope:mode:GaussianSD float0.1  Standard deviation of Gaussian applied to the averagine isotopic pattern to simulate the inaccuracy of the mass spectrometer.
statistics:mean float0.0  Centroid m/z (as opposed to monoisotopic m/z).

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

Member Typedef Documentation

◆ CoordinateType

◆ IntensityType

Member Enumeration Documentation

◆ Averagines

enum Averagines
Enumerator
AVERAGINE_NUM 

Constructor & Destructor Documentation

◆ IsotopeModel() [1/2]

Default constructor.

◆ IsotopeModel() [2/2]

IsotopeModel ( const IsotopeModel source)

copy constructor

◆ ~IsotopeModel()

~IsotopeModel ( )
override

destructor

Member Function Documentation

◆ create()

static BaseModel<1>* create ( )
inlinestatic

create new IsotopeModel object (needed by Factory)

◆ getCenter()

CoordinateType getCenter ( ) const
overridevirtual

get the center of the Isotope model

This is a m/z-value not necessarily the monoisotopic mass.

Reimplemented from InterpolationModel.

◆ getCharge()

UInt getCharge ( ) const

◆ getFormula()

EmpiricalFormula getFormula ( )

return the Averagine peptide formula (mass calculated from mean mass and charge – use .setParameters() to set them)

Referenced by ProductModel< 2 >::updateMembers_().

◆ getIsotopeDistribution()

const IsotopeDistribution& getIsotopeDistribution ( ) const

the Isotope distribution (without widening) from the last setSamples() call

Useful to determine the number of isotopes that the model contains and their position

◆ getOffset()

CoordinateType getOffset ( )

◆ getProductName()

static const String getProductName ( )
inlinestatic

name of the model (needed by Factory)

◆ operator=()

virtual IsotopeModel& operator= ( const IsotopeModel source)
virtual

assignment operator

◆ setOffset()

void setOffset ( CoordinateType  offset)
overridevirtual

set the offset of the model

The whole model will be shifted to the new offset without being computing all over. This leaves a discrepancy which is minor in small shifts (i.e. shifting by one or two standard deviations) but can get significant otherwise. In that case use setParameters() which enforces a recomputation of the model.

Reimplemented from InterpolationModel.

◆ setSamples() [1/2]

virtual void setSamples
inlinevirtual

set sample/supporting points of interpolation (from base class)

Reimplemented from InterpolationModel.

◆ setSamples() [2/2]

virtual void setSamples ( const EmpiricalFormula formula)
virtual

set sample/supporting points of interpolation

◆ 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 InterpolationModel.

Member Data Documentation

◆ averagine_

double averagine_[AVERAGINE_NUM]
protected

◆ charge_

UInt charge_
protected

◆ isotope_distance_

double isotope_distance_
protected

◆ isotope_distribution_

IsotopeDistribution isotope_distribution_
protected

◆ isotope_lorentz_fwhm_

CoordinateType isotope_lorentz_fwhm_
protected

◆ isotope_stdev_

CoordinateType isotope_stdev_
protected

◆ max_isotope_

Int max_isotope_
protected

◆ mean_

CoordinateType mean_
protected

◆ monoisotopic_mz_

CoordinateType monoisotopic_mz_
protected

◆ trim_right_cutoff_

double trim_right_cutoff_
protected