183{
184
185 qDebug() << index_count << " " << want_binary_data;
186 try
187 {
188 Spectrum cbor_spectrum;
190
191
192
193
194
195
196
197 QualifiedMassSpectrum qualified_mass_spectrum;
198
199 MassSpectrumId spectrum_id(
mcsp_msRunId, cbor_spectrum.index);
200 spectrum_id.setNativeId(cbor_spectrum.id);
201
202 spectrum_id.setSpectrumIndex(cbor_spectrum.index);
203
204 qualified_mass_spectrum.setMassSpectrumId(spectrum_id);
205 qualified_mass_spectrum.setRtInSeconds(cbor_spectrum.getRtInSeconds());
206
207
208 if(cbor_spectrum.precursorList.size() > 0)
209 {
210 qualified_mass_spectrum.setPrecursorNativeId(
211 cbor_spectrum.precursorList.at(0).spectrumRef);
213 {
214 auto it =
217 {
218 qualified_mass_spectrum.setPrecursorSpectrumIndex(it->second);
219 }
220 }
221
222 for(auto &precursor : cbor_spectrum.precursorList)
223 {
224 PrecursorIonData ion_data;
225 ion_data.mz = precursor.isolationWindow.getTargetMz();
226 for(auto &selected_ion : precursor.selectedIonList)
227 {
228 ion_data.charge = selected_ion.getChargeState();
229
230 bool is_ok;
231 ion_data.intensity = selected_ion.getIntensity(&is_ok);
232 ion_data.mz = selected_ion.getMz();
233
234 qualified_mass_spectrum.appendPrecursorIonData(ion_data);
235 }
236 }
237 }
238
239 qDebug();
240 qualified_mass_spectrum.setMsLevel(cbor_spectrum.getMsLevel());
241
242 qDebug();
243 qualified_mass_spectrum.setEmptyMassSpectrum(!cbor_spectrum.defaultArrayLength);
244
245 if(cbor_spectrum.binaryDataArrayList.size() == 2)
246 {
247 qDebug();
249 qDebug();
250 cbor_spectrum.decodeTrace(*(mass_spectrum_sp.get()));
251 qDebug();
252 qualified_mass_spectrum.setMassSpectrumSPtr(mass_spectrum_sp);
253 qDebug();
254 }
255
256 qDebug() << "spectrum_id.getNativeId()=" << spectrum_id.getNativeId();
257 qDebug() << "rt=" << qualified_mass_spectrum.getRtInSeconds();
258 qDebug() << "mslevel=" << qualified_mass_spectrum.getMsLevel();
259
261 {
263 qualified_mass_spectrum.getRtInSeconds()))
264 {
265
266 if(qualified_mass_spectrum.getMassSpectrumId().getSpectrumIndex() ==
267 std::numeric_limits<std::size_t>::max())
268 {
270 QObject::tr("ERROR in %1 spectrum index not initialised").arg(__FUNCTION__));
271 }
273 qualified_mass_spectrum);
274 }
275 }
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361 }
363 {
365 QObject::tr(
"ERROR reading spectrum index %1 :\%2").arg(index_count).arg(error.
qwhat()));
366 }
367}
bool acceptMsLevel(std::size_t ms_level) const
bool acceptRetentionTimeInSeconds(double retention_time_in_seconds) const
virtual const QString & qwhat() const
virtual void setQualifiedMassSpectrum(const QualifiedMassSpectrum &spectrum)=0
MsRunIdCstSPtr mcsp_msRunId
const std::map< QString, std::size_t > * mp_nativeId2SpectrumIndexMap
std::shared_ptr< MassSpectrum > MassSpectrumSPtr