OpenMS
Loading...
Searching...
No Matches
openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.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: Hannes Roest $
6// $Authors: Darren Kessner, Hannes Roest, Witold Wolski$
7// --------------------------------------------------------------------------
8
9#pragma once
10
11#include <string>
12#include <vector>
13#include <memory>
14
15#include <OpenMS/OPENSWATHALGO/OpenSwathAlgoConfig.h>
16
17namespace OpenSwath
18{
41 struct OPENSWATHALGO_DLLAPI OSBinaryDataArray
42 {
44 //DataProcessingPtr dataProcessingPtr;
45
47 std::vector<double> data;
48
50 std::string description;
51 };
53 typedef std::shared_ptr<BinaryDataArray> BinaryDataArrayPtr;
54
56 struct OPENSWATHALGO_DLLAPI OSChromatogramMeta
57 {
59 std::size_t index;
61 std::string id;
63 index()
64 {
65 }
66
67 };
69 typedef std::shared_ptr<ChromatogramMeta> ChromatogramMetaPtr;
70
72 struct OPENSWATHALGO_DLLAPI OSChromatogram
73 {
74private:
76 std::size_t defaultArrayLength;
77
79 //DataProcessingPtr dataProcessingPtr;
81 //Precursor precursor;
83 //Product product;
84
86 std::vector<BinaryDataArrayPtr> binaryDataArrayPtrs;
87public:
88
90 defaultArrayLength(2),
91 binaryDataArrayPtrs(defaultArrayLength)
92 {
93 initvec();
94 }
95
96private:
97
98 void initvec()
99 {
100 for (std::size_t i = 0; i < defaultArrayLength; ++i)
101 {
103 binaryDataArrayPtrs[i] = empty;
104 }
105 }
106
107public:
110 {
111 return binaryDataArrayPtrs[0];
112 }
113
116 {
117 binaryDataArrayPtrs[0] = data;
118 }
119
122 {
123 return binaryDataArrayPtrs[1];
124 }
125
128 {
129 binaryDataArrayPtrs[1] = data;
130 }
131
133 const std::vector<BinaryDataArrayPtr> & getDataArrays() const
134 {
135 return binaryDataArrayPtrs;
136 }
137
139 std::vector<BinaryDataArrayPtr> & getDataArrays()
140 {
141 return binaryDataArrayPtrs;
142 }
143
146 void setDataArrays(std::vector<BinaryDataArrayPtr>& val)
147 {
148 binaryDataArrayPtrs = val;
149 }
150
151 };
153 typedef std::shared_ptr<Chromatogram> ChromatogramPtr;
154
156 struct OPENSWATHALGO_DLLAPI OSSpectrumMeta
157 {
159 size_t index;
160
162 std::string id;
163
164 double RT;
165
167
169 index(0)
170 {
171 }
172
174 struct RTLess
175 {
176 inline bool operator()(const OSSpectrumMeta& a, const OSSpectrumMeta& b) const
177 {
178 return a.RT < b.RT;
179 }
180 };
181
182 };
184 typedef std::shared_ptr<SpectrumMeta> SpectrumMetaPtr;
185
187 struct OPENSWATHALGO_DLLAPI OSSpectrum
188 {
189private:
192
194 std::vector<BinaryDataArrayPtr> binaryDataArrayPtrs;
195
196public:
198 defaultArrayLength(2),
199 binaryDataArrayPtrs(defaultArrayLength)
200 {
201 initvec();
202 }
203
204private:
205
206 void initvec()
207 {
208 for (std::size_t i = 0; i < defaultArrayLength; ++i)
209 {
211 binaryDataArrayPtrs[i] = empty;
212 }
213 }
214
215public:
216
219 {
220 return binaryDataArrayPtrs[0];
221 }
222
225 {
226 binaryDataArrayPtrs[0] = data;
227 }
228
231 {
232 return binaryDataArrayPtrs[1];
233 }
234
237 {
238 binaryDataArrayPtrs[1] = data;
239 }
240
242 {
243 data->description = "Ion Mobility";
244 binaryDataArrayPtrs.push_back(data);
245 }
246
249 {
250 // The array name starts with "Ion Mobility", but may carry additional
251 // information such as the actual unit in which it was measured (seconds,
252 // milliseconds, volt-second per square centimeter). We currently ignore
253 // the unit but return the correct array.
254 // For diaPASEF data converted with proteowizard ion mobility arrays are stored in "inverse reduced ion mobility"
255 for (auto & bda : binaryDataArrayPtrs)
256 {
257 if (bda->description.find("Ion Mobility") == 0)
258 {
259 return bda;
260 }
261 else if (bda->description.find("mean inverse reduced ion mobility array") == 0)
262 {
263 return bda;
264 }
265 }
266 return BinaryDataArrayPtr(); // return null
267 }
268
270 const std::vector<BinaryDataArrayPtr> & getDataArrays() const
271 {
272 return binaryDataArrayPtrs;
273 }
274
276 std::vector<BinaryDataArrayPtr> & getDataArrays()
277 {
278 return binaryDataArrayPtrs;
279 }
280
283 void setDataArrays(std::vector<BinaryDataArrayPtr>& val)
284 {
285 binaryDataArrayPtrs = val;
286 }
287
288 };
290 typedef std::shared_ptr<Spectrum> SpectrumPtr;
291} //end Namespace OpenSwath
292
Definition Scoring.h:18
std::shared_ptr< Chromatogram > ChromatogramPtr
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:153
OSBinaryDataArray BinaryDataArray
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:52
std::vector< double > data
this optional attribute may reference the 'id' attribute of the appropriate dataProcessing.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:47
std::string description
(optional) data description for non-standard arrays.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:50
std::shared_ptr< ChromatogramMeta > ChromatogramMetaPtr
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:69
OSSpectrum Spectrum
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:289
std::shared_ptr< Spectrum > SpectrumPtr
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:290
std::shared_ptr< BinaryDataArray > BinaryDataArrayPtr
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:53
OSChromatogramMeta ChromatogramMeta
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:68
std::shared_ptr< SpectrumMeta > SpectrumMetaPtr
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:184
OSChromatogram Chromatogram
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:152
OSSpectrumMeta SpectrumMeta
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:183
The datastructures used by the OpenSwath interfaces.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:42
Identifying information for a chromatogram.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:57
OSChromatogramMeta()
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:62
std::size_t index
the zero-based, consecutive index of the chromatogram in the ChromatogramList.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:59
std::string id
a unique identifier for this chromatogram.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:61
A single chromatogram.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:73
void setIntensityArray(BinaryDataArrayPtr data)
set intensity array
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:127
std::size_t defaultArrayLength
default length of binary data arrays contained in this element.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:76
void setTimeArray(BinaryDataArrayPtr data)
set time array
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:115
std::vector< BinaryDataArrayPtr > binaryDataArrayPtrs
this attribute can optionally reference the 'id' of the appropriate dataProcessing.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:86
BinaryDataArrayPtr getIntensityArray()
get intensity array (may be null)
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:121
void initvec()
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:98
const std::vector< BinaryDataArrayPtr > & getDataArrays() const
non-mutable access to the underlying data arrays
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:133
std::vector< BinaryDataArrayPtr > & getDataArrays()
mutable access to the underlying data arrays
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:139
void setDataArrays(std::vector< BinaryDataArrayPtr > &val)
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:146
OSChromatogram()
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:89
BinaryDataArrayPtr getTimeArray()
get time array (may be null)
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:109
Comparator for the retention time.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:175
bool operator()(const OSSpectrumMeta &a, const OSSpectrumMeta &b) const
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:176
Identifying information for a spectrum.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:157
size_t index
the zero-based, consecutive index of the spectrum in the SpectrumList.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:159
OSSpectrumMeta()
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:168
int ms_level
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:166
double RT
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:164
std::string id
a unique identifier for this spectrum.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:162
The structure that captures the generation of a peak list (including the underlying acquisitions)
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:188
void setIntensityArray(BinaryDataArrayPtr data)
set intensity array
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:236
std::size_t defaultArrayLength
default length of binary data arrays contained in this element.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:191
std::vector< BinaryDataArrayPtr > binaryDataArrayPtrs
list of binary data arrays.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:194
BinaryDataArrayPtr getDriftTimeArray() const
get drift time array (may be null)
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:248
BinaryDataArrayPtr getMZArray() const
get m/z array (may be null)
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:218
OSSpectrum()
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:197
BinaryDataArrayPtr getIntensityArray() const
get intensity array (may be null)
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:230
void initvec()
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:206
const std::vector< BinaryDataArrayPtr > & getDataArrays() const
non-mutable access to the underlying data arrays
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:270
void setMZArray(BinaryDataArrayPtr data)
set m/z array
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:224
void setDriftTimeArray(BinaryDataArrayPtr data)
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:241
std::vector< BinaryDataArrayPtr > & getDataArrays()
mutable access to the underlying data arrays
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:276
void setDataArrays(std::vector< BinaryDataArrayPtr > &val)
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:283