OpenMS
Loading...
Searching...
No Matches
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
16namespace 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