libpappsomspp
Library for mass spectrometry
Loading...
Searching...
No Matches
mzcborindexreader.cpp
Go to the documentation of this file.
1/**
2 * \file pappsomspp/core/processing/cbor/mzcbor/mzcborindexreader.cpp
3 * \date 03/12/2025
4 * \author Olivier Langella
5 * \brief read mzcbor index file
6 */
7
8/*******************************************************************************
9 * Copyright (c) 2025 Olivier Langella <Olivier.Langella@universite-paris-saclay.fr>.
10 *
11 * This file is part of PAPPSOms-tools.
12 *
13 * PAPPSOms-tools is free software: you can redistribute it and/or modify
14 * it under the terms of the GNU General Public License as published by
15 * the Free Software Foundation, either version 3 of the License, or
16 * (at your option) any later version.
17 *
18 * PAPPSOms-tools is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU General Public License for more details.
22 *
23 * You should have received a copy of the GNU General Public License
24 * along with PAPPSOms-tools. If not, see <http://www.gnu.org/licenses/>.
25 *
26 ******************************************************************************/
27
28
29#include "mzcborindexreader.h"
30
31
35
39
40void
44
45void
47{
48 qDebug();
49 initCborReader(cborp);
50
51 qDebug();
52 if(mpa_cborReader->isMap())
53 {
54 readRoot();
55 }
56 qDebug();
57}
58
59
60void
62{
63 qDebug();
64 mpa_cborReader->enterContainer();
65
66 while(getExpectedString())
67 {
68
69 if(m_expectedString == "informations")
70 {
71 QCborMap cbor_informations;
72 mpa_cborReader->readCborMap(cbor_informations);
73 }
74 else if(m_expectedString == "from")
75 {
76 m_isMzcborIndex = true;
77 qDebug() << m_expectedString;
79 {
81 }
82 }
83 else if(m_expectedString == "runIdList")
84 {
85 mpa_cborReader->readArray(m_runIdList);
86 }
87 else if(m_expectedString == "runSpectrumIndexList")
88 {
89 std::size_t length = mpa_cborReader->length();
90 mpa_cborReader->enterContainer();
91 for(std::size_t i = 0; i < length; i++)
92 {
93 m_runAndSpectrumOffsetList.push_back(std::vector<qint64>());
95 }
96 mpa_cborReader->leaveContainer();
97 }
98 else if(m_expectedString == "runSpectrumNativeIdList")
99 {
100 std::size_t length = mpa_cborReader->length();
101 mpa_cborReader->enterContainer();
102 for(std::size_t i = 0; i < length; i++)
103 {
104 m_runAndSpectrumIdList.push_back(std::vector<QString>());
105 mpa_cborReader->readArray(m_runAndSpectrumIdList.back());
106 }
107 mpa_cborReader->leaveContainer();
108 }
109 else if(m_expectedString == "runSpectrumMsLevelList")
110 {
111 std::size_t length = mpa_cborReader->length();
112 mpa_cborReader->enterContainer();
113 for(std::size_t i = 0; i < length; i++)
114 {
115 m_runAndSpectrumMsLevelList.push_back(std::vector<std::uint8_t>());
117 }
118 mpa_cborReader->leaveContainer();
119 }
120 else if(m_expectedString == "runSpectrumTotalIonCountList")
121 {
122 std::size_t length = mpa_cborReader->length();
123 mpa_cborReader->enterContainer();
124 for(std::size_t i = 0; i < length; i++)
125 {
126 m_runAndSpectrumTotalIonCountList.push_back(std::vector<qint64>());
128 }
129 mpa_cborReader->leaveContainer();
130 }
131 else if(m_expectedString == "runSpectrumRtList")
132 {
133 std::size_t length = mpa_cborReader->length();
134 mpa_cborReader->enterContainer();
135 for(std::size_t i = 0; i < length; i++)
136 {
137 m_runAndSpectrumRtList.push_back(std::vector<double>());
138 mpa_cborReader->readArray(m_runAndSpectrumRtList.back());
139 }
140 mpa_cborReader->leaveContainer();
141 }
142 }
143 mpa_cborReader->leaveContainer();
144}
145
146
147bool
152
153
154const std::vector<QString> &
160
161const std::vector<std::vector<qint64>> &
166
167const std::vector<std::vector<QString>> &
172
173const std::vector<std::vector<qint64>> &
178
179const std::vector<std::vector<double>> &
184
185const std::vector<std::vector<std::uint8_t>> &
const std::vector< std::vector< qint64 > > & getRunAndSpectrumTotalIonCountList() const
virtual void close()
convenient function to clean pointer before leaving
std::vector< std::vector< qint64 > > m_runAndSpectrumOffsetList
std::vector< std::vector< std::uint8_t > > m_runAndSpectrumMsLevelList
const std::vector< std::vector< std::uint8_t > > & getRunAndSpectrumMsLevelList() const
const std::vector< std::vector< qint64 > > & getRunAndSpectrumOffsetList() const
std::vector< std::vector< double > > m_runAndSpectrumRtList
const std::vector< std::vector< QString > > & getRunAndSpectrumIdList() const
std::vector< std::vector< qint64 > > m_runAndSpectrumTotalIonCountList
const std::vector< QString > & getRunIdList() const
const std::vector< std::vector< double > > & getRunAndSpectrumRtList() const
std::vector< std::vector< QString > > m_runAndSpectrumIdList
read mzcbor index file