OpenMS
Loading...
Searching...
No Matches
MSDataWritingConsumer.h
Go to the documentation of this file.
1// Copyright (c) 2002-present, OpenMS Inc. -- EKU Tuebingen, ETH Zurich, and FU Berlin
2// SPDX-License-Identifier: BSD-3-Clause
3//
4// --------------------------------------------------------------------------
5// $Maintainer: Hannes Roest $
6// $Authors: Hannes Roest $
7// --------------------------------------------------------------------------
8
9#pragma once
10
12
15
16#include <vector>
17#include <string>
18#include <fstream>
19#include <memory>
20
21namespace OpenMS
22{
61 class OPENMS_DLLAPI MSDataWritingConsumer :
64 {
65
66 public:
70
76 explicit MSDataWritingConsumer(const String& filename);
77
80
82
83
91
102 void setExpectedSize(Size expectedSpectra, Size expectedChromatograms) override;
103
112 void consumeSpectrum(SpectrumType & s) override;
113
124
134
139
144
145 private:
146
148
149
154 virtual void processSpectrum_(SpectrumType & s) = 0;
155
163
169 virtual void doCleanup_();
170
171 protected:
172
174 std::ofstream ofs_;
175
192
195
199 std::vector<std::vector< ConstDataProcessingPtr > > dps_;
202 };
203
213 class OPENMS_DLLAPI PlainMSDataWritingConsumer :
215 {
216 void processSpectrum_(MapType::SpectrumType & /* s */) override {}
218
219 public:
220
222 };
223
231 class OPENMS_DLLAPI NoopMSDataWritingConsumer :
233 {
234 public:
235
237 void setExperimentalSettings(const ExperimentalSettings& /* exp */) override {}
238 void consumeSpectrum(SpectrumType & /* s */) override {}
239 void consumeChromatogram(ChromatogramType & /* c */) override {}
240
241 private:
242
243 void doCleanup_() override {}
244 void processSpectrum_(MapType::SpectrumType & /* s */) override {}
246 };
247
248
249} //end namespace OpenMS
250
251
Description of the applied preprocessing steps.
Definition DataProcessing.h:28
Description of the experimental settings.
Definition ExperimentalSettings.h:36
The interface of a consumer of spectra and chromatograms.
Definition IMSDataConsumer.h:46
Handler for mzML file format.
Definition MzMLHandler.h:94
Semantically validates MzXML files.
Definition MzMLValidator.h:25
The representation of a chromatogram.
Definition MSChromatogram.h:30
Consumer class that writes MS data to disk using the mzML format.
Definition MSDataWritingConsumer.h:64
virtual void processChromatogram_(ChromatogramType &c)=0
Process a chromatogram before storing to disk.
~MSDataWritingConsumer() override
Destructor.
std::ofstream ofs_
File stream (to write mzML)
Definition MSDataWritingConsumer.h:174
virtual Size getNrChromatogramsWritten()
Return the number of chromatograms written.
Size spectra_expected_
Number of spectra expected.
Definition MSDataWritingConsumer.h:187
void setExpectedSize(Size expectedSpectra, Size expectedChromatograms) override
Set expected size of spectra and chromatograms to be written.
bool writing_spectra_
Stores whether we are currently writing spectra.
Definition MSDataWritingConsumer.h:179
Size spectra_written_
Number of spectra written.
Definition MSDataWritingConsumer.h:183
virtual void addDataProcessing(DataProcessing d)
Optionally add a data processing method to each chromatogram and spectrum.
std::vector< std::vector< ConstDataProcessingPtr > > dps_
Vector of data processing objects -> will be filled by writeHeader_.
Definition MSDataWritingConsumer.h:199
bool add_dataprocessing_
Whether to add dataprocessing term to the data before writing.
Definition MSDataWritingConsumer.h:191
MSDataWritingConsumer(const String &filename)
Constructor.
MapType::ChromatogramType ChromatogramType
Definition MSDataWritingConsumer.h:69
virtual void processSpectrum_(SpectrumType &s)=0
Process a spectrum before storing to disk.
void consumeChromatogram(ChromatogramType &c) override
Consume a chromatogram.
DataProcessingPtr additional_dataprocessing_
The dataprocessing to be added to each spectrum/chromatogram.
Definition MSDataWritingConsumer.h:201
virtual void doCleanup_()
Cleanup function called by the destructor.
Size chromatograms_expected_
Number of chromatograms expected.
Definition MSDataWritingConsumer.h:189
bool writing_chromatograms_
Stores whether we are currently writing chromatograms.
Definition MSDataWritingConsumer.h:181
PeakMap MapType
Definition MSDataWritingConsumer.h:67
void setExperimentalSettings(const ExperimentalSettings &exp) override
Set experimental settings for the whole file.
void consumeSpectrum(SpectrumType &s) override
Consume a spectrum.
MapType::SpectrumType SpectrumType
Definition MSDataWritingConsumer.h:68
virtual Size getNrSpectraWritten()
Return the number of spectra written.
bool started_writing_
Stores whether we have already started writing any data.
Definition MSDataWritingConsumer.h:177
ExperimentalSettings settings_
Experimental settings to use for the whole file.
Definition MSDataWritingConsumer.h:197
Size chromatograms_written_
Number of chromatograms written.
Definition MSDataWritingConsumer.h:185
Internal::MzMLValidator * validator_
Validator that knows about CV terms.
Definition MSDataWritingConsumer.h:194
In-Memory representation of a mass spectrometry run.
Definition MSExperiment.h:49
The representation of a 1D spectrum.
Definition MSSpectrum.h:44
Consumer class that perform no operation.
Definition MSDataWritingConsumer.h:233
void consumeChromatogram(ChromatogramType &) override
Consume a chromatogram.
Definition MSDataWritingConsumer.h:239
void processChromatogram_(MapType::ChromatogramType &) override
Process a chromatogram before storing to disk.
Definition MSDataWritingConsumer.h:245
NoopMSDataWritingConsumer(String filename)
Definition MSDataWritingConsumer.h:236
void doCleanup_() override
Cleanup function called by the destructor.
Definition MSDataWritingConsumer.h:243
void setExperimentalSettings(const ExperimentalSettings &) override
Set experimental settings for the whole file.
Definition MSDataWritingConsumer.h:237
void processSpectrum_(MapType::SpectrumType &) override
Process a spectrum before storing to disk.
Definition MSDataWritingConsumer.h:244
void consumeSpectrum(SpectrumType &) override
Consume a spectrum.
Definition MSDataWritingConsumer.h:238
Consumer class that writes MS data to disk using the mzML format.
Definition MSDataWritingConsumer.h:215
void processChromatogram_(MapType::ChromatogramType &) override
Process a chromatogram before storing to disk.
Definition MSDataWritingConsumer.h:217
void processSpectrum_(MapType::SpectrumType &) override
Process a spectrum before storing to disk.
Definition MSDataWritingConsumer.h:216
PlainMSDataWritingConsumer(String filename)
Definition MSDataWritingConsumer.h:221
A more convenient string class.
Definition String.h:34
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition Types.h:97
Main OpenMS namespace.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19
std::shared_ptr< DataProcessing > DataProcessingPtr
Definition DataProcessing.h:123