libpappsomspp
Library for mass spectrometry
Loading...
Searching...
No Matches
peptideobservation.h
Go to the documentation of this file.
1/**
2 * \file pappsomspp/masschroq/peptideobservation.h
3 * \date 24/09/2024
4 * \author Olivier Langella
5 * \brief peptide model in masschroqlite
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
32#include "precursor.h"
33#include "peptide.h"
34#include <cstdint>
35
36
37namespace pappso::masschroq
38{
39
41
42typedef std::shared_ptr<PeptideObservation> PeptideObservationSp;
43
44/**
45 * @todo group together one Peptide and observations on this peptide
46 */
48{
49 public:
50 /**
51 * Default constructor
52 */
54
55 /**
56 * Copy constructor
57 *
58 * @param other TODO
59 */
61
62 /**
63 * Destructor
64 */
65 virtual ~PeptideObservation();
66
67 const PeptideSp &getPeptideSp() const;
68
70 {
71 /// The MS scan_number(mzxml) it has been observed in
72 std::size_t m_scanNumber = 0;
73 /// The charge it has been observed in
74 std::uint8_t m_charge = 0;
75
77
78 bool m_isSpectrumIndex = true;
79
81 };
82
83 void addObservation(const PeptideObservation::Observation &observation);
84
85 std::vector<std::uint8_t> getObservedChargeStates() const;
86
87 double getBestRtOverallChargeStates() const;
88
89 std::vector<double> getObservedRetentionTimesOverallChargeStates() const;
90
91 pappso::XicCoordSPtr getBestXicCoordSPtrForCharge(std::uint8_t charge) const;
92
94
95 const std::vector<Observation> &getObservationList() const;
96
97 private:
99 std::vector<Observation> m_observationList;
100};
101} // namespace pappso::masschroq
const std::vector< Observation > & getObservationList() const
pappso::XicCoordSPtr getBestXicCoord() const
std::vector< double > getObservedRetentionTimesOverallChargeStates() const
void addObservation(const PeptideObservation::Observation &observation)
std::vector< std::uint8_t > getObservedChargeStates() const
std::vector< Observation > m_observationList
pappso::XicCoordSPtr getBestXicCoordSPtrForCharge(std::uint8_t charge) const
std::shared_ptr< Peptide > PeptideSp
Definition peptide.h:46
std::shared_ptr< Precursor > PrecursorSp
Definition precursor.h:39
std::shared_ptr< PeptideObservation > PeptideObservationSp
std::shared_ptr< XicCoord > XicCoordSPtr
Definition xiccoord.h:44
std::uint8_t m_charge
The charge it has been observed in.
std::size_t m_scanNumber
The MS scan_number(mzxml) it has been observed in.