libpappsomspp
Library for mass spectrometry
Loading...
Searching...
No Matches
pappso::ProjectParameters Class Reference

#include <projectparameters.h>

Public Member Functions

 ProjectParameters ()
 
 ProjectParameters (const QJsonObject &json_parameters)
 
 ProjectParameters (const ProjectParameters &other)
 
 ~ProjectParameters ()
 
ProjectParametersoperator= (const ProjectParameters &other)
 
void writeParameters (CalcWriterInterface &writer) const
 
void writeParameters (QXmlStreamWriter &xml_writer) const
 
void writeParameters (QCborStreamWriter &cbor_writer) const
 
const QVariant getValue (ProjectParamCategory category, const QString &name) const
 
void setProjectParam (const ProjectParam &param)
 
void merge (const ProjectParameters &parameters)
 
std::size_t size () const
 
std::vector< ProjectParamgetProjectParamListByCategory (ProjectParamCategory category) const
 
QJsonObject toJsonObject () const
 

Private Member Functions

void writeCellVariant (CalcWriterInterface &writer, const QVariant &var) const
 
void writeXmlParameter (QXmlStreamWriter &writer, const ProjectParam &param) const
 
void writeXmlVariant (QXmlStreamWriter &writer, const QVariant &var) const
 

Private Attributes

std::map< QString, ProjectParamm_mapGeneralParameters
 
std::map< QString, ProjectParamm_mapIdentificationParameters
 
std::map< QString, ProjectParamm_mapFilterParameters
 
std::map< QString, ProjectParamm_mapQuantificationParameters
 
std::map< QString, ProjectParamm_mapInstrumentParameters
 

Detailed Description

Todo
write docs

Definition at line 65 of file projectparameters.h.

Constructor & Destructor Documentation

◆ ProjectParameters() [1/3]

pappso::ProjectParameters::ProjectParameters ( )

Default constructor

Definition at line 38 of file projectparameters.cpp.

39{
40}

Referenced by ProjectParameters(), merge(), and operator=().

◆ ProjectParameters() [2/3]

pappso::ProjectParameters::ProjectParameters ( const QJsonObject & json_parameters)

Definition at line 42 of file projectparameters.cpp.

43{
44
45 qDebug() << json_parameters.keys();
46 pappso::ProjectParam project_parameter;
47 auto itparam = json_parameters.begin();
48 while(itparam != json_parameters.end())
49 {
50 qDebug() << itparam.key();
51 project_parameter.name = itparam.key();
52 project_parameter.category =
53 (pappso::ProjectParamCategory)itparam.value().toObject().value("category").toInt();
54 project_parameter.value = itparam.value().toObject().value("value").toVariant();
55
56 setProjectParam(project_parameter);
57 itparam++;
58 }
59}
void setProjectParam(const ProjectParam &param)
ProjectParamCategory category

References pappso::ProjectParam::category, pappso::ProjectParam::name, setProjectParam(), and pappso::ProjectParam::value.

◆ ProjectParameters() [3/3]

pappso::ProjectParameters::ProjectParameters ( const ProjectParameters & other)

Copy constructor

Parameters
otherTODO

Definition at line 62 of file projectparameters.cpp.

63{
64 m_mapGeneralParameters = other.m_mapGeneralParameters;
65 m_mapFilterParameters = other.m_mapFilterParameters;
66 m_mapIdentificationParameters = other.m_mapIdentificationParameters;
67 m_mapQuantificationParameters = other.m_mapQuantificationParameters;
68 m_mapInstrumentParameters = other.m_mapInstrumentParameters;
69}
std::map< QString, ProjectParam > m_mapQuantificationParameters
std::map< QString, ProjectParam > m_mapIdentificationParameters
std::map< QString, ProjectParam > m_mapGeneralParameters
std::map< QString, ProjectParam > m_mapFilterParameters
std::map< QString, ProjectParam > m_mapInstrumentParameters

References ProjectParameters(), m_mapFilterParameters, m_mapGeneralParameters, m_mapIdentificationParameters, m_mapInstrumentParameters, and m_mapQuantificationParameters.

◆ ~ProjectParameters()

pappso::ProjectParameters::~ProjectParameters ( )

Destructor

Definition at line 71 of file projectparameters.cpp.

72{
73}

Member Function Documentation

◆ getProjectParamListByCategory()

