#include <OpenMS/FILTERING/DATAREDUCTION/Deisotoper.h>
|
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...
|
|
◆ Deisotoper() [1/2]
◆ Deisotoper() [2/2]
◆ ~Deisotoper()
◆ 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()
◆ getMinPeakGroupSize()
int getMinPeakGroupSize |
( |
| ) |
|
|
inline |
◆ getScanNumber()
◆ getShortReportFlag()
bool getShortReportFlag |
( |
| ) |
|
|
inline |
◆ getTheta()
◆ go()
◆ setMinPeakGroupSize()
void setMinPeakGroupSize |
( |
int |
pMinPeakGroupSize | ) |
|
|
inline |
◆ setScanNumber()
void setScanNumber |
( |
int |
pScanNumber | ) |
|
|
inline |
◆ setShortReportFlag()
void setShortReportFlag |
( |
bool |
pShortReportFlag | ) |
|
|
inline |
◆ setTheta()
void setTheta |
( |
double |
pTheta | ) |
|
|
inline |
◆ fDeconvPeaks
◆ fMinPeakGroupSize
◆ fScanNumber
◆ fShortReportFlag
◆ fTheta