| OpenMS 2.5.0

Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
Deisotoper Class Reference

`#include <OpenMS/FILTERING/DATAREDUCTION/Deisotoper.h>`

## Public Member Functions

| Deisotoper ()
| Deisotoper (CentroidData &)
virtual | ~Deisotoper ()
std::list< DeconvPeak > & | getDeconvPeaks ()
void | go (CentroidData &)
void | cleanDeconvPeaks ()
int | getMinPeakGroupSize ()
double | getTheta ()
int | getScanNumber ()
bool | getShortReportFlag ()
void | setMinPeakGroupSize (int pMinPeakGroupSize)
void | setTheta (double pTheta)
void | setScanNumber (int pScanNumber)
void | setShortReportFlag (bool pShortReportFlag)

## Static Public Member Functions

static void | deisotopeAndSingleCharge (MSSpectrum &spectrum, double fragment_tolerance, bool fragment_unit_ppm, int min_charge=1, int max_charge=3, bool keep_only_deisotoped=false, unsigned int min_isopeaks=3, unsigned int max_isopeaks=10, bool make_single_charged=true, bool annotate_charge=false, bool annotate_iso_peak_count=false, bool use_decreasing_model=true, unsigned int start_intensity_check=2, bool add_up_intensity=false)
| Detect isotopic clusters in a mass spectrum. More...

## Protected Attributes

std::list< DeconvPeak > | fDeconvPeaks
int | fMinPeakGroupSize
double | fTheta
int | fScanNumber
bool | fShortReportFlag

## Constructor & Destructor Documentation

## ◆ Deisotoper() [1/2]

Deisotoper | ( |  | ) |

## ◆ Deisotoper() [2/2]

Deisotoper | ( | CentroidData & |  | ) |

## ◆ ~Deisotoper()

virtual ~Deisotoper | ( |  | ) |

virtual

## Member Function Documentation

## ◆ cleanDeconvPeaks()

void cleanDeconvPeaks | ( |  | ) |

## ◆ deisotopeAndSingleCharge()

static void deisotopeAndSingleCharge | ( | MSSpectrum & | spectrum,
|  | double | fragment_tolerance,
|  | bool | fragment_unit_ppm,
|  | int | min_charge = `1`,
|  | int | max_charge = `3`,
|  | bool | keep_only_deisotoped = `false`,
|  | unsigned int | min_isopeaks = `3`,
|  | unsigned int | max_isopeaks = `10`,
|  | bool | make_single_charged = `true`,
|  | bool | annotate_charge = `false`,
|  | bool | annotate_iso_peak_count = `false`,
|  | bool | use_decreasing_model = `true`,
|  | unsigned int | start_intensity_check = `2`,
|  | bool | add_up_intensity = `false`
| ) |  |

static

Detect isotopic clusters in a mass spectrum.

Deisotoping is based on C13 abundance and will try to identify a simple model based on the C12-C13 distance and charge state. This is often a good approximation for peptide fragment ion spectra but may not work well for other spectra. The algorithm will consider each peak (starting from the right of a spectrum) and, for each peak, attempt to add isotopic peaks to its envelope until either no peak is found, the maximum number of isotopic peaks is reached or (only when using `use_decreasing_model`) the intensity of the peak is higher than the previous peak.

Deisotoping is done in-place and if `annotate_charge` is true, an additional IntegerDataArray "charge" will be appended. If `annotate_iso_peak_count` is true, an additional IntegerDataArray "iso_peak_count" containing the number of isotopic peaks will be appended. Existing DataArrays are kept and shrunken to the peaks which remain in the spectrum.

Parameters

  [spectra] | Input spectra (sorted by m/z)
  [fragment_tolerance] | The tolerance used to match isotopic peaks
  [fragment_unit_ppm] | Whether ppm or m/z is used as tolerance
  [min_charge] | The minimum charge considered
  [max_charge] | The maximum charge considered
  [keep_only_deisotoped] | Only monoisotopic peaks of fragments with isotopic pattern are retained
  [min_isopeaks] | The minimum number of isotopic peaks (at least 2) required for an isotopic cluster
  [max_isopeaks] | The maximum number of isotopic peaks (at least 2) considered for an isotopic cluster
  [make_single_charged] | Convert deisotoped monoisotopic peak to single charge
  [annotate_charge] | Annotate the charge to the peaks in the IntegerDataArray: "charge" (0 for unknown charge)
  [annotate_iso_peak_count] | Annotate the number of isotopic peaks in a pattern for each monoisotopic peak in the IntegerDataArray: "iso_peak_count"
  [use_decreasing_model] | Use a simple averagine model that expects heavier isotopes to have less intensity. If false, no intensity checks are applied.
  [start_intensity_check] | Number of the isotopic peak from which the decreasing model should be applied. <= 1 will force the monoisotopic peak to be the most intense. 2 will allow the monoisotopic peak to be less intense than the second peak. 3 will allow the monoisotopic and the second peak to be less intense than the third, etc. A number higher than max_isopeaks will effectively disable use_decreasing_model completely.
  [add_up_intensity] | Sum up the total intensity of each isotopic pattern into the intensity of the reported monoisotopic peak

Note: If `make_single_charged` is selected, the original charge (>=1) gets annotated.

## ◆ getDeconvPeaks()

std::list<DeconvPeak>& getDeconvPeaks | ( |  | ) |

inline

## ◆ getMinPeakGroupSize()

int getMinPeakGroupSize | ( |  | ) |

inline

## ◆ getScanNumber()

int getScanNumber | ( |  | ) |

inline

## ◆ getShortReportFlag()

bool getShortReportFlag | ( |  | ) |

inline

## ◆ getTheta()

double getTheta | ( |  | ) |

inline

## ◆ go()

void go | ( | CentroidData & |  | ) |

## ◆ setMinPeakGroupSize()

void setMinPeakGroupSize | ( | int | pMinPeakGroupSize | ) |

inline

## ◆ setScanNumber()

void setScanNumber | ( | int | pScanNumber | ) |

inline

## ◆ setShortReportFlag()

void setShortReportFlag | ( | bool | pShortReportFlag | ) |

inline

## ◆ setTheta()

void setTheta | ( | double | pTheta | ) |

inline

## Member Data Documentation

## ◆ fDeconvPeaks

std::list<DeconvPeak> fDeconvPeaks

protected

## ◆ fMinPeakGroupSize

int fMinPeakGroupSize

protected

## ◆ fScanNumber

int fScanNumber

protected

## ◆ fShortReportFlag

bool fShortReportFlag

protected

## ◆ fTheta

double fTheta

protected