std::vector< pappso::ProjectParam > pappso::ProjectParameters::getProjectParamListByCategory ( ProjectParamCategory category) const

Definition at line 347 of file projectparameters.cpp.

348{
349 std::vector<ProjectParam> param_list;
350 const std::map<QString, ProjectParam> *map_pointer = nullptr;
351 switch(category)
352 {
354 map_pointer = &m_mapGeneralParameters;
355 break;
357 map_pointer = &m_mapInstrumentParameters;
358 break;
360 map_pointer = &m_mapFilterParameters;
361 break;
363 map_pointer = &m_mapIdentificationParameters;
364 break;
366 map_pointer = &m_mapQuantificationParameters;
367 break;
368 default:
369 map_pointer = &m_mapGeneralParameters;
370 break;
371 }
372
373 for(auto pair_item : *map_pointer)
374 {
375 param_list.push_back(pair_item.second);
376 }
377
378 return param_list;
379}
@ identification
concerning identification
@ instrument
information about instrument
@ general
concerning the whole process
@ filter
concerning filters (psm, peptide, protein validation)

References pappso::filter, pappso::general, pappso::identification, pappso::instrument, m_mapFilterParameters, m_mapGeneralParameters, m_mapIdentificationParameters, m_mapInstrumentParameters, m_mapQuantificationParameters, and pappso::quantification.

◆ getValue()

const QVariant pappso::ProjectParameters::getValue ( ProjectParamCategory category,
const QString & name ) const

Definition at line 307 of file projectparameters.cpp.

308{
309 const std::map<QString, ProjectParam> *map_pointer = nullptr;
310 switch(category)
311 {
313 map_pointer = &m_mapGeneralParameters;
314 break;
316 map_pointer = &m_mapInstrumentParameters;
317 break;
319 map_pointer = &m_mapFilterParameters;
320 break;
322 map_pointer = &m_mapIdentificationParameters;
323 break;
325 map_pointer = &m_mapQuantificationParameters;
326 break;
327 default:
328 map_pointer = &m_mapGeneralParameters;
329 break;
330 }
331
332 auto it = map_pointer->find(name);
333 if(it != map_pointer->end())
334 {
335 return (it->second.value);
336 }
337 else
338 {
339 qDebug() << QObject::tr("project parameter named %1 in category %2 not found")
340 .arg(name)
341 .arg((std::int8_t)category);
342 }
343 return (QVariant());
344}

References pappso::filter, pappso::general, pappso::identification, pappso::instrument, m_mapFilterParameters, m_mapGeneralParameters, m_mapIdentificationParameters, m_mapInstrumentParameters, m_mapQuantificationParameters, and pappso::quantification.

◆ merge()

void pappso::ProjectParameters::merge ( const ProjectParameters & parameters)

Definition at line 271 of file projectparameters.cpp.

272{
273
274 for(auto key_value : parameters.m_mapGeneralParameters)
275 {
276 m_mapGeneralParameters[key_value.first] = key_value.second;
277 }
278 for(auto key_value : parameters.m_mapInstrumentParameters)
279 {
280 m_mapInstrumentParameters[key_value.first] = key_value.second;
281 }
282 for(auto key_value : parameters.m_mapFilterParameters)
283 {
284 m_mapFilterParameters[key_value.first] = key_value.second;
285 }
286
287 for(auto key_value : parameters.m_mapIdentificationParameters)
288 {
289 m_mapIdentificationParameters[key_value.first] = key_value.second;
290 }
291
292 for(auto key_value : parameters.m_mapQuantificationParameters)
293 {
294 m_mapQuantificationParameters[key_value.first] = key_value.second;
295 }
296}

References ProjectParameters(), m_mapFilterParameters, m_mapGeneralParameters, m_mapIdentificationParameters, m_mapInstrumentParameters, and m_mapQuantificationParameters.

◆ operator=()

pappso::ProjectParameters & pappso::ProjectParameters::operator= ( const ProjectParameters & other)

Definition at line 76 of file projectparameters.cpp.

77{
78
79 m_mapGeneralParameters = other.m_mapGeneralParameters;
80 m_mapFilterParameters = other.m_mapFilterParameters;
81 m_mapIdentificationParameters = other.m_mapIdentificationParameters;
82 m_mapQuantificationParameters = other.m_mapQuantificationParameters;
83 m_mapInstrumentParameters = other.m_mapInstrumentParameters;
84
85 return *this;
86}

