libpappsomspp
Library for mass spectrometry
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"
36#include "peptidebase.h"
38
39
40namespace pappso::masschroq
41{
42
43class PeptideLabel;
44class Peptide;
45/**
46 * @todo write docs
47 */
49{
50 public:
51 /**
52 * Default constructor
53 */
55
57
58 /**
59 * Destructor
60 */
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 */
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
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:
118};
119} // namespace pappso::masschroq
virtual const std::vector< Measurement > & getMeasurementList() const
virtual void detectQuantifyPeaks(const QuantificationMethodSp &quantification_method)=0
virtual void pushBackXicCoordList(std::vector< pappso::XicCoordSPtr > &xic_coord_list) const final
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
virtual void clear() final
clear the measurement vector
virtual void prepareMeasurementsForPeptide(Peptide &the_peptide, const QuantificationMethodSp &quantification_method, const pappso::XicCoordSPtr &best_xic_coord, std::uint8_t charge, double best_rt) final
std::shared_ptr< QuantificationMethod > QuantificationMethodSp
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
Definition aa.cpp:39
std::shared_ptr< const PeptideNaturalIsotopeAverage > PeptideNaturalIsotopeAverageSp
std::shared_ptr< const TracePeak > TracePeakCstSPtr
Definition tracepeak.h:35
std::shared_ptr< XicCoord > XicCoordSPtr
Definition xiccoord.h:44
pappso::PeptideNaturalIsotopeAverageSp m_peptideNaturalIsotopeAverageSp