libpappsomspp
Library for mass spectrometry
Loading...
Searching...
No Matches
timsframesmsrunreader.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
37// This class is aimed at processing the frames in a Bruker timsTOF data set. In
38// this processing of the data, we skip the ion mobility scans altogether. One
39// main aim of this processing is to compute the TIC chromatogram from the
40// binary data file and not using the TIC chromatogram that is stored in the DB
41// file.
42
44{
45 friend class MsFileAccessor;
46 /**
47 * @todo write docs
48 */
49 public:
51 virtual ~TimsFramesMsRunReader();
52
53 virtual MassSpectrumSPtr
54 massSpectrumSPtr(std::size_t spectrum_index) override;
56 massSpectrumCstSPtr(std::size_t spectrum_index) override;
57
59 qualifiedMassSpectrum(std::size_t spectrum_index,
60 bool want_binary_data = true) const override;
61
62 virtual void
63 readSpectrumCollection(SpectrumCollectionHandlerInterface &handler) override;
64
65 virtual void
66 readSpectrumCollection2(const MsRunReadConfig &config,
67 SpectrumCollectionHandlerInterface &handler) override;
68 virtual void
69 readSpectrumCollectionByMsLevel(SpectrumCollectionHandlerInterface &handler,
70 unsigned int ms_level) override;
71
72
73 virtual pappso::XicCoordSPtr newXicCoordSPtrFromSpectrumIndex(
74 std::size_t spectrum_index, pappso::PrecisionPtr precision) const override;
75
76 virtual pappso::XicCoordSPtr newXicCoordSPtrFromQualifiedMassSpectrum(
77 const pappso::QualifiedMassSpectrum &mass_spectrum,
78 pappso::PrecisionPtr precision) const override;
79
80
81 virtual std::size_t spectrumListSize() const override;
82
83 virtual bool hasScanNumbers() const override;
84
85 virtual bool releaseDevice() override;
86
87 virtual bool acquireDevice() override;
88
89
90 /** @brief give an access to the underlying raw data pointer
91 */
92 virtual TimsDataSp getTimsDataSPtr();
93
94 virtual Trace getTicChromatogram() override;
95 virtual Trace computeTicChromatogram();
96
97
98 protected:
99 virtual void initialize() override;
100 virtual bool accept(const QString &file_name) const override;
101
102 private:
103 TimsDataSp msp_timsData = nullptr;
104};
105
106} // 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