References ProjectParameters(), m_mapFilterParameters, m_mapGeneralParameters, m_mapIdentificationParameters, m_mapInstrumentParameters, and m_mapQuantificationParameters.

◆ setProjectParam()

◆ size()

std::size_t pappso::ProjectParameters::size ( ) const

◆ toJsonObject()

QJsonObject pappso::ProjectParameters::toJsonObject ( ) const

Definition at line 382 of file projectparameters.cpp.

383{
384 QJsonObject parameters;
385
386 for(auto param_entry : m_mapGeneralParameters)
387 {
388 parameters.insert(param_entry.first, param_entry.second.toJsonObject());
389 }
390 for(auto param_entry : m_mapInstrumentParameters)
391 {
392 parameters.insert(param_entry.first, param_entry.second.toJsonObject());
393 }
394 for(auto param_entry : m_mapIdentificationParameters)
395 {
396 parameters.insert(param_entry.first, param_entry.second.toJsonObject());
397 }
398 for(auto param_entry : m_mapFilterParameters)
399 {
400 parameters.insert(param_entry.first, param_entry.second.toJsonObject());
401 }
402 for(auto param_entry : m_mapQuantificationParameters)
403 {
404 parameters.insert(param_entry.first, param_entry.second.toJsonObject());
405 }
406 return parameters;
407}

References m_mapFilterParameters, m_mapGeneralParameters, m_mapIdentificationParameters, m_mapInstrumentParameters, and m_mapQuantificationParameters.

Referenced by writeParameters().

◆ writeCellVariant()

void pappso::ProjectParameters::writeCellVariant ( CalcWriterInterface & writer,
const QVariant & var ) const
private

Definition at line 90 of file projectparameters.cpp.

91{
92 int type = var.metaType().id();
93 switch(type)
94 {
95 case QMetaType::Void:
96 writer.writeEmptyCell();
97 break;
98 case QMetaType::Bool:
99 writer.writeCell(var.toBool());
100 break;
101 case QMetaType::Double:
102 case QMetaType::Float:
103 writer.writeCell(var.toDouble());
104 break;
105 case QMetaType::Int:
106 writer.writeCell(var.toInt());
107 break;
108 case QMetaType::QDate:
109 writer.writeCell(var.toDate());
110 break;
111 case QMetaType::QDateTime:
112 writer.writeCell(var.toDateTime());
113 break;
114 case QMetaType::QString:
115 writer.writeCell(var.toString());
116 break;
117 case QMetaType::QUrl:
118 writer.writeCell(var.toUrl(), var.toUrl().toString());
119 break;
120 default:
121 writer.writeCell(var.toString());
122 }
123}

Referenced by writeParameters().

◆ writeParameters() [1/3]

void pappso::ProjectParameters::writeParameters ( CalcWriterInterface & writer) const

Definition at line 208 of file projectparameters.cpp.

209{
210 writer.writeSheet("Project parameters");
211
212 for(auto param_entry : m_mapGeneralParameters)
213 {
214 writer.writeCell(param_entry.second.name);
215 writeCellVariant(writer, param_entry.second.value);
216 writer.writeLine();
217 }
218
219 for(auto param_entry : m_mapInstrumentParameters)
220 {
221 writer.writeCell(param_entry.second.name);
222 writeCellVariant(writer, param_entry.second.value);
223 writer.writeLine();
224 }
225 for(auto param_entry : m_mapIdentificationParameters)
226 {
227 writer.writeCell(param_entry.second.name);
228 writeCellVariant(writer, param_entry.second.value);
229 writer.writeLine();
230 }
231 for(auto param_entry : m_mapFilterParameters)
232 {
233 writer.writeCell(param_entry.second.name);
234 writeCellVariant(writer, param_entry.second.value);
235 writer.writeLine();
236 }
237 for(auto param_entry : m_mapQuantificationParameters)
238 {
239 writer.writeCell(param_entry.second.name);
240 writeCellVariant(writer, param_entry.second.value);
241 writer.writeLine();
242 }
243}
void writeCellVariant(CalcWriterInterface &writer, const QVariant &var) const

References m_mapFilterParameters, m_mapGeneralParameters, m_mapIdentificationParameters, m_mapInstrumentParameters, m_mapQuantificationParameters, and writeCellVariant().

Referenced by pappso::masschroq::CborOutputStream::writeProjectParameters().

