libpappsomspp
Library for mass spectrometry
Loading...
Searching...
No Matches
msrun.h
Go to the documentation of this file.
1/**
2 * \file pappsomspp/masschroq/core/msrun.h
3 * \date 24/09/2024
4 * \author Olivier Langella
5 * \brief msrun 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 "../peptide/peptide.h"
35#include "precursor.h"
37
38
39namespace pappso::masschroq
40{
41
42class MsRun;
43
44typedef std::shared_ptr<MsRun> MsRunSp;
45/**
46 * @description group together an msrun reader object and list of precursors
47 * (MS1 peak chosen for fragmentation)
48 */
49class MsRun
50{
51 public:
52 /**
53 * Default constructor
54 */
55 MsRun(pappso::MsRunReaderSPtr msrun_reader);
56
57 /**
58 * Destructor
59 */
60 virtual ~MsRun();
61
62
65
66
67 const PrecursorSp &getPrecursorSPtrBySpectrumIndex(std::size_t spectrum_index) const;
68 const PrecursorSp &getPrecursorSPtrByScanNumber(std::size_t scan_number) const;
69
70 const std::vector<double> &getRetentionTimeLine() const;
71
72 bool hasTimsTofMobilityIndex() const;
73
74 private:
76
77 /** @brief new map dedicated to spectrum index to replace obsolete scan number
78 */
79 std::map<std::size_t, PrecursorSp> m_spectrumIndex2precursorMap;
80
82
84
85 std::vector<double> m_retentionTimeLine;
86
88};
89} // namespace pappso::masschroq
MsRun(pappso::MsRunReaderSPtr msrun_reader)
Definition msrun.cpp:35
pappso::MsRunXicExtractorInterfaceSp msp_msRunXicExtractorInterfaceSp
Definition msrun.h:81
const pappso::MsRunReaderSPtr & getMsRunReaderSPtr() const
Definition msrun.cpp:62
bool hasTimsTofMobilityIndex() const
Definition msrun.cpp:92
PrecursorParser * mpa_precursorParser
Definition msrun.h:83
const PrecursorSp & getPrecursorSPtrBySpectrumIndex(std::size_t spectrum_index) const
Definition msrun.cpp:80
std::vector< double > m_retentionTimeLine
Definition msrun.h:85
const PrecursorSp & getPrecursorSPtrByScanNumber(std::size_t scan_number) const
Definition msrun.cpp:75
bool m_hasTimsTofMobilityIndex
Definition msrun.h:87
pappso::MsRunReaderSPtr msp_msRunReader
Definition msrun.h:75
const std::vector< double > & getRetentionTimeLine() const
Definition msrun.cpp:86
std::map< std::size_t, PrecursorSp > m_spectrumIndex2precursorMap
new map dedicated to spectrum index to replace obsolete scan number
Definition msrun.h:79
std::shared_ptr< Precursor > PrecursorSp
Definition precursor.h:39
std::shared_ptr< MsRun > MsRunSp
Definition msrun.h:44
std::shared_ptr< MsRunReader > MsRunReaderSPtr
Definition msrunreader.h:57
std::shared_ptr< MsRunXicExtractorInterface > MsRunXicExtractorInterfaceSp