OpenMS
PrecursorCorrection.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: Timo Sachsenberg $
6 // $Authors: Timo Sachsenberg, Oliver Alka $
7 // --------------------------------------------------------------------------
8 //
9 
10 #pragma once
11 
15 
18 
20 
21 #include <string>
22 #include <vector>
23 #include <set>
24 
25 namespace OpenMS
26 {
37 class OPENMS_DLLAPI PrecursorCorrection
38 {
39  public:
40 
41  static const std::string csv_header;
42 
50  static void getPrecursors(const MSExperiment & exp,
51  std::vector<Precursor> & precursors,
52  std::vector<double> & precursors_rt,
53  std::vector<Size> & precursor_scan_index);
54 
55 
72  static void writeHist(const String& out_csv,
73  const std::vector<double> & delta_mzs,
74  const std::vector<double> & mzs,
75  const std::vector<double> & rts);
90  static std::set<Size> correctToNearestMS1Peak(MSExperiment & exp,
91  double mz_tolerance,
92  bool ppm,
93  std::vector<double> & delta_mzs,
94  std::vector<double> & mzs,
95  std::vector<double> & rts);
96 
111  static std::set<Size> correctToHighestIntensityMS1Peak(MSExperiment & exp,
112  double mz_tolerance,
113  bool ppm,
114  std::vector<double> & delta_mzs,
115  std::vector<double> & mzs,
116  std::vector<double> & rts);
117 
118 
142  static std::set<Size> correctToNearestFeature(const FeatureMap& features,
143  MSExperiment & exp,
144  double rt_tolerance_s = 0.0,
145  double mz_tolerance = 0.0,
146  bool ppm = true,
147  bool believe_charge = false,
148  bool keep_original = false,
149  bool all_matching_features = false,
150  int max_trace = 2,
151  int debug_level = 0);
152 
153  protected:
154 
166  static bool overlaps_(const Feature& feature,
167  const double rt,
168  const double pc_mz,
169  const double rt_tolerance);
170 
183  static bool compatible_(const Feature& feature,
184  double pc_mz,
185  double mz_tolerance,
186  Size max_trace_number = 2,
187  int debug_level = 0);
188 
189 };
190 }
A container for features.
Definition: FeatureMap.h:80
An LC-MS feature.
Definition: Feature.h:46
In-Memory representation of a mass spectrometry run.
Definition: MSExperiment.h:46
This class provides methods for precursor correction.
Definition: PrecursorCorrection.h:38
static const std::string csv_header
Definition: PrecursorCorrection.h:41
static void writeHist(const String &out_csv, const std::vector< double > &delta_mzs, const std::vector< double > &mzs, const std::vector< double > &rts)
Writer can be used in association with correctToNearestMS1Peak or correctToHighestIntensityMS1Peak....
static std::set< Size > correctToNearestFeature(const FeatureMap &features, MSExperiment &exp, double rt_tolerance_s=0.0, double mz_tolerance=0.0, bool ppm=true, bool believe_charge=false, bool keep_original=false, bool all_matching_features=false, int max_trace=2, int debug_level=0)
Reassigns a precursor to the nearest feature in a given rt and mass range. Wrong assignment of the mo...
static bool overlaps_(const Feature &feature, const double rt, const double pc_mz, const double rt_tolerance)
Check if precursor is located in the bounding box of a features convex hull. Here the bounding box of...
static void getPrecursors(const MSExperiment &exp, std::vector< Precursor > &precursors, std::vector< double > &precursors_rt, std::vector< Size > &precursor_scan_index)
Extract precursors and associated information (precursor retention time and precursor scan index).
static std::set< Size > correctToNearestMS1Peak(MSExperiment &exp, double mz_tolerance, bool ppm, std::vector< double > &delta_mzs, std::vector< double > &mzs, std::vector< double > &rts)
Selection of the peak in closest proximity as corrected precursor mass in a given mass range (e....
static std::set< Size > correctToHighestIntensityMS1Peak(MSExperiment &exp, double mz_tolerance, bool ppm, std::vector< double > &delta_mzs, std::vector< double > &mzs, std::vector< double > &rts)
Selection of the peak with the highest intensity as corrected precursor mass in a given mass range (e...
static bool compatible_(const Feature &feature, double pc_mz, double mz_tolerance, Size max_trace_number=2, int debug_level=0)
Check precursor and feature compatibility If the precursor mz is in one of the masstraces the feature...
A more convenient string class.
Definition: String.h:34
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