OpenMS
Loading...
Searching...
No Matches
DeconvolvedSpectrum.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: Kyowon Jeong, Jihyung Kim $
6// $Authors: Kyowon Jeong, Jihyung Kim $
7// --------------------------------------------------------------------------
8
9#pragma once
10
14#include <iomanip>
15
16namespace OpenMS
17{
18 class PeakGroup;
19
29 class OPENMS_DLLAPI DeconvolvedSpectrum
30 {
31 public:
33
36
41 explicit DeconvolvedSpectrum(int scan_number);
42
45
48
50 DeconvolvedSpectrum(DeconvolvedSpectrum&& other) noexcept = default;
51
53 DeconvolvedSpectrum& operator=(const DeconvolvedSpectrum& deconvolved_spectrum) = default;
54
59 MSSpectrum toSpectrum(int to_charge, double tol = 10.0, bool retain_undeconvolved = false);
60
63
66
68 int getPrecursorCharge() const;
69
71 const Precursor& getPrecursor() const;
72
76 double getCurrentMaxMass(double max_mass) const;
77
81 double getCurrentMinMass(double min_mass) const;
82
86 int getCurrentMaxAbsCharge(int max_abs_charge) const;
87
89 int getScanNumber() const;
90
93
96
99
102
104 void setPrecursor(const Precursor& precursor);
105
107 void setPrecursorScanNumber(int scan_number);
108
111
114
117
119 void setPeakGroups(std::vector<PeakGroup>& x);
120
122 std::vector<PeakGroup>::const_iterator begin() const noexcept;
123 std::vector<PeakGroup>::const_iterator end() const noexcept;
124
125 std::vector<PeakGroup>::iterator begin() noexcept;
126 std::vector<PeakGroup>::iterator end() noexcept;
127
129 const PeakGroup& operator[](Size i) const;
130 PeakGroup& operator[](Size i);
131 void push_back(const PeakGroup& pg);
132 void emplace_back(const PeakGroup& pg);
133 void pop_back();
134 PeakGroup& back();
135 Size size() const noexcept;
136 void clear();
137 void reserve(Size n);
138 bool empty() const;
139 bool isDecoy() const;
140
142 void sort();
144 void sortByQscore();
145
147 bool operator<(const DeconvolvedSpectrum& a) const;
148
149 bool operator>(const DeconvolvedSpectrum& a) const;
150
151 bool operator==(const DeconvolvedSpectrum& a) const;
152
153 private:
155 std::vector<PeakGroup> peak_groups_;
159 PeakGroup precursor_peak_group_;
161 Precursor precursor_peak_;
163 Precursor::ActivationMethod activation_method_ = Precursor::ActivationMethod::CID;
165 int scan_number_ = 0, precursor_scan_number_ = 0;
167 FLASHHelperClasses::IsobaricQuantities quantities_;
168 };
169} // namespace OpenMS
A class representing a deconvolved spectrum. DeconvolvedSpectrum consists of PeakGroup instances repr...
Definition DeconvolvedSpectrum.h:30
DeconvolvedSpectrum & operator=(const DeconvolvedSpectrum &deconvolved_spectrum)=default
assignment operator
void setPrecursor(const Precursor &precursor)
set precursor for MSn for n>1
void setOriginalSpectrum(const MSSpectrum &spec)
original spectrum setter
void setQuantities(const FLASHHelperClasses::IsobaricQuantities &quantities)
set isobaric quantities
void setPeakGroups(std::vector< PeakGroup > &x)
set peak groups in this spectrum
MSSpectrum toSpectrum(int to_charge, double tol=10.0, bool retain_undeconvolved=false)
DeconvolvedSpectrum(int scan_number)
Constructor for DeconvolvedSpectrum. Takes the spectrum and scan number calculated from outside.
int getPrecursorCharge() const
precursor charge getter (set in registerPrecursor)
~DeconvolvedSpectrum()=default
default destructor
const PeakGroup & getPrecursorPeakGroup() const
get precursor peak group for MSn (n>1) spectrum. It returns an empty peak group if no peak group is r...
int getCurrentMaxAbsCharge(int max_abs_charge) const
std::vector< PeakGroup >::const_iterator begin() const noexcept
iterators and vector operators for std::vector<PeakGroup> peak_groups_ in this spectrum
DeconvolvedSpectrum(DeconvolvedSpectrum &&other) noexcept=default
move constructor
double getCurrentMinMass(double min_mass) const
const Precursor::ActivationMethod & getActivationMethod() const
get activation method
double getCurrentMaxMass(double max_mass) const
void setPrecursorPeakGroup(const PeakGroup &pg)
set precursor peakGroup
DeconvolvedSpectrum(const DeconvolvedSpectrum &)=default
copy constructor
void setPrecursorScanNumber(int scan_number)
set precursor scan number
const MSSpectrum & getOriginalSpectrum() const
original spectrum getter
int getScanNumber() const
get scan number of the original spectrum
FLASHHelperClasses::LogMzPeak LogMzPeak
Definition DeconvolvedSpectrum.h:32
DeconvolvedSpectrum()=default
default constructor
void setActivationMethod(const Precursor::ActivationMethod &method)
set activation method
const Precursor & getPrecursor() const
get precursor peak
int getPrecursorScanNumber() const
get precursor scan number - only if it is registered. Otherwise return 0
FLASHHelperClasses::IsobaricQuantities getQuantities() const
return isobaric quantities
log transformed peak. After deconvolution, all necessary information from deconvolution such as charg...
Definition FLASHHelperClasses.h:189
The representation of a 1D spectrum.
Definition MSSpectrum.h:44
Class describing a deconvolved mass. A mass contains multiple (LogMz) peaks of different charges and ...
Definition PeakGroup.h:29
Precursor meta information.
Definition Precursor.h:37
ActivationMethod
Method of activation.
Definition Precursor.h:61
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition Types.h:97
Main OpenMS namespace.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19
STL namespace.
Isobaric quantities.
Definition FLASHHelperClasses.h:175
Wrapper struct for all the structs needed by the FLASHDeconv The following structures/classes are def...
Definition FLASHHelperClasses.h:38