OpenMS
Loading...
Searching...
No Matches
PrecursorPurity.h
Go to the documentation of this file.
1// Copyright (c) 2002-present, OpenMS Inc. -- EKU Tuebingen, ETH Zurich, and FU Berlin
2// SPDX-License-Identifier: BSD-3-Clause
3//
4// --------------------------------------------------------------------------
5// $Maintainer: Eugen Netz $
6// $Authors: Eugen Netz $
7// --------------------------------------------------------------------------
8
9#pragma once
10
14#include <unordered_map>
15#include <vector>
16
17
18namespace OpenMS
19{
34 class OPENMS_DLLAPI PrecursorPurity
35 {
36
37 public:
38
40 {
41 double total_intensity = 0.0;
42 double target_intensity = 0.0;
43 double signal_proportion = 0.0;
44 Size target_peak_count = 0;
45 Size interfering_peak_count = 0;
46 PeakSpectrum interfering_peaks; // peaks left after precursor (isotopic) peaks have been removed
47 };
48
58 static std::unordered_map<String, PurityScores> computePrecursorPurities(const PeakMap& spectra, double precursor_mass_tolerance, bool precursor_mass_tolerance_unit_ppm, bool ignore_missing_precursor_spectra = false);
59
70 static PurityScores computePrecursorPurity(const PeakSpectrum& ms1, const Precursor& pre, const double precursor_mass_tolerance, const bool precursor_mass_tolerance_unit_ppm);
71
84 static std::vector<double> computeSingleScanPrecursorPurities(int ms2_spec_idx, int precursor_spec_idx, const MSExperiment & exp, double max_precursor_isotope_deviation);
85
104 static std::vector<double> computeInterpolatedPrecursorPurity(int ms2_spec_idx, int precursor_spec_idx, int next_ms1_spec_idx, const MSExperiment & exp, double max_precursor_isotope_deviation);
105
106 private:
107 // simple helper to combine the metrics contained in two PurityScores
109
110 };
111}
In-Memory representation of a mass spectrometry run.
Definition MSExperiment.h:49
The representation of a 1D spectrum.
Definition MSSpectrum.h:44
Precursor purity or noise estimation.
Definition PrecursorPurity.h:35
static PurityScores computePrecursorPurity(const PeakSpectrum &ms1, const Precursor &pre, const double precursor_mass_tolerance, const bool precursor_mass_tolerance_unit_ppm)
compute precursor purity metrics for one MS2 precursor
static std::vector< double > computeSingleScanPrecursorPurities(int ms2_spec_idx, int precursor_spec_idx, const MSExperiment &exp, double max_precursor_isotope_deviation)
Computes a simple purity score aggregate for all Precursors (and their windows) of spectrum at ms2_sp...
static std::vector< double > computeInterpolatedPrecursorPurity(int ms2_spec_idx, int precursor_spec_idx, int next_ms1_spec_idx, const MSExperiment &exp, double max_precursor_isotope_deviation)
Computes a simple purity score aggregate for all Precursors (and their windows) of spectrum at ms2_sp...
static std::unordered_map< String, PurityScores > computePrecursorPurities(const PeakMap &spectra, double precursor_mass_tolerance, bool precursor_mass_tolerance_unit_ppm, bool ignore_missing_precursor_spectra=false)
compute precursor purity metrics for each MS2 spectrum in a PeakMap This is the main function of this...
static PurityScores combinePrecursorPurities(const PrecursorPurity::PurityScores &score1, const PrecursorPurity::PurityScores &score2)
PeakSpectrum interfering_peaks
Definition PrecursorPurity.h:46
Definition PrecursorPurity.h:40
Precursor meta information.
Definition Precursor.h:37
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition Types.h:97
Main OpenMS namespace.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19