All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
MapUtilities.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: Julianus Pfeuffer$
6 // $Authors: Julianus Pfeuffer $
7 // --------------------------------------------------------------------------
8 
9 #pragma once
10 
11 #include <OpenMS/config.h>
14 #include <vector>
15 
16 namespace OpenMS
17 {
23  template <class MapType>
25  {
26  public:
28  template <class T>
29  void applyFunctionOnPeptideHits(T&& f, bool include_unassigned = true)
30  {
31  for (auto& feat : static_cast<MapType&>(*this))
32  {
33  applyFunctionOnPeptideHits_(feat.getPeptideIdentifications(), f);
34  }
35  if (include_unassigned)
36  {
37  applyFunctionOnPeptideHits_(static_cast<MapType&>(*this).getUnassignedPeptideIdentifications(), f);
38  }
39  }
40 
42  template <class T>
43  void applyFunctionOnPeptideIDs(T&& f, bool include_unassigned = true)
44  {
45  for (auto& feat : static_cast<MapType&>(*this))
46  {
47  applyFunctionOnPeptideIDs_(feat.getPeptideIdentifications(), f);
48  }
49  if (include_unassigned)
50  {
51  applyFunctionOnPeptideIDs_(static_cast<MapType&>(*this).getUnassignedPeptideIdentifications(), f);
52  }
53  }
54 
56  template <class T>
57  void applyFunctionOnPeptideHits(T&& f, bool include_unassigned = true) const
58  {
59  for (const auto& feat : static_cast<MapType const&>(*this))
60  {
61  applyFunctionOnPeptideHits_(feat.getPeptideIdentifications(), f);
62  }
63  if (include_unassigned)
64  {
65  applyFunctionOnPeptideHits_(static_cast<MapType const&>(*this).getUnassignedPeptideIdentifications(), f);
66  }
67  }
68 
70  template <class T>
71  void applyFunctionOnPeptideIDs(T&& f, bool include_unassigned = true) const
72  {
73  for (const auto& feat : static_cast<MapType const&>(*this))
74  {
75  applyFunctionOnPeptideIDs_(feat.getPeptideIdentifications(), f);
76  }
77  if (include_unassigned)
78  {
79  applyFunctionOnPeptideIDs_(static_cast<MapType const&>(*this).getUnassignedPeptideIdentifications(), f);
80  }
81  }
82 
83  private:
84  template <class T>
86  {
87  for (auto& id : idvec)
88  {
89  f(id);
90  }
91  }
92 
93  template <class T>
95  {
96  for (auto& id : idvec)
97  {
98  for (auto& hit : id.getHits())
99  {
100  f(hit);
101  }
102  }
103  }
104 
105  template <class T>
107  {
108  for (const auto& id : idvec)
109  {
110  f(id);
111  }
112  }
113 
114  template <class T>
116  {
117  for (const auto& id : idvec)
118  {
119  for (const auto& hit : id.getHits())
120  {
121  f(hit);
122  }
123  }
124  }
125  };
126 
127 } // namespace OpenMS
128 
In-Memory representation of a mass spectrometry run.
Definition: MSExperiment.h:49
Utilities for Feature and ConsensusMap.
Definition: MapUtilities.h:25
void applyFunctionOnPeptideIDs_(const PeptideIdentificationList &idvec, T &&f) const
Definition: MapUtilities.h:106
void applyFunctionOnPeptideHits_(const PeptideIdentificationList &idvec, T &&f) const
Definition: MapUtilities.h:115
void applyFunctionOnPeptideIDs(T &&f, bool include_unassigned=true) const
applies a const function on all PeptideIDs or only assigned ones
Definition: MapUtilities.h:71
void applyFunctionOnPeptideIDs_(PeptideIdentificationList &idvec, T &&f)
Definition: MapUtilities.h:85
void applyFunctionOnPeptideHits(T &&f, bool include_unassigned=true)
applies a function on all PeptideHits or only assigned ones
Definition: MapUtilities.h:29
void applyFunctionOnPeptideHits_(PeptideIdentificationList &idvec, T &&f)
Definition: MapUtilities.h:94
void applyFunctionOnPeptideIDs(T &&f, bool include_unassigned=true)
applies a function on all PeptideIDs or only assigned ones
Definition: MapUtilities.h:43
void applyFunctionOnPeptideHits(T &&f, bool include_unassigned=true) const
applies a const function on all PeptideHits or only assigned ones
Definition: MapUtilities.h:57
Container for peptide identifications from multiple spectra.
Definition: PeptideIdentificationList.h:66
Main OpenMS namespace.
Definition: openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19