#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