OpenMS
SwathQC.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: Chris Bielow $
6 // $Authors: Chris Bielow $
7 // --------------------------------------------------------------------------
8 
9 #pragma once
10 
12 #include <OpenMS/OpenMSConfig.h>
13 
14 #include <functional>
15 #include <map>
16 #include <vector>
17 
18 namespace OpenMS
19 {
20  class String;
21  class MSSpectrum;
22  class ExperimentalSettings;
23 
24 }
25 
26 namespace OpenSwath
27 {
28 
37  class OPENMS_DLLAPI SwathQC
38  {
39  public:
40  typedef std::map<int,int> ChargeDistribution;
41 
43  SwathQC() = delete;
44 
51  SwathQC(const size_t cd_spectra, const double decon_ms1_mz_tol);
52 
53 
60  std::function<void(const OpenMS::ExperimentalSettings& es)> getExpSettingsFunc();
61 
65  std::function<void (const OpenMS::MSSpectrum&)> getSpectraProcessingFunc();
66 
67 
86  static ChargeDistribution getChargeDistribution(const std::vector<SwathMap>& swath_maps, const size_t nr_samples, const double mz_tol);
87 
88 
92  void storeJSON(const OpenMS::String& filename);
93 
98 
106  void setNrMS1Spectra(size_t nr);
107 
108 
109  protected:
110 
125  static bool isSubsampledSpectrum_(const size_t total_spec_count, const size_t subsample_count, const size_t idx);
126 
127  private:
128 
131 
135  size_t cd_spectra_;
138 
141  };
142 
143 }
144 
Description of the experimental settings.
Definition: ExperimentalSettings.h:36
The representation of a 1D spectrum.
Definition: MSSpectrum.h:44
A more convenient string class.
Definition: String.h:34
Quality Control function for OpenSwath.
Definition: SwathQC.h:38
size_t ms1_spectra_seen_
keeps track of number of spectra passed to getSpectraProcessingFunc()
Definition: SwathQC.h:140
ChargeDistribution cd_
internal ChargeDistribution which is augmented upon calling the corresponding member functions
Definition: SwathQC.h:130
size_t cd_spectra_
number of spectra to inspect for charge distribution
Definition: SwathQC.h:135
std::function< void(const OpenMS::MSSpectrum &)> getSpectraProcessingFunc()
void setNrMS1Spectra(size_t nr)
Explicitly set the number of expected MS1 spectra (for sampling charge distribution)
static ChargeDistribution getChargeDistribution(const std::vector< SwathMap > &swath_maps, const size_t nr_samples, const double mz_tol)
Sample the spectra in all MS1 Swath maps and determine all charge states.
double decon_ms1_mz_tol_
m/z tolerance for isotope deconvolution
Definition: SwathQC.h:137
size_t nr_ms1_spectra_
number of MS1 spectra expected
Definition: SwathQC.h:133
const ChargeDistribution & getChargeDistribution() const
returns the charge distribution which was internally computed by applying getSpectraProcessingFunc() ...
SwathQC()=delete
default C'tor (forbidden)
std::function< void(const OpenMS::ExperimentalSettings &es)> getExpSettingsFunc()
Returns a lambda function, which captures internal members and can be used in MSDataTransformingConsu...
std::map< int, int > ChargeDistribution
Definition: SwathQC.h:40
SwathQC(const size_t cd_spectra, const double decon_ms1_mz_tol)
CTor with arguments.
static bool isSubsampledSpectrum_(const size_t total_spec_count, const size_t subsample_count, const size_t idx)
Given a total spectrum count and a number of spectra to inspect, is the current index a candidate?
void storeJSON(const OpenMS::String &filename)
Save all internally collected data to a JSON file.
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:22
Definition: Scoring.h:18