OpenMS
2.7.0
|
#include <OpenMS/FILTERING/DATAREDUCTION/Deisotoper.h>
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... | |
|
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.
[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.