OpenMS
MultiplexFilteringProfile.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: Lars Nilse $
6 // $Authors: Lars Nilse $
7 // --------------------------------------------------------------------------
8 
9 #pragma once
10 
21 
22 #include <vector>
23 #include <algorithm>
24 #include <iostream>
25 
26 namespace OpenMS
27 {
41  class OPENMS_DLLAPI MultiplexFilteringProfile :
42  public MultiplexFiltering
43  {
44 public:
66  MultiplexFilteringProfile(MSExperiment& exp_profile, const MSExperiment& exp_centroided, const std::vector<std::vector<PeakPickerHiRes::PeakBoundary> >& boundaries,
67  const std::vector<MultiplexIsotopicPeakPattern>& patterns, int isotopes_per_peptide_min, int isotopes_per_peptide_max, double intensity_cutoff, double rt_band,
68  double mz_tolerance, bool mz_tolerance_unit, double peptide_similarity, double averagine_similarity, double averagine_similarity_scaling, String averagine_type="peptide");
69 
79  std::vector<MultiplexFilteredMSExperiment> filter();
80 
84  std::vector<std::vector<PeakPickerHiRes::PeakBoundary> >& getPeakBoundaries();
85 
86 private:
96  bool filterAveragineModel_(const MultiplexIsotopicPeakPattern& pattern, const MultiplexFilteredPeak& peak, const std::multimap<size_t, MultiplexSatelliteProfile >& satellites_profile) const;
97 
106  bool filterPeptideCorrelation_(const MultiplexIsotopicPeakPattern& pattern, const std::multimap<size_t, MultiplexSatelliteProfile >& satellites_profile) const;
107 
111  std::vector<SplineInterpolatedPeaks> exp_spline_profile_;
112  std::vector<std::vector<PeakPickerHiRes::PeakBoundary> > boundaries_;
113 
114  };
115 
116 }
117 
In-Memory representation of a mass spectrometry run.
Definition: MSExperiment.h:46
data structure storing a single peak that passed all filters
Definition: MultiplexFilteredPeak.h:44
filters centroided and profile data for peak patterns
Definition: MultiplexFilteringProfile.h:43
std::vector< MultiplexFilteredMSExperiment > filter()
filter for patterns (generates a filter result for each of the patterns)
MultiplexFilteringProfile(MSExperiment &exp_profile, const MSExperiment &exp_centroided, const std::vector< std::vector< PeakPickerHiRes::PeakBoundary > > &boundaries, const std::vector< MultiplexIsotopicPeakPattern > &patterns, int isotopes_per_peptide_min, int isotopes_per_peptide_max, double intensity_cutoff, double rt_band, double mz_tolerance, bool mz_tolerance_unit, double peptide_similarity, double averagine_similarity, double averagine_similarity_scaling, String averagine_type="peptide")
constructor
std::vector< std::vector< PeakPickerHiRes::PeakBoundary > > boundaries_
Definition: MultiplexFilteringProfile.h:112
std::vector< SplineInterpolatedPeaks > exp_spline_profile_
spline interpolated profile data and peak boundaries
Definition: MultiplexFilteringProfile.h:111
std::vector< std::vector< PeakPickerHiRes::PeakBoundary > > & getPeakBoundaries()
returns the intensity-filtered peak boundaries
bool filterPeptideCorrelation_(const MultiplexIsotopicPeakPattern &pattern, const std::multimap< size_t, MultiplexSatelliteProfile > &satellites_profile) const
peptide correlation filter for profile mode
bool filterAveragineModel_(const MultiplexIsotopicPeakPattern &pattern, const MultiplexFilteredPeak &peak, const std::multimap< size_t, MultiplexSatelliteProfile > &satellites_profile) const
averagine filter for profile mode
base class for filtering centroided and profile data for peak patterns
Definition: MultiplexFiltering.h:49
data structure for pattern of isotopic peaks
Definition: MultiplexIsotopicPeakPattern.h:29
A more convenient string class.
Definition: String.h:34
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:22