OpenMS
FeatureFinderMultiplexAlgorithm.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 
16 
22 
23 #include <vector>
24 #include <fstream>
25 #include <map>
26 
27 namespace OpenMS
28 {
29 
30 class OPENMS_DLLAPI FeatureFinderMultiplexAlgorithm :
31  public DefaultParamHandler, public ProgressLogger
32 {
33 public:
36 
38  void run(MSExperiment& exp, bool progress);
39 
44 
45 protected:
46 
47  // experimental data
50 
52 
54 
55  bool progress_;
56 
57  unsigned charge_min_;
58  unsigned charge_max_;
59 
62 
63 
64  // mass shift names and their values
65  std::map<String, double> label_mass_shift_;
66 
67  // final results, maps of detected features
70 
71  // blacklist
73 
84  std::vector<MultiplexIsotopicPeakPattern> generatePeakPatterns_(int charge_min, int charge_max, int peaks_per_peptide_max, const std::vector<MultiplexDeltaMasses>& mass_pattern_list);
85 
95  void correctPeptideIntensities_(const MultiplexIsotopicPeakPattern& pattern, std::map<size_t, SplinePackage>& spline_chromatograms, const std::vector<double>& rt_peptide, std::vector<double>& intensity_peptide) const;
96 
105  std::vector<double> determinePeptideIntensitiesCentroided_(const MultiplexIsotopicPeakPattern& pattern, const std::multimap<size_t, MultiplexSatelliteCentroided >& satellites);
106 
115  std::vector<double> determinePeptideIntensitiesProfile_(const MultiplexIsotopicPeakPattern& pattern, const std::multimap<size_t, MultiplexSatelliteProfile >& satellites);
116 
124  void generateMapsCentroided_(const std::vector<MultiplexIsotopicPeakPattern>& patterns, const std::vector<MultiplexFilteredMSExperiment>& filter_results, std::vector<std::map<int, GridBasedCluster> >& cluster_results);
125 
133  void generateMapsProfile_(const std::vector<MultiplexIsotopicPeakPattern>& patterns, const std::vector<MultiplexFilteredMSExperiment>& filter_results, const std::vector<std::map<int, GridBasedCluster> >& cluster_results);
134 
135 };
136 
137 }
A container for consensus elements.
Definition: ConsensusMap.h:66
A base class for all classes handling default parameters.
Definition: DefaultParamHandler.h:66
Definition: FeatureFinderMultiplexAlgorithm.h:32
std::vector< MultiplexIsotopicPeakPattern > generatePeakPatterns_(int charge_min, int charge_max, int peaks_per_peptide_max, const std::vector< MultiplexDeltaMasses > &mass_pattern_list)
generate list of m/z shifts
FeatureMap & getFeatureMap()
get methods
FeatureMap feature_map_
Definition: FeatureFinderMultiplexAlgorithm.h:68
std::map< String, double > label_mass_shift_
Definition: FeatureFinderMultiplexAlgorithm.h:65
FeatureFinderMultiplexAlgorithm()
default constructor
unsigned isotopes_per_peptide_max_
Definition: FeatureFinderMultiplexAlgorithm.h:61
void run(MSExperiment &exp, bool progress)
main method for feature detection
std::vector< double > determinePeptideIntensitiesCentroided_(const MultiplexIsotopicPeakPattern &pattern, const std::multimap< size_t, MultiplexSatelliteCentroided > &satellites)
calculate peptide intensities
bool centroided_
Definition: FeatureFinderMultiplexAlgorithm.h:51
unsigned isotopes_per_peptide_min_
Definition: FeatureFinderMultiplexAlgorithm.h:60
ProgressLogger prog_log_
Definition: FeatureFinderMultiplexAlgorithm.h:53
void generateMapsProfile_(const std::vector< MultiplexIsotopicPeakPattern > &patterns, const std::vector< MultiplexFilteredMSExperiment > &filter_results, const std::vector< std::map< int, GridBasedCluster > > &cluster_results)
generates consensus and feature maps containing all peptide multiplets
unsigned charge_min_
Definition: FeatureFinderMultiplexAlgorithm.h:57
ConsensusMap consensus_map_
Definition: FeatureFinderMultiplexAlgorithm.h:69
void generateMapsCentroided_(const std::vector< MultiplexIsotopicPeakPattern > &patterns, const std::vector< MultiplexFilteredMSExperiment > &filter_results, std::vector< std::map< int, GridBasedCluster > > &cluster_results)
generates consensus and feature maps containing all peptide multiplets
std::vector< double > determinePeptideIntensitiesProfile_(const MultiplexIsotopicPeakPattern &pattern, const std::multimap< size_t, MultiplexSatelliteProfile > &satellites)
calculate peptide intensities
unsigned charge_max_
Definition: FeatureFinderMultiplexAlgorithm.h:58
void correctPeptideIntensities_(const MultiplexIsotopicPeakPattern &pattern, std::map< size_t, SplinePackage > &spline_chromatograms, const std::vector< double > &rt_peptide, std::vector< double > &intensity_peptide) const
determine ratios through linear regression and correct peptide intensities
MSExperiment exp_centroid_
Definition: FeatureFinderMultiplexAlgorithm.h:49
bool progress_
Definition: FeatureFinderMultiplexAlgorithm.h:55
MSExperiment exp_blacklist_
Definition: FeatureFinderMultiplexAlgorithm.h:72
MSExperiment exp_profile_
Definition: FeatureFinderMultiplexAlgorithm.h:48
A container for features.
Definition: FeatureMap.h:80
In-Memory representation of a mass spectrometry run.
Definition: MSExperiment.h:46
data structure for pattern of isotopic peaks
Definition: MultiplexIsotopicPeakPattern.h:29
Base class for all classes that want to report their progress.
Definition: ProgressLogger.h:27
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:22