libpappsomspp
Library for mass spectrometry
Loading...
Searching...
No Matches
timsmsrunreaderms2.h
Go to the documentation of this file.
1/**
2 * \file pappsomspp/msrun/private/timsmsrunreaderms2.h
3 * \date 10/09/2019
4 * \author Olivier Langella
5 * \brief MSrun file reader for native Bruker TimsTOF specialized for MS2
6 * purpose
7 */
8
9/*******************************************************************************
10 * Copyright (c) 2019 Olivier Langella <Olivier.Langella@u-psud.fr>.
11 *
12 * This file is part of the PAPPSOms++ library.
13 *
14 * PAPPSOms++ 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 * PAPPSOms++ 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 PAPPSOms++. If not, see <http://www.gnu.org/licenses/>.
26 *
27 ******************************************************************************/
28
29
30#pragma once
31
32#include "../../types.h"
33#include "../../msfile/msfileaccessor.h"
34#include "../../vendors/tims/timsdata.h"
35
36#include "../../exportinmportconfig.h"
37
38namespace pappso
39{
40
42{
43 friend class MsFileAccessor;
44 /**
45 * @todo write docs
46 */
47 public:
49 virtual ~TimsMsRunReaderMs2();
50
51 virtual MassSpectrumSPtr
52 massSpectrumSPtr(std::size_t spectrum_index) override;
54 massSpectrumCstSPtr(std::size_t spectrum_index) override;
55
57 qualifiedMassSpectrum(std::size_t spectrum_index,
58 bool want_binary_data = true) const override;
59
60 virtual void
61 readSpectrumCollection(SpectrumCollectionHandlerInterface &handler) override;
62
63 virtual void
64 readSpectrumCollection2(const MsRunReadConfig &config,
65 SpectrumCollectionHandlerInterface &handler) override;
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 void
76 readSpectrumCollectionByMsLevel(SpectrumCollectionHandlerInterface &handler,
77 unsigned int ms_level) override;
78
79 virtual std::size_t spectrumListSize() const override;
80
81 virtual bool hasScanNumbers() const override;
82
83 void setMs2FilterCstSPtr(pappso::FilterInterfaceCstSPtr filter);
84 void setMs1FilterCstSPtr(pappso::FilterInterfaceCstSPtr filter);
85
86 /** @brief enable or disable simple centroid filter on raw tims data for MS2
87 */
88 void setMs2BuiltinCentroid(bool centroid);
89
90 /** @brief Get all the precursors id which match the values
91 * @return list of precursors Ids
92 */
93 virtual std::vector<std::size_t>
94 getPrecursorsIDFromMzRt(int charge, double mz_val, double rt_sec, double k0);
95
96
97 virtual bool releaseDevice() override;
98
99 virtual bool acquireDevice() override;
100
101 /** @brief give an access to the underlying raw data pointer
102 */
103 virtual TimsDataSp getTimsDataSPtr();
104
105
106 /** @brief retention timeline
107 * get retention times along the MSrun in seconds
108 * @return vector of retention times (seconds)
109 */
110 virtual std::vector<double> getRetentionTimeLine() override;
111
112 virtual Trace getTicChromatogram() override;
113
114 protected:
115 virtual void initialize() override;
116 virtual bool accept(const QString &file_name) const override;
117
118 private:
119 TimsDataSp msp_timsData = nullptr;
120
123 /** @brief enable builtin centroid on raw tims integers by default
124 */
125 bool m_builtinMs2Centroid = true;
126};
127
128
129} // 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
pappso::FilterInterfaceCstSPtr msp_ms2Filter
pappso::FilterInterfaceCstSPtr msp_ms1Filter
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< const FilterInterface > FilterInterfaceCstSPtr
std::shared_ptr< MassSpectrum > MassSpectrumSPtr
std::shared_ptr< XicCoord > XicCoordSPtr
Definition xiccoord.h:43