libpappsomspp
Library for mass spectrometry
Toggle main menu visibility
Loading...
Searching...
No Matches
peptidemeasurementsbase.h
Go to the documentation of this file.
1
/**
2
* \file pappsomspp/masschroq/peptidemeasurements.h
3
* \date 24/01/2025
4
* \author Olivier Langella
5
* \brief peptide measurement model base in masschroqlite
6
*/
7
8
/*******************************************************************************
9
* Copyright (c) 2025 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
32
#include "
types.h
"
33
#include "
pappsomspp/core/msrun/xiccoord/xiccoord.h
"
34
#include "
pappsomspp/core/processing/detection/tracepeak.h
"
35
#include "
../peptide/peptidenaturalisotopelist.h
"
36
#include "
peptidebase.h
"
37
#include "
quantificationmethod.h
"
38
39
40
namespace
pappso::masschroq
41
{
42
43
class
PeptideLabel
;
44
class
Peptide
;
45
/**
46
* @todo write docs
47
*/
48
class
PeptideMeasurementsBase
49
{
50
public
:
51
/**
52
* Default constructor
53
*/
54
PeptideMeasurementsBase
();
55
56
PeptideMeasurementsBase
(
const
PeptideMeasurementsBase
&other);
57
58
/**
59
* Destructor
60
*/
61
virtual
~PeptideMeasurementsBase
();
62
63
64
/** the same peptide can be measured multiple times :
65
* - for each charge state
66
* - for each isotopologue
67
* One measurement contains :
68
* - a transient chromatogram extraction
69
* - extracted XIC and coordinates
70
* - peak quality : how the detected peak in the chromatogram was chosen
71
*
72
*/
73
struct
Measurement
74
{
75
std::uint8_t
m_charge
;
76
pappso::XicCoordSPtr
msp_xicCoord
;
77
PeakQualityCategory
m_peakQualityCategory
=
PeakQualityCategory::nomatch
;
78
const
PeptideLabel
*
mp_peptideLabel
;
79
pappso::TracePeakCstSPtr
m_tracePeakSp
;
80
pappso::PeptideNaturalIsotopeAverageSp
m_peptideNaturalIsotopeAverageSp
;
81
};
82
83
84
virtual
const
std::vector<Measurement> &
getMeasurementList
()
const
;
85
86
87
virtual
void
pushBackXicCoordList
(std::vector<pappso::XicCoordSPtr> &xic_coord_list)
const
final
;
88
89
virtual
void
detectQuantifyPeaks
(
const
QuantificationMethodSp
&quantification_method) = 0;
90
91
92
virtual
void
flushXics
() final;
93
94
95
/** @brief clear the measurement vector
96
*/
97
virtual
void
clear
() final;
98
99
100
protected:
101
virtual
void
prepareMeasurementsForPeptide
(
Peptide
&the_peptide,
102
const
QuantificationMethodSp
&quantification_method,
103
const
pappso
::
XicCoordSPtr
&best_xic_coord,
104
std::uint8_t charge,
105
double
best_rt) final;
106
107
virtual
void
108
generateMeasurementsForIsotopeList
(
PeptideBase
&peptide_base,
109
const
PeptideLabel
*label_p,
110
const
QuantificationMethodSp
&quantification_method,
111
std::uint8_t charge,
112
double
isotope_minimum_ratio,
113
const
pappso
::
XicCoordSPtr
&best_xic_coord,
114
double
best_rt) final;
115
116
protected:
117
std::vector<
Measurement
>
m_measurementList
;
118
};
119
}
// namespace pappso::masschroq
pappso::masschroq::PeptideBase
Definition
peptidebase.h:40
pappso::masschroq::PeptideLabel
Definition
peptidelabel.h:40
pappso::masschroq::PeptideMeasurementsBase::m_measurementList
std::vector< Measurement > m_measurementList
Definition
peptidemeasurementsbase.h:117
pappso::masschroq::PeptideMeasurementsBase::getMeasurementList
virtual const std::vector< Measurement > & getMeasurementList() const
Definition
peptidemeasurementsbase.cpp:50
pappso::masschroq::PeptideMeasurementsBase::detectQuantifyPeaks
virtual void detectQuantifyPeaks(const QuantificationMethodSp &quantification_method)=0
pappso::masschroq::PeptideMeasurementsBase::pushBackXicCoordList
virtual void pushBackXicCoordList(std::vector< pappso::XicCoordSPtr > &xic_coord_list) const final
Definition
peptidemeasurementsbase.cpp:175
pappso::masschroq::PeptideMeasurementsBase::generateMeasurementsForIsotopeList
virtual void generateMeasurementsForIsotopeList(PeptideBase &peptide_base, const PeptideLabel *label_p, const QuantificationMethodSp &quantification_method, std::uint8_t charge, double isotope_minimum_ratio, const pappso::XicCoordSPtr &best_xic_coord, double best_rt) final
Definition
peptidemeasurementsbase.cpp:56
pappso::masschroq::PeptideMeasurementsBase::PeptideMeasurementsBase
PeptideMeasurementsBase()
Definition
peptidemeasurementsbase.cpp:34
pappso::masschroq::PeptideMeasurementsBase::clear
virtual void clear() final
clear the measurement vector
Definition
peptidemeasurementsbase.cpp:199
pappso::masschroq::PeptideMeasurementsBase::flushXics
virtual void flushXics() final
Definition
peptidemeasurementsbase.cpp:189
pappso::masschroq::PeptideMeasurementsBase::prepareMeasurementsForPeptide
virtual void prepareMeasurementsForPeptide(Peptide &the_peptide, const QuantificationMethodSp &quantification_method, const pappso::XicCoordSPtr &best_xic_coord, std::uint8_t charge, double best_rt) final
Definition
peptidemeasurementsbase.cpp:89
pappso::masschroq::PeptideMeasurementsBase::~PeptideMeasurementsBase
virtual ~PeptideMeasurementsBase()
Definition
peptidemeasurementsbase.cpp:38
pappso::masschroq::Peptide
Definition
peptide.h:58
types.h
pappso::masschroq
Definition
alignmentmethod.h:38
pappso::masschroq::QuantificationMethodSp
std::shared_ptr< QuantificationMethod > QuantificationMethodSp
Definition
quantificationmethod.h:46
pappso::masschroq::PeakQualityCategory
PeakQualityCategory
Definition
types.h:42
pappso::masschroq::PeakQualityCategory::nomatch
@ nomatch
Definition
types.h:43
pappso
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
Definition
aa.cpp:39
pappso::PeptideNaturalIsotopeAverageSp
std::shared_ptr< const PeptideNaturalIsotopeAverage > PeptideNaturalIsotopeAverageSp
Definition
peptidenaturalisotopeaverage.h:40
pappso::TracePeakCstSPtr
std::shared_ptr< const TracePeak > TracePeakCstSPtr
Definition
tracepeak.h:35
pappso::XicCoordSPtr
std::shared_ptr< XicCoord > XicCoordSPtr
Definition
xiccoord.h:44
peptidebase.h
peptidenaturalisotopelist.h
quantificationmethod.h
pappso::masschroq::PeptideMeasurementsBase::Measurement
Definition
peptidemeasurementsbase.h:74
pappso::masschroq::PeptideMeasurementsBase::Measurement::m_charge
std::uint8_t m_charge
Definition
peptidemeasurementsbase.h:75
pappso::masschroq::PeptideMeasurementsBase::Measurement::m_tracePeakSp
pappso::TracePeakCstSPtr m_tracePeakSp
Definition
peptidemeasurementsbase.h:79
pappso::masschroq::PeptideMeasurementsBase::Measurement::m_peptideNaturalIsotopeAverageSp
pappso::PeptideNaturalIsotopeAverageSp m_peptideNaturalIsotopeAverageSp
Definition
peptidemeasurementsbase.h:80
pappso::masschroq::PeptideMeasurementsBase::Measurement::msp_xicCoord
pappso::XicCoordSPtr msp_xicCoord
Definition
peptidemeasurementsbase.h:76
pappso::masschroq::PeptideMeasurementsBase::Measurement::m_peakQualityCategory
PeakQualityCategory m_peakQualityCategory
Definition
peptidemeasurementsbase.h:77
pappso::masschroq::PeptideMeasurementsBase::Measurement::mp_peptideLabel
const PeptideLabel * mp_peptideLabel
Definition
peptidemeasurementsbase.h:78
tracepeak.h
xiccoord.h
pappsomspp
core
masschroq
peptidemeasurementsbase.h
Generated on
for libpappsomspp by
1.17.0