libpappsomspp
Library for mass spectrometry
Loading...
Searching...
No Matches
timsmsrunreader.h
Go to the documentation of this file.
1/**
2 * \file pappsomspp/msrun/private/timsmsrunreader.h
3 * \date 05/09/2019
4 * \author Olivier Langella
5 * \brief MSrun file reader for native Bruker TimsTOF raw data
6 */
7
8/*******************************************************************************
9 * Copyright (c) 2019 Olivier Langella <Olivier.Langella@u-psud.fr>.
10 *
11 * This file is part of the PAPPSOms++ library.
12 *
13 * PAPPSOms++ is free software: you can redistribute it and/or modify
14 * it under the terms of the GNU General Public License as published by
15 * the Free Software Foundation, either version 3 of the License, or
16 * (at your option) any later version.
17 *
18 * PAPPSOms++ is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU General Public License for more details.
22 *
23 * You should have received a copy of the GNU General Public License
24 * along with PAPPSOms++. If not, see <http://www.gnu.org/licenses/>.
25 *
26 ******************************************************************************/
27
28
29#pragma once
30
31#include "../../msfile/msfileaccessor.h"
32#include "../../vendors/tims/timsdata.h"
33
34namespace pappso
35{
36
38{
39 friend class MsFileAccessor;
40 /**
41 * @todo write docs
42 */
43 public:
44 TimsMsRunReader(MsRunIdCstSPtr &msrun_id_csp);
45 virtual ~TimsMsRunReader();
46
47 virtual MassSpectrumSPtr
48 massSpectrumSPtr(std::size_t spectrum_index) override;
50 massSpectrumCstSPtr(std::size_t spectrum_index) override;
51
53 qualifiedMassSpectrum(std::size_t spectrum_index,
54 bool want_binary_data = true) const override;
55
56 virtual void
57 readSpectrumCollection(SpectrumCollectionHandlerInterface &handler) override;
58
59 virtual void
60 readSpectrumCollection2(const MsRunReadConfig &config,
61 SpectrumCollectionHandlerInterface &handler) override;
62 virtual void
63 readSpectrumCollectionByMsLevel(SpectrumCollectionHandlerInterface &handler,
64 unsigned int ms_level) override;
65
66
67 virtual pappso::XicCoordSPtr newXicCoordSPtrFromSpectrumIndex(
68 std::size_t spectrum_index, pappso::PrecisionPtr precision) const override;
69
70 virtual pappso::XicCoordSPtr newXicCoordSPtrFromQualifiedMassSpectrum(
71 const pappso::QualifiedMassSpectrum &mass_spectrum,
72 pappso::PrecisionPtr precision) const override;
73
74
75 virtual std::size_t spectrumListSize() const override;
76
77 virtual bool hasScanNumbers() const override;
78
79 virtual bool releaseDevice() override;
80
81 virtual bool acquireDevice() override;
82
83
84 /** @brief give an access to the underlying raw data pointer
85 */
86 virtual TimsDataSp getTimsDataSPtr();
87
88 virtual Trace getTicChromatogram() override;
89
90
91 protected:
92 virtual void initialize() override;
93 virtual bool accept(const QString &file_name) const override;
94
95
96 private:
97 TimsDataSp msp_timsData = nullptr;
98};
99
100} // namespace pappso
base class to read MSrun the only way to build a MsRunReader object is to use the MsRunReaderFactory
Definition msrunreader.h:63
Class representing a fully specified mass spectrum.
interface to collect spectrums from the MsRunReader class
A simple container of DataPoint instances.
Definition trace.h:148
#define PMSPP_LIB_DECL
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
Definition aa.cpp:39
std::shared_ptr< const MsRunId > MsRunIdCstSPtr
Definition msrunid.h:46
std::shared_ptr< TimsData > TimsDataSp
shared pointer on a TimsData object
Definition timsdata.h:50
std::shared_ptr< const MassSpectrum > MassSpectrumCstSPtr
std::shared_ptr< MassSpectrum > MassSpectrumSPtr
std::shared_ptr< XicCoord > XicCoordSPtr
Definition xiccoord.h:43