libpappsomspp
Library for mass spectrometry
Toggle main menu visibility
Loading...
Searching...
No Matches
mzcborreaderbase.cpp
Go to the documentation of this file.
1
/**
2
* \file pappsomspp/processing/cbor/mzcbor/mzcborreaderbase.cpp
3
* \date 19/11/2025
4
* \author Olivier Langella
5
* \brief read mzcbor stream or 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
#include "
mzcborreaderbase.h
"
29
#include "
cvparam.h
"
30
31
pappso::cbor::mzcbor::MzcborReaderBase::MzcborReaderBase
()
32
{
33
}
34
35
pappso::cbor::mzcbor::MzcborReaderBase::~MzcborReaderBase
()
36
{
37
}
38
39
void
40
pappso::cbor::mzcbor::MzcborReaderBase::close
()
41
{
42
}
43
44
void
45
pappso::cbor::mzcbor::MzcborReaderBase::readCbor
(QFile *cborp,
pappso::UiMonitorInterface
&monitor)
46
{
47
qDebug();
48
initCborReader
(cborp);
49
50
qDebug();
51
if
(
mpa_cborReader
->isMap())
52
{
53
readRoot
(monitor);
54
}
55
qDebug();
56
}
57
58
void
59
pappso::cbor::mzcbor::MzcborReaderBase::readCbor
(QIODevice *cborp,
60
pappso::UiMonitorInterface
&monitor)
61
{
62
qDebug();
63
initCborReader
(cborp);
64
65
qDebug();
66
if
(
mpa_cborReader
->isMap())
67
{
68
readRoot
(monitor);
69
}
70
qDebug();
71
}
72
73
74
void
75
pappso::cbor::mzcbor::MzcborReaderBase::readRoot
(
pappso::UiMonitorInterface
&monitor
76
[[maybe_unused]])
77
{
78
qDebug();
79
mpa_cborReader
->enterContainer();
80
81
while
(
getExpectedString
())
82
{
83
84
if
(
m_expectedString
==
"mzCBOR"
)
85
{
86
m_isMzcbor
=
true
;
87
mpa_cborReader
->next();
88
}
89
else
if
(
m_expectedString
==
"mzML"
)
90
{
91
m_isMzcbor
=
true
;
92
qDebug() <<
m_expectedString
;
93
mpa_cborReader
->next();
94
95
while
(
getExpectedString
())
96
{
97
qDebug() <<
m_expectedString
;
98
if
(
m_expectedString
==
"run"
)
99
{
100
readMsrun
();
101
}
102
else
if
(
m_expectedString
==
"referenceableParamGroupList"
)
103
{
104
readReferenceableParamGroupList
();
105
}
106
else
107
{
108
mpa_cborReader
->next();
109
}
110
if
(
m_stopParsing
)
111
break
;
112
}
113
}
114
}
115
mpa_cborReader
->leaveContainer();
116
}
117
118
119
bool
120
pappso::cbor::mzcbor::MzcborReaderBase::isMzcbor
()
const
121
{
122
return
m_isMzcbor
;
123
}
124
125
const
QStringList &
126
pappso::cbor::mzcbor::MzcborReaderBase::getMsrunIdList
()
const
127
{
128
return
m_msrunIdList
;
129
}
130
131
132
void
133
pappso::cbor::mzcbor::MzcborReaderBase::readReferenceableParamGroupList
()
134
{
135
mpa_cborReader
->enterContainer();
136
137
while
(
getExpectedString
())
138
{
139
if
(
m_expectedString
==
"referenceableParamGroup"
)
140
{
141
mpa_cborReader
->next();
142
/*
143
mpa_cborReader->enterContainer();
144
145
while(getExpectedString())
146
{
147
if(m_expectedString == "cvParam")
148
{
149
std::map<QString, pappso::cbor::mzcbor::CvParam> cvParamMap =
150
CvParam::getCvParamsMapFromCbor(*mpa_cborReader);
151
}
152
else
153
{
154
mpa_cborReader->next();
155
}
156
}
157
158
mpa_cborReader->leaveContainer();*/
159
}
160
else
161
{
162
mpa_cborReader
->next();
163
}
164
}
165
166
mpa_cborReader
->leaveContainer();
167
}
168
void
169
pappso::cbor::mzcbor::MzcborReaderBase::readMsrun
()
170
{
171
mpa_cborReader
->enterContainer();
172
173
while
(
getExpectedString
())
174
{
175
if
(
m_expectedString
==
"id"
)
176
{
177
getExpectedString
();
178
m_msrunIdList
<<
m_expectedString
;
179
}
180
else
181
{
182
mpa_cborReader
->next();
183
}
184
}
185
186
mpa_cborReader
->leaveContainer();
187
}
188
189
std::map<QString, pappso::cbor::mzcbor::CvParam>
190
pappso::cbor::mzcbor::MzcborReaderBase::getCvParamsMap
()
191
{
192
qDebug();
193
std::map<QString, CvParam> accession_values;
194
mpa_cborReader
->enterContainer();
// start array
195
196
while
(
mpa_cborReader
->hasNext())
197
{
198
199
CvParam
cv_param;
200
cv_param.
fromCbor
(*
mpa_cborReader
);
201
accession_values.insert({cv_param.
accession
, cv_param});
202
}
203
204
mpa_cborReader
->leaveContainer();
// end array
205
return
accession_values;
206
}
pappso::UiMonitorInterface
Definition
uimonitorinterface.h:50
pappso::cbor::CborStreamReaderInterface::m_expectedString
QString m_expectedString
Definition
cborstreamreaderinterface.h:69
pappso::cbor::CborStreamReaderInterface::initCborReader
void initCborReader(QFile *pcborfile)
Definition
cborstreamreaderinterface.cpp:80
pappso::cbor::CborStreamReaderInterface::getExpectedString
bool getExpectedString()
Definition
cborstreamreaderinterface.cpp:54
pappso::cbor::CborStreamReaderInterface::mpa_cborReader
CborStreamReader * mpa_cborReader
Definition
cborstreamreaderinterface.h:68
pappso::cbor::mzcbor::MzcborReaderBase::m_msrunIdList
QStringList m_msrunIdList
Definition
mzcborreaderbase.h:94
pappso::cbor::mzcbor::MzcborReaderBase::MzcborReaderBase
MzcborReaderBase()
Definition
mzcborreaderbase.cpp:31
pappso::cbor::mzcbor::MzcborReaderBase::m_isMzcbor
bool m_isMzcbor
Definition
mzcborreaderbase.h:93
pappso::cbor::mzcbor::MzcborReaderBase::readReferenceableParamGroupList
virtual void readReferenceableParamGroupList()
Definition
mzcborreaderbase.cpp:133
pappso::cbor::mzcbor::MzcborReaderBase::readCbor
virtual void readCbor(QFile *cborp, pappso::UiMonitorInterface &monitor)
read mzCBOR file
Definition
mzcborreaderbase.cpp:45
pappso::cbor::mzcbor::MzcborReaderBase::readMsrun
virtual void readMsrun()
Definition
mzcborreaderbase.cpp:169
pappso::cbor::mzcbor::MzcborReaderBase::isMzcbor
bool isMzcbor() const
Definition
mzcborreaderbase.cpp:120
pappso::cbor::mzcbor::MzcborReaderBase::readRoot
void readRoot(pappso::UiMonitorInterface &monitor)
Definition
mzcborreaderbase.cpp:75
pappso::cbor::mzcbor::MzcborReaderBase::m_stopParsing
bool m_stopParsing
Definition
mzcborreaderbase.h:90
pappso::cbor::mzcbor::MzcborReaderBase::close
virtual void close()
convenient function to clean pointer before leaving
Definition
mzcborreaderbase.cpp:40
pappso::cbor::mzcbor::MzcborReaderBase::getCvParamsMap
std::map< QString, CvParam > getCvParamsMap()
read the array containing cvParams to give accessions and values
Definition
mzcborreaderbase.cpp:190
pappso::cbor::mzcbor::MzcborReaderBase::getMsrunIdList
const QStringList & getMsrunIdList() const
Definition
mzcborreaderbase.cpp:126
pappso::cbor::mzcbor::MzcborReaderBase::~MzcborReaderBase
virtual ~MzcborReaderBase()
Definition
mzcborreaderbase.cpp:35
cvparam.h
PSI cvParam object for mzML/mzCBOR.
mzcborreaderbase.h
read mzcbor stream or file
pappso::cbor::mzcbor::CvParam
Definition
cvparam.h:47
pappso::cbor::mzcbor::CvParam::fromCbor
void fromCbor(CborStreamReader &reader)
Definition
cvparam.cpp:92
pappso::cbor::mzcbor::CvParam::accession
QString accession
Definition
cvparam.h:75
pappsomspp
core
processing
cbor
mzcbor
mzcborreaderbase.cpp
Generated on
for libpappsomspp by
1.17.0