OpenMS
PrecursorCorrection.h
Go to the documentation of this file.
1 // Copyright (c) 2002-2023, The OpenMS Team -- 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 
51  static void getPrecursors(const MSExperiment & exp,
52  std::vector<Precursor> & precursors,
53  std::vector<double> & precursors_rt,
54  std::vector<Size> & precursor_scan_index);
55 
56 
71  static void writeHist(const String& out_csv,
72  const std::vector<double> & delta_mzs,
73  const std::vector<double> & mzs,
74  const std::vector<double> & rts);
89  static std::set<Size> correctToNearestMS1Peak(MSExperiment & exp,
90  double mz_tolerance,
91  bool ppm,
92  std::vector<double> & delta_mzs,
93  std::vector<double> & mzs,
94  std::vector<double> & rts);
95 
110  static std::set<Size> correctToHighestIntensityMS1Peak(MSExperiment & exp,
111  double mz_tolerance,
112  bool ppm,
113  std::vector<double> & delta_mzs,
114  std::vector<double> & mzs,
115  std::vector<double> & rts);
116 
117 
141  static std::set<Size> correctToNearestFeature(const FeatureMap& features,
142  MSExperiment & exp,
143  double rt_tolerance_s = 0.0,
144  double mz_tolerance = 0.0,
145  bool ppm = true,
146  bool believe_charge = false,
147  bool keep_original = false,
148  bool all_matching_features = false,
149  int max_trace = 2,
150  int debug_level = 0);
151 
152  protected:
153 
165  static bool overlaps_(const Feature& feature,
166  const double rt,
167  const double pc_mz,
168  const double rt_tolerance);
169 
182  static bool compatible_(const Feature& feature,
183  double pc_mz,
184  double mz_tolerance,
185  Size max_trace_number = 2,
186  int debug_level = 0);
187 
188 };
189 }
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:101
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:22