OpenMS
Loading...
Searching...
No Matches
PeakFileOptions.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: Timo Sachsenberg $
6// $Authors: Marc Sturm $
7// --------------------------------------------------------------------------
8
9#pragma once
10
13
14#include <vector>
15
16namespace OpenMS
17{
21 class OPENMS_DLLAPI PeakFileOptions
22 {
23public:
32
34
35
36 void setMetadataOnly(bool only);
38 bool getMetadataOnly() const;
39
41 void setForceMQCompatability(bool forceMQ);
44
46 void setForceTPPCompatability(bool forceTPP);
50
52
53
54 void setWriteSupplementalData(bool write);
58
60
61
62 void setRTRange(const DRange<1> & range);
64 bool hasRTRange() const;
66 const DRange<1> & getRTRange() const;
68
70
71
72 void setMZRange(const DRange<1> & range);
74 bool hasMZRange() const;
76 const DRange<1> & getMZRange() const;
78
80
81
82 void setIntensityRange(const DRange<1> & range);
84 bool hasIntensityRange() const;
88
90
91
92 void setPrecursorMZRange(const DRange<1> & range);
94 bool hasPrecursorMZRange() const;
98
100
101
109 void setIMRange(const DRange<1> & range);
111 bool hasIMRange() const;
113 const DRange<1> & getIMRange() const;
115
125 void setMSLevels(const std::vector<Int> & levels);
127 void addMSLevel(int level);
131 bool hasMSLevels() const;
133 bool containsMSLevel(int level) const;
135 const std::vector<Int> & getMSLevels() const;
137
144 //Sets if data should be compressed when writing
145 void setCompression(bool compress);
147 bool getCompression() const;
148
159 void setZstdCompression(bool zstd);
161 bool getZstdCompression() const;
163
166 void setAlwaysAppendData(bool only);
170 void setFillData(bool only);
172 bool getFillData() const;
174 void setSkipXMLChecks(bool only);
176 bool getSkipXMLChecks() const;
177
180 void setSortSpectraByMZ(bool sort);
182 bool getSortSpectraByMZ() const;
187
197 //Sets if mz-data and rt-data should be stored with 32bit or 64bit precision
198 void setMz32Bit(bool mz_32_bit);
199 //returns @c true, if mz-data and rt-data should be stored with 32bit precision
200 bool getMz32Bit() const;
201 //Sets if intensity data should be stored with 32bit or 64bit precision
202 void setIntensity32Bit(bool int_32_bit);
203 //returns @c true, if intensity data should be stored with 32bit precision
204 bool getIntensity32Bit() const;
206
208 bool getWriteIndex() const;
210 void setWriteIndex(bool write_index);
211
224
240
243
245 void setPrecursorMZSelectedIon(bool choice);
246
248 bool hasFilters() const;
249
250 void setSkipChromatograms(bool skip);
252
253private:
254 bool metadata_only_ = false;
255 bool force_maxquant_compatibility_ = false;
256 bool force_tpp_compatibility_ = false;
257 bool write_supplemental_data_ = true;
258 bool has_rt_range_ = false;
259 bool has_mz_range_ = false;
260 bool has_intensity_range_ = false;
261 bool has_precursor_mz_range_ = false;
262 bool has_im_range_ = false;
263 bool mz_32_bit_ = false;
264 bool int_32_bit_ = true;
265 DRange<1> rt_range_{};
266 DRange<1> mz_range_{};
267 DRange<1> intensity_range_{};
268 DRange<1> precursor_mz_range_{};
269 DRange<1> im_range_{};
270 std::vector<Int> ms_levels_{};
271 bool zlib_compression_ = false;
272 bool zstd_compression_ = false;
273 bool always_append_data_ = false;
274 bool skip_xml_checks_ = false;
275 bool sort_spectra_by_mz_ = true;
276 bool sort_chromatograms_by_rt_ = true;
277 bool fill_data_ = true;
278 bool write_index_ = true;
282 Size maximal_data_pool_size_ = 100;
283 bool precursor_mz_selected_ion_ = true;
284 bool skip_chromatograms_ = false;
285 };
286
287} // namespace OpenMS
288
A D-dimensional half-open interval.
Definition DRange.h:39
Options for loading files containing peak data.
Definition PeakFileOptions.h:22
void setNumpressConfigurationIntensity(MSNumpressCoder::NumpressConfig config)
Get numpress configuration options for intensity dimension.
bool getWriteSupplementalData() const
returns whether or not to write supplemental peak data in MzData files
bool hasRTRange() const
returns true if an RT range has been set
bool getZstdCompression() const
returns true, if binary data should be compressed with Zstandard (zstd) when writing
const std::vector< Int > & getMSLevels() const
returns the set MS levels
bool containsMSLevel(int level) const
returns true, if MS level level has been set
bool getIntensity32Bit() const
const DRange< 1 > & getIntensityRange() const
returns the intensity range
MSNumpressCoder::NumpressConfig getNumpressConfigurationFloatDataArray() const
Set numpress configuration options for float data arrays.
PeakFileOptions(const PeakFileOptions &)
Copy constructor.
bool hasIMRange() const
returns true if an ion mobility range has been set
bool getAlwaysAppendData() const
returns whether or not to always append the data to the given map (even if a consumer is given)
void setRTRange(const DRange< 1 > &range)
restricts the range of RT values for peaks to load
bool getFillData() const
returns whether to fill the actual data into the container (spectrum/chromatogram) or leave container...
Size getMaxDataPoolSize() const
Get maximal size of the data pool.
bool getMetadataOnly() const
returns whether or not to load only meta data
void setPrecursorMZRange(const DRange< 1 > &range)
restricts the range of precursor m/z values for MS2+ spectra to load
void setPrecursorMZSelectedIon(bool choice)
[mzML only!] Set whether to use the "selected ion m/z" value as the precursor m/z value (alternative:...
bool getCompression() const
returns true, if data should be compressed when writing
void setCompression(bool compress)
bool hasFilters() const
do these options skip spectra or chromatograms due to RT or MSLevel filters?
const DRange< 1 > & getPrecursorMZRange() const
returns the precursor m/z range
PeakFileOptions & operator=(const PeakFileOptions &)=default
Copy assignment.
bool hasMZRange() const
returns true if an MZ range has been set
void setSortChromatogramsByRT(bool sort)
sets whether or not to sort peaks in chromatograms
MSNumpressCoder::NumpressConfig getNumpressConfigurationIntensity() const
Set numpress configuration options for intensity dimension.
void setSkipChromatograms(bool skip)
MSNumpressCoder::NumpressConfig getNumpressConfigurationMassTime() const
Set numpress configuration options for m/z or rt dimension.
bool hasMSLevels() const
returns true, if MS levels have been set
bool getWriteIndex() const
Whether to write an index at the end of the file (e.g. indexedmzML file format)
void setWriteIndex(bool write_index)
Whether to write an index at the end of the file (e.g. indexedmzML file format)
bool getForceMQCompatability() const
[mzXML only!] Whether to write a scan-index and meta data to indicate a Thermo FTMS/ITMS instrument (...
bool getPrecursorMZSelectedIon() const
[mzML only!] Whether to use the "selected ion m/z" value as the precursor m/z value (alternative: use...
void setMSLevels(const std::vector< Int > &levels)
sets the desired MS levels for peaks to load
void setFillData(bool only)
sets whether to fill the actual data into the container (spectrum/chromatogram)
void addMSLevel(int level)
adds a desired MS level for peaks to load
void setIntensity32Bit(bool int_32_bit)
void setNumpressConfigurationMassTime(MSNumpressCoder::NumpressConfig config)
Get numpress configuration options for m/z or rt dimension.
void setMz32Bit(bool mz_32_bit)
bool hasIntensityRange() const
returns true if an intensity range has been set
const DRange< 1 > & getIMRange() const
returns the ion mobility range
const DRange< 1 > & getMZRange() const
returns the MZ range
const DRange< 1 > & getRTRange() const
returns the RT range
void setNumpressConfigurationFloatDataArray(MSNumpressCoder::NumpressConfig config)
Get numpress configuration options for float data arrays.
void setWriteSupplementalData(bool write)
sets whether or not to write supplemental peak data in MzData files
void clearMSLevels()
clears the MS levels
PeakFileOptions()
Default constructor.
void setForceMQCompatability(bool forceMQ)
[mzXML only!] Whether to write a scan-index and meta data to indicate a Thermo FTMS/ITMS instrument (...
bool getSkipChromatograms() const
void setMetadataOnly(bool only)
sets whether or not to load only meta data
bool getSortChromatogramsByRT() const
gets whether or not peaks in chromatograms should be sorted
void setIntensityRange(const DRange< 1 > &range)
restricts the range of intensity values for peaks to load
void setSortSpectraByMZ(bool sort)
void setSkipXMLChecks(bool only)
sets whether to skip some XML checks and be fast instead
void setMZRange(const DRange< 1 > &range)
restricts the range of MZ values for peaks to load
~PeakFileOptions()
Destructor.
bool getSkipXMLChecks() const
returns whether to skip some XML checks and be fast instead
void setMaxDataPoolSize(Size size)
Set maximal size of the data pool.
void setZstdCompression(bool zstd)
[mzML only!] Sets whether binary data should be compressed with Zstandard (zstd) instead of zlib when...
void setForceTPPCompatability(bool forceTPP)
[mzML only!] Whether to skip writing the <isolationWindow> tag so that TPP finds the correct precurso...
bool hasPrecursorMZRange() const
returns true if a precursor m/z range has been set
void setIMRange(const DRange< 1 > &range)
Restricts the ion mobility of the data to load, in the unit of the data (e.g. 1/K0 in V·s/cm² for Bru...
void setAlwaysAppendData(bool only)
bool getForceTPPCompatability() const
[mzML only!] Whether to skip writing the <isolationWindow> tag so that TPP finds the correct precurso...
bool getSortSpectraByMZ() const
gets whether or not peaks in spectra should be sorted
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
Configuration class for MSNumpress.
Definition MSNumpressCoder.h:63