libpappsomspp
Library for mass spectrometry
Loading...
Searching...
No Matches
quantificationmethod.h
Go to the documentation of this file.
1/**
2 * \file pappsomspp/masschroq/quantificationmethod.h
3 * \date 24/10/2024
4 * \author Olivier Langella
5 * \brief store parameters related to peak detection and quantification
6 */
7
8/*******************************************************************************
9 * Copyright (c) 2024 Olivier Langella
10 *<Olivier.Langella@universite-paris-saclay.fr>.
11 *
12 * This file is part of MassChroQ.
13 *
14 * MassChroQ is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU General Public License as published by
16 * the Free Software Foundation, either version 3 of the License, or
17 * (at your option) any later version.
18 *
19 * MassChroQ is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
23 *
24 * You should have received a copy of the GNU General Public License
25 * along with MassChroQ. If not, see <http://www.gnu.org/licenses/>.
26 *
27 ******************************************************************************/
28
29#pragma once
30
31#include <memory>
32#include <QString>
39#include <QJsonObject>
40
41namespace pappso::masschroq
42{
43
45
46typedef std::shared_ptr<QuantificationMethod> QuantificationMethodSp;
47
48/**
49 * @todo write docs
50 */
52{
53 public:
54 /**
55 * Default constructor
56 */
57 QuantificationMethod(const QString &id);
58
60
61 /**
62 * Destructor
63 */
64 virtual ~QuantificationMethod();
65
66 const QString &getId() const;
67
69
71
73
75
77
80
82
83
85
87
89
90
91 const pappso::MzRange getXicExtractionMzRange(double mz) const;
93
94
95 void setJsonObject(const QJsonObject &json_object);
96
97 QJsonObject getJsonObject() const;
98
101
102
103 void setMatchBetweenRun(bool is_match);
104 bool getMatchBetweenRun() const;
105
106 void setIsotopeMinimumRatio(double ratio);
107 double getIsotopeMinimumRatio() const;
108
109
110 void setXicExtractionRtRange(double rt_range);
111 double getXicExtractionRtRange() const;
112
113 private:
114 const QString m_id;
116
119
120
121 /** @brief set the retention time range in seconds around the target rt
122 *
123 * only the interesting part of the xic will be extracted, form the rt target
124 * - range_in_seconds to rt target + range in seconds by default, all the LC
125 * run time is extracted
126 *
127 * @param range_in_seconds range in seconds
128 */
130
131
132 /// the xic filters
134
135
136 /// the peak detection method for this quantification
138
139 bool m_matchBetweenRun = true;
140
141 /** @brief the minimum percentage of theoretical intensity of the isotope
142 * pattern to compute
143 */
145};
146} // namespace pappso::masschroq
const pappso::TraceDetectionInterfaceCstSPtr & getTraceDetectionInterfaceCstSPtr() const
Enums::XicExtractMethod getXicExtractMethod() const
pappso::FilterSuiteStringSPtr m_xicFilterSuite
the xic filters
void setXicExtractionUpperPrecisionPtr(pappso::PrecisionPtr precision)
pappso::PrecisionPtr getXicExtractionMeanPrecisionPtr() const
pappso::PrecisionPtr getXicExtractionUppersPrecisionPtr() const
pappso::TraceDetectionInterfaceCstSPtr mcsp_traceDetectionInterfaceCstSPtr
the peak detection method for this quantification
double m_xicExtractionRetentionTimeAroundTarget
set the retention time range in seconds around the target rt
void setJsonObject(const QJsonObject &json_object)
void setXicExtractMethod(Enums::XicExtractMethod method)
pappso::ProjectParameters getProjectParameters() const
pappso::PrecisionPtr getXicExtractionLowerPrecisionPtr() const
void setXicFilter(const pappso::FilterNameInterfaceSPtr &filter)
void addXicFilter(const pappso::FilterNameInterfaceSPtr &filter)
const FilterSuiteStringSPtr & getFilterSuiteStringSPtr() const
const pappso::MzRange getXicExtractionMzRange(double mz) const
double m_isotopeMinimumRatio
the minimum percentage of theoretical intensity of the isotope pattern to compute
void setXicExtractionLowerPrecisionPtr(pappso::PrecisionPtr precision)
void setTraceDetectionInterfaceCstSPtr(const pappso::TraceDetectionInterfaceCstSPtr &detection)
const pappso::FilterNameInterfaceSPtr getXicFilter() const
#define PMSPP_LIB_DECL
@ max
maximum of intensities
Definition types.h:280
std::shared_ptr< QuantificationMethod > QuantificationMethodSp
std::shared_ptr< FilterSuiteString > FilterSuiteStringSPtr
std::shared_ptr< const TraceDetectionInterface > TraceDetectionInterfaceCstSPtr
@ filter
concerning filters (psm, peptide, protein validation)
std::shared_ptr< FilterNameInterface > FilterNameInterfaceSPtr
const PrecisionBase * PrecisionPtr
Definition precision.h:122