Loading...
Searching...
No Matches
quantificationmethod.h
Go to the documentation of this file.
/**
* \file pappsomspp/masschroq/quantificationmethod.h
* \date 24/10/2024
* \author Olivier Langella
* \brief store parameters related to peak detection and quantification
*/
/*******************************************************************************
* Copyright (c) 2024 Olivier Langella
*<Olivier.Langella@universite-paris-saclay.fr>.
*
* This file is part of MassChroQ.
*
* MassChroQ is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* MassChroQ is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with MassChroQ. If not, see <http://www.gnu.org/licenses/>.
*
******************************************************************************/
#pragma once
#include <memory>
#include <QString>
#include "pappsomspp/export-import-config.h"
#include "pappsomspp/core/types.h"
#include "pappsomspp/core/mzrange.h"
#include "pappsomspp/core/processing/filters/filtersuitestring.h"
#include "pappsomspp/core/processing/detection/tracedetectioninterface.h"
#include "pappsomspp/core/processing/project/projectparameters.h"
#include <QJsonObject>
namespace pappso::masschroq
{
class QuantificationMethod;
typedef std::shared_ptr<QuantificationMethod> QuantificationMethodSp;
/**
* @todo write docs
*/
class PMSPP_LIB_DECL QuantificationMethod
{
public:
/**
* Default constructor
*/
QuantificationMethod(const QString &id);
QuantificationMethod(const QuantificationMethod &other);
/**
* Destructor
*/
virtual ~QuantificationMethod();
const QString &getId() const;
void setXicExtractMethod(Enums::XicExtractMethod method);
Enums::XicExtractMethod getXicExtractMethod() const;
void setXicExtractionLowerPrecisionPtr(pappso::PrecisionPtr precision);
void setXicExtractionUpperPrecisionPtr(pappso::PrecisionPtr precision);
pappso::PrecisionPtr getXicExtractionMeanPrecisionPtr() const;
void addXicFilter(const pappso::FilterNameInterfaceSPtr &filter);
void setXicFilter(const pappso::FilterNameInterfaceSPtr &filter);
void setTraceDetectionInterfaceCstSPtr(const pappso::TraceDetectionInterfaceCstSPtr &detection);
const pappso::TraceDetectionInterfaceCstSPtr &getTraceDetectionInterfaceCstSPtr() const;
const pappso::FilterNameInterfaceSPtr getXicFilter() const;
const FilterSuiteStringSPtr &getFilterSuiteStringSPtr() const;
const pappso::MzRange getXicExtractionMzRange(double mz) const;
pappso::ProjectParameters getProjectParameters() const;
void setJsonObject(const QJsonObject &json_object);
QJsonObject getJsonObject() const;
pappso::PrecisionPtr getXicExtractionLowerPrecisionPtr() const;
pappso::PrecisionPtr getXicExtractionUppersPrecisionPtr() const;
void setMatchBetweenRun(bool is_match);
bool getMatchBetweenRun() const;
void setIsotopeMinimumRatio(double ratio);
double getIsotopeMinimumRatio() const;
void setXicExtractionRtRange(double rt_range);
double getXicExtractionRtRange() const;
private:
const QString m_id;
Enums::XicExtractMethod m_xicExtractMethod = Enums::XicExtractMethod::max;
pappso::PrecisionPtr mp_xicExtractionLowerPrecisionPtr = nullptr;
pappso::PrecisionPtr mp_xicExtractionUppersPrecisionPtr = nullptr;
/** @brief set the retention time range in seconds around the target rt
*
* only the interesting part of the xic will be extracted, form the rt target
* - range_in_seconds to rt target + range in seconds by default, all the LC
* run time is extracted
*
* @param range_in_seconds range in seconds
*/
double m_xicExtractionRetentionTimeAroundTarget = 300;
/// the xic filters
pappso::FilterSuiteStringSPtr m_xicFilterSuite;
/// the peak detection method for this quantification
pappso::TraceDetectionInterfaceCstSPtr mcsp_traceDetectionInterfaceCstSPtr;
bool m_matchBetweenRun = true;
/** @brief the minimum percentage of theoretical intensity of the isotope
* pattern to compute
*/
double m_isotopeMinimumRatio = 0;
};
} // namespace pappso::masschroq
pappso::MzRange
Definition mzrange.h:46
pappso::ProjectParameters
Definition projectparameters.h:66
pappso::masschroq::QuantificationMethod
Definition quantificationmethod.h:52
pappso::masschroq::QuantificationMethod::mp_xicExtractionUppersPrecisionPtr
pappso::PrecisionPtr mp_xicExtractionUppersPrecisionPtr
Definition quantificationmethod.h:118
pappso::masschroq::QuantificationMethod::getTraceDetectionInterfaceCstSPtr
const pappso::TraceDetectionInterfaceCstSPtr & getTraceDetectionInterfaceCstSPtr() const
Definition quantificationmethod.cpp:199
pappso::masschroq::QuantificationMethod::getXicExtractMethod
Enums::XicExtractMethod getXicExtractMethod() const
Definition quantificationmethod.cpp:155
pappso::masschroq::QuantificationMethod::m_xicFilterSuite
pappso::FilterSuiteStringSPtr m_xicFilterSuite
the xic filters
Definition quantificationmethod.h:133
pappso::masschroq::QuantificationMethod::setXicExtractionUpperPrecisionPtr
void setXicExtractionUpperPrecisionPtr(pappso::PrecisionPtr precision)
Definition quantificationmethod.cpp:174
pappso::masschroq::QuantificationMethod::getXicExtractionMeanPrecisionPtr
pappso::PrecisionPtr getXicExtractionMeanPrecisionPtr() const
Definition quantificationmethod.cpp:140
pappso::masschroq::QuantificationMethod::mp_xicExtractionLowerPrecisionPtr
pappso::PrecisionPtr mp_xicExtractionLowerPrecisionPtr
Definition quantificationmethod.h:117
pappso::masschroq::QuantificationMethod::getXicExtractionUppersPrecisionPtr
pappso::PrecisionPtr getXicExtractionUppersPrecisionPtr() const
Definition quantificationmethod.cpp:442
pappso::masschroq::QuantificationMethod::mcsp_traceDetectionInterfaceCstSPtr
pappso::TraceDetectionInterfaceCstSPtr mcsp_traceDetectionInterfaceCstSPtr
the peak detection method for this quantification
Definition quantificationmethod.h:137
pappso::masschroq::QuantificationMethod::setIsotopeMinimumRatio
void setIsotopeMinimumRatio(double ratio)
Definition quantificationmethod.cpp:98
pappso::masschroq::QuantificationMethod::getXicExtractionRtRange
double getXicExtractionRtRange() const
Definition quantificationmethod.cpp:80
pappso::masschroq::QuantificationMethod::m_xicExtractionRetentionTimeAroundTarget
double m_xicExtractionRetentionTimeAroundTarget
set the retention time range in seconds around the target rt
Definition quantificationmethod.h:129
pappso::masschroq::QuantificationMethod::m_matchBetweenRun
bool m_matchBetweenRun
Definition quantificationmethod.h:139
pappso::masschroq::QuantificationMethod::setJsonObject
void setJsonObject(const QJsonObject &json_object)
Definition quantificationmethod.cpp:350
pappso::masschroq::QuantificationMethod::m_xicExtractMethod
Enums::XicExtractMethod m_xicExtractMethod
Definition quantificationmethod.h:115
pappso::masschroq::QuantificationMethod::setXicExtractMethod
void setXicExtractMethod(Enums::XicExtractMethod method)
Definition quantificationmethod.cpp:180
pappso::masschroq::QuantificationMethod::QuantificationMethod
QuantificationMethod(const QString &id)
Definition quantificationmethod.cpp:39
pappso::masschroq::QuantificationMethod::getProjectParameters
pappso::ProjectParameters getProjectParameters() const
Definition quantificationmethod.cpp:205
pappso::masschroq::QuantificationMethod::getXicExtractionLowerPrecisionPtr
pappso::PrecisionPtr getXicExtractionLowerPrecisionPtr() const
Definition quantificationmethod.cpp:436
pappso::masschroq::QuantificationMethod::setMatchBetweenRun
void setMatchBetweenRun(bool is_match)
Definition quantificationmethod.cpp:448
pappso::masschroq::QuantificationMethod::setXicFilter
void setXicFilter(const pappso::FilterNameInterfaceSPtr &filter)
Definition quantificationmethod.cpp:113
pappso::masschroq::QuantificationMethod::getMatchBetweenRun
bool getMatchBetweenRun() const
Definition quantificationmethod.cpp:92
pappso::masschroq::QuantificationMethod::addXicFilter
void addXicFilter(const pappso::FilterNameInterfaceSPtr &filter)
Definition quantificationmethod.cpp:120
pappso::masschroq::QuantificationMethod::getFilterSuiteStringSPtr
const FilterSuiteStringSPtr & getFilterSuiteStringSPtr() const
Definition quantificationmethod.cpp:133
pappso::masschroq::QuantificationMethod::setXicExtractionRtRange
void setXicExtractionRtRange(double rt_range)
Definition quantificationmethod.cpp:86
pappso::masschroq::QuantificationMethod::m_id
const QString m_id
Definition quantificationmethod.h:114
pappso::masschroq::QuantificationMethod::getXicExtractionMzRange
const pappso::MzRange getXicExtractionMzRange(double mz) const
Definition quantificationmethod.cpp:192
pappso::masschroq::QuantificationMethod::m_isotopeMinimumRatio
double m_isotopeMinimumRatio
the minimum percentage of theoretical intensity of the isotope pattern to compute
Definition quantificationmethod.h:144
pappso::masschroq::QuantificationMethod::getIsotopeMinimumRatio
double getIsotopeMinimumRatio() const
Definition quantificationmethod.cpp:107
pappso::masschroq::QuantificationMethod::getJsonObject
QJsonObject getJsonObject() const
Definition quantificationmethod.cpp:279
pappso::masschroq::QuantificationMethod::setXicExtractionLowerPrecisionPtr
void setXicExtractionLowerPrecisionPtr(pappso::PrecisionPtr precision)
Definition quantificationmethod.cpp:168
pappso::masschroq::QuantificationMethod::getId
const QString & getId() const
Definition quantificationmethod.cpp:74
pappso::masschroq::QuantificationMethod::setTraceDetectionInterfaceCstSPtr
void setTraceDetectionInterfaceCstSPtr(const pappso::TraceDetectionInterfaceCstSPtr &detection)
Definition quantificationmethod.cpp:161
pappso::masschroq::QuantificationMethod::getXicFilter
const pappso::FilterNameInterfaceSPtr getXicFilter() const
Definition quantificationmethod.cpp:186
export-import-config.h
PMSPP_LIB_DECL
#define PMSPP_LIB_DECL
Definition export-import-config.h:14
filtersuitestring.h
mzrange.h
pappso::Enums::XicExtractMethod
XicExtractMethod
Definition types.h:278
pappso::Enums::XicExtractMethod::max
@ max
maximum of intensities
Definition types.h:280
pappso::masschroq
Definition alignmentmethod.h:38
pappso::masschroq::QuantificationMethodSp
std::shared_ptr< QuantificationMethod > QuantificationMethodSp
Definition quantificationmethod.h:46
pappso::FilterSuiteStringSPtr
std::shared_ptr< FilterSuiteString > FilterSuiteStringSPtr
Definition filtersuitestring.h:83
pappso::TraceDetectionInterfaceCstSPtr
std::shared_ptr< const TraceDetectionInterface > TraceDetectionInterfaceCstSPtr
Definition tracedetectioninterface.h:35
pappso::ProjectParamCategory::filter
@ filter
concerning filters (psm, peptide, protein validation)
Definition projectparameters.h:48
pappso::FilterNameInterfaceSPtr
std::shared_ptr< FilterNameInterface > FilterNameInterfaceSPtr
Definition filternameinterface.h:59
pappso::PrecisionPtr
const PrecisionBase * PrecisionPtr
Definition precision.h:122
projectparameters.h
tracedetectioninterface.h
types.h