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< DeconvPeakfDeconvPeaks
 
int fMinPeakGroupSize
 
double fTheta
 
int fScanNumber
 
bool fShortReportFlag
 

Constructor & Destructor Documentation

◆ Deisotoper() [1/2]

◆ Deisotoper() [2/2]

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