libpappsomspp
Library for mass spectrometry
Toggle main menu visibility
Loading...
Searching...
No Matches
projectparameters.h
Go to the documentation of this file.
1
/**
2
* \file pappsomspp/processing/project/projectparameters.h
3
* \date 16/03/2024
4
* \author Olivier Langella
5
* \brief simple structure to store project parameters (identification,
6
* filtering, quantification)
7
*/
8
9
/*******************************************************************************
10
* Copyright (c) 2022 Olivier Langella
11
*<Olivier.Langella@universite-paris-saclay.fr>.
12
*
13
* This file is part of i2MassChroQ.
14
*
15
* i2MassChroQ is free software: you can redistribute it and/or modify
16
* it under the terms of the GNU General Public License as published by
17
* the Free Software Foundation, either version 3 of the License, or
18
* (at your option) any later version.
19
*
20
* i2MassChroQ is distributed in the hope that it will be useful,
21
* but WITHOUT ANY WARRANTY; without even the implied warranty of
22
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23
* GNU General Public License for more details.
24
*
25
* You should have received a copy of the GNU General Public License
26
* along with i2MassChroQ. If not, see <http://www.gnu.org/licenses/>.
27
*
28
******************************************************************************/
29
#pragma once
30
31
#include <QString>
32
#include <QVariant>
33
#include <odsstream/calcwriterinterface.h>
34
#include <QCborStreamWriter>
35
#include <QJsonObject>
36
#include "
pappsomspp/export-import-config.h
"
37
38
39
namespace
pappso
40
{
41
/** \def ProjectParamCategory parameter category
42
*/
43
enum class
ProjectParamCategory
: std::int8_t
44
{
45
undefined
= 0,
///< undefined
46
general
= 1,
///< concerning the whole process
47
identification
= 2,
///< concerning identification
48
filter
= 3,
///< concerning filters (psm, peptide, protein validation)
49
quantification
= 4,
///< quantification
50
instrument
= 5,
///< information about instrument
51
};
52
53
struct
PMSPP_LIB_DECL
ProjectParam
54
{
55
QJsonObject
toJsonObject
()
const
;
56
57
ProjectParamCategory
category
;
58
QString
name
;
59
QVariant
value
;
60
};
61
62
/**
63
* @todo write docs
64
*/
65
class
PMSPP_LIB_DECL
ProjectParameters
66
{
67
public
:
68
/**
69
* Default constructor
70
*/
71
ProjectParameters
();
72
73
ProjectParameters
(
const
QJsonObject &json_parameters);
74
75
/**
76
* Copy constructor
77
*
78
* @param other TODO
79
*/
80
ProjectParameters
(
const
ProjectParameters
&other);
81
82
/**
83
* Destructor
84
*/
85
~ProjectParameters
();
86
87
ProjectParameters
&
operator=
(
const
ProjectParameters
&other);
88
89
void
writeParameters
(CalcWriterInterface &writer)
const
;
90
91
void
writeParameters
(QXmlStreamWriter &xml_writer)
const
;
92
93
void
writeParameters
(QCborStreamWriter &cbor_writer)
const
;
94
95
96
const
QVariant
getValue
(
ProjectParamCategory
category,
const
QString &name)
const
;
97
void
setProjectParam
(
const
ProjectParam
¶m);
98
void
merge
(
const
ProjectParameters
¶meters);
99
100
std::size_t
size
()
const
;
101
102
103
std::vector<ProjectParam>
getProjectParamListByCategory
(
ProjectParamCategory
category)
const
;
104
105
QJsonObject
toJsonObject
()
const
;
106
107
private
:
108
void
writeCellVariant
(CalcWriterInterface &writer,
const
QVariant &var)
const
;
109
110
void
writeXmlParameter
(QXmlStreamWriter &writer,
const
ProjectParam
¶m)
const
;
111
void
writeXmlVariant
(QXmlStreamWriter &writer,
const
QVariant &var)
const
;
112
113
114
private
:
115
std::map<QString, ProjectParam>
m_mapGeneralParameters
;
116
std::map<QString, ProjectParam>
m_mapIdentificationParameters
;
117
std::map<QString, ProjectParam>
m_mapFilterParameters
;
118
std::map<QString, ProjectParam>
m_mapQuantificationParameters
;
119
std::map<QString, ProjectParam>
m_mapInstrumentParameters
;
120
};
121
122
}
// namespace pappso
pappso::ProjectParameters::writeCellVariant
void writeCellVariant(CalcWriterInterface &writer, const QVariant &var) const
Definition
projectparameters.cpp:90
pappso::ProjectParameters::m_mapQuantificationParameters
std::map< QString, ProjectParam > m_mapQuantificationParameters
Definition
projectparameters.h:118
pappso::ProjectParameters::m_mapIdentificationParameters
std::map< QString, ProjectParam > m_mapIdentificationParameters
Definition
projectparameters.h:116
pappso::ProjectParameters::operator=
ProjectParameters & operator=(const ProjectParameters &other)
Definition
projectparameters.cpp:76
pappso::ProjectParameters::m_mapGeneralParameters
std::map< QString, ProjectParam > m_mapGeneralParameters
Definition
projectparameters.h:115
pappso::ProjectParameters::writeXmlVariant
void writeXmlVariant(QXmlStreamWriter &writer, const QVariant &var) const
Definition
projectparameters.cpp:167
pappso::ProjectParameters::ProjectParameters
ProjectParameters()
Definition
projectparameters.cpp:38
pappso::ProjectParameters::writeXmlParameter
void writeXmlParameter(QXmlStreamWriter &writer, const ProjectParam ¶m) const
Definition
projectparameters.cpp:126
pappso::ProjectParameters::m_mapFilterParameters
std::map< QString, ProjectParam > m_mapFilterParameters
Definition
projectparameters.h:117
pappso::ProjectParameters::size
std::size_t size() const
Definition
projectparameters.cpp:299
pappso::ProjectParameters::setProjectParam
void setProjectParam(const ProjectParam ¶m)
Definition
projectparameters.cpp:246
pappso::ProjectParameters::m_mapInstrumentParameters
std::map< QString, ProjectParam > m_mapInstrumentParameters
Definition
projectparameters.h:119
pappso::ProjectParameters::toJsonObject
QJsonObject toJsonObject() const
Definition
projectparameters.cpp:382
pappso::ProjectParameters::getProjectParamListByCategory
std::vector< ProjectParam > getProjectParamListByCategory(ProjectParamCategory category) const
Definition
projectparameters.cpp:347
pappso::ProjectParameters::getValue
const QVariant getValue(ProjectParamCategory category, const QString &name) const
Definition
projectparameters.cpp:307
pappso::ProjectParameters::merge
void merge(const ProjectParameters ¶meters)
Definition
projectparameters.cpp:271
pappso::ProjectParameters::writeParameters
void writeParameters(CalcWriterInterface &writer) const
Definition
projectparameters.cpp:208
export-import-config.h
PMSPP_LIB_DECL
#define PMSPP_LIB_DECL
Definition
export-import-config.h:14
pappso
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
Definition
aa.cpp:39
pappso::ProjectParamCategory
ProjectParamCategory
Definition
projectparameters.h:44
pappso::ProjectParamCategory::identification
@ identification
concerning identification
Definition
projectparameters.h:47
pappso::ProjectParamCategory::instrument
@ instrument
information about instrument
Definition
projectparameters.h:50
pappso::ProjectParamCategory::undefined
@ undefined
undefined
Definition
projectparameters.h:45
pappso::ProjectParamCategory::general
@ general
concerning the whole process
Definition
projectparameters.h:46
pappso::ProjectParamCategory::quantification
@ quantification
quantification
Definition
projectparameters.h:49
pappso::ProjectParamCategory::filter
@ filter
concerning filters (psm, peptide, protein validation)
Definition
projectparameters.h:48
pappso::ProjectParam
Definition
projectparameters.h:54
pappso::ProjectParam::value
QVariant value
Definition
projectparameters.h:59
pappso::ProjectParam::category
ProjectParamCategory category
Definition
projectparameters.h:57
pappso::ProjectParam::name
QString name
Definition
projectparameters.h:58
pappso::ProjectParam::toJsonObject
QJsonObject toJsonObject() const
Definition
projectparameters.cpp:411
pappsomspp
core
processing
project
projectparameters.h
Generated on
for libpappsomspp by
1.17.0