◆ writeParameters() [2/3]

void pappso::ProjectParameters::writeParameters ( QCborStreamWriter & cbor_writer) const

Definition at line 455 of file projectparameters.cpp.

456{
457 cbor_writer.append("project_parameters");
458
459 QCborValue::fromJsonValue(toJsonObject()).toCbor(cbor_writer);
460}
QJsonObject toJsonObject() const

References toJsonObject().

◆ writeParameters() [3/3]

void pappso::ProjectParameters::writeParameters ( QXmlStreamWriter & xml_writer) const

Definition at line 139 of file projectparameters.cpp.

140{
141
142 for(auto param_entry : m_mapGeneralParameters)
143 {
144 writeXmlParameter(xml_writer, param_entry.second);
145 }
146
147 for(auto param_entry : m_mapInstrumentParameters)
148 {
149 writeXmlParameter(xml_writer, param_entry.second);
150 }
151 for(auto param_entry : m_mapIdentificationParameters)
152 {
153 writeXmlParameter(xml_writer, param_entry.second);
154 }
155
156 for(auto param_entry : m_mapFilterParameters)
157 {
158 writeXmlParameter(xml_writer, param_entry.second);
159 }
160 for(auto param_entry : m_mapQuantificationParameters)
161 {
162 writeXmlParameter(xml_writer, param_entry.second);
163 }
164}
void writeXmlParameter(QXmlStreamWriter &writer, const ProjectParam &param) const

References m_mapFilterParameters, m_mapGeneralParameters, m_mapIdentificationParameters, m_mapInstrumentParameters, m_mapQuantificationParameters, and writeXmlParameter().

◆ writeXmlParameter()

void pappso::ProjectParameters::writeXmlParameter ( QXmlStreamWriter & writer,
const ProjectParam & param ) const
private

Definition at line 126 of file projectparameters.cpp.

128{
129
130 writer.writeStartElement("project_param");
131 writer.writeAttribute("category", QString("%1").arg((std::uint8_t)param.category));
132 writer.writeAttribute("name", param.name);
133 writeXmlVariant(writer, param.value);
134 writer.writeEndElement();
135}
void writeXmlVariant(QXmlStreamWriter &writer, const QVariant &var) const

References pappso::ProjectParam::category, pappso::ProjectParam::name, pappso::ProjectParam::value, and writeXmlVariant().

Referenced by writeParameters().

◆ writeXmlVariant()

void pappso::ProjectParameters::writeXmlVariant ( QXmlStreamWriter & writer,
const QVariant & var ) const
private

Definition at line 167 of file projectparameters.cpp.

168{
169 int type = var.metaType().id();
170 QString value;
171 switch(type)
172 {
173 case QMetaType::Void:
174 value = "";
175 break;
176 case QMetaType::Bool:
177 value = "false";
178 if(var.toBool())
179 value = "true";
180 break;
181 case QMetaType::Double:
182 case QMetaType::Float:
183 value = QString::number(var.toDouble(), 'g', 10);
184 break;
185 case QMetaType::Int:
186 value = QString::number(var.toInt());
187 break;
188 case QMetaType::QDate:
189 value = var.toDate().toString(Qt::ISODate);
190 break;
191 case QMetaType::QDateTime:
192 value = var.toDateTime().toString(Qt::ISODate);
193 break;
194 case QMetaType::QString:
195 value = var.toString();
196 break;
197 case QMetaType::QUrl:
198 value = var.toUrl().toString();
199 break;
200 default:
201 value = var.toString();
202 }
203
204 writer.writeAttribute("value", value);
205}

Referenced by writeXmlParameter().

Member Data Documentation

◆ m_mapFilterParameters

std::map<QString, ProjectParam> pappso::ProjectParameters::m_mapFilterParameters
private

◆ m_mapGeneralParameters

std::map<QString, ProjectParam> pappso::ProjectParameters::m_mapGeneralParameters
private

◆ m_mapIdentificationParameters

std::map<QString, ProjectParam> pappso::ProjectParameters::m_mapIdentificationParameters
private

◆ m_mapInstrumentParameters

std::map<QString, ProjectParam> pappso::ProjectParameters::m_mapInstrumentParameters
private

◆ m_mapQuantificationParameters

std::map<QString, ProjectParam> pappso::ProjectParameters::m_mapQuantificationParameters
private

The documentation for this class was generated from the following files: