OpenMS
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 
16 namespace OpenMS
17 {
21  class OPENMS_DLLAPI PeakFileOptions
22  {
23 public:
32 
34 
35  void setMetadataOnly(bool only);
38  bool getMetadataOnly() const;
39 
41  void setForceMQCompatability(bool forceMQ);
44 
46  void setForceTPPCompatability(bool forceTPP);
50 
52 
53  void setWriteSupplementalData(bool write);
58 
60 
61  void setRTRange(const DRange<1> & range);
64  bool hasRTRange() const;
66  const DRange<1> & getRTRange() const;
68 
70 
71  void setMZRange(const DRange<1> & range);
74  bool hasMZRange() const;
76  const DRange<1> & getMZRange() const;
78 
80 
81  void setIntensityRange(const DRange<1> & range);
84  bool hasIntensityRange() const;
86  const DRange<1> & getIntensityRange() const;
88 
98  void setMSLevels(const std::vector<Int> & levels);
100  void addMSLevel(int level);
104  bool hasMSLevels() const;
106  bool containsMSLevel(int level) const;
108  const std::vector<Int> & getMSLevels() const;
110 
117  //Sets if data should be compressed when writing
118  void setCompression(bool compress);
120  bool getCompression() const;
122 
125  void setAlwaysAppendData(bool only);
127  bool getAlwaysAppendData() const;
129  void setFillData(bool only);
131  bool getFillData() const;
133  void setSkipXMLChecks(bool only);
135  bool getSkipXMLChecks() const;
136 
139  void setSortSpectraByMZ(bool sort);
141  bool getSortSpectraByMZ() const;
143  void setSortChromatogramsByRT(bool sort);
146 
156  //Sets if mz-data and rt-data should be stored with 32bit or 64bit precision
157  void setMz32Bit(bool mz_32_bit);
158  //returns @c true, if mz-data and rt-data should be stored with 32bit precision
159  bool getMz32Bit() const;
160  //Sets if intensity data should be stored with 32bit or 64bit precision
161  void setIntensity32Bit(bool int_32_bit);
162  //returns @c true, if intensity data should be stored with 32bit precision
163  bool getIntensity32Bit() const;
165 
167  bool getWriteIndex() const;
169  void setWriteIndex(bool write_index);
170 
183 
199 
202 
204  void setPrecursorMZSelectedIon(bool choice);
205 
207  bool hasFilters() const;
208 
209  void setSkipChromatograms(bool skip);
210  bool getSkipChromatograms() const;
211 
212 private:
213  bool metadata_only_ = false;
214  bool force_maxquant_compatibility_ = false;
215  bool force_tpp_compatibility_ = false;
216  bool write_supplemental_data_ = true;
217  bool has_rt_range_ = false;
218  bool has_mz_range_ = false;
219  bool has_intensity_range_ = false;
220  bool mz_32_bit_ = false;
221  bool int_32_bit_ = true;
222  DRange<1> rt_range_{};
223  DRange<1> mz_range_{};
224  DRange<1> intensity_range_{};
225  std::vector<Int> ms_levels_{};
226  bool zlib_compression_ = false;
227  bool always_append_data_ = false;
228  bool skip_xml_checks_ = false;
229  bool sort_spectra_by_mz_ = true;
230  bool sort_chromatograms_by_rt_ = true;
231  bool fill_data_ = true;
232  bool write_index_ = true;
236  Size maximal_data_pool_size_ = 100;
237  bool precursor_mz_selected_ion_ = true;
238  bool skip_chromatograms_ = false;
239  };
240 
241 } // namespace OpenMS
242 
Options for loading files containing peak data.
Definition: PeakFileOptions.h:22
const DRange< 1 > & getMZRange() const
returns the MZ range
const DRange< 1 > & getIntensityRange() const
returns the intensity range
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 containsMSLevel(int level) const
returns true, if MS level level has been set
bool getIntensity32Bit() const
MSNumpressCoder::NumpressConfig getNumpressConfigurationFloatDataArray() const
Set numpress configuration options for float data arrays.
PeakFileOptions(const PeakFileOptions &)
Copy constructor.
bool getAlwaysAppendData() const
returns whether or not to always append the data to the given map (even if a consumer is given)
bool getFillData() const
returns whether to fill the actual data into the container (spectrum/chromatogram)
Size getMaxDataPoolSize() const
Get maximal size of the data pool.
bool getMetadataOnly() const
returns whether or not to load only meta data
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?
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)
const std::vector< Int > & getMSLevels() const
returns the set MS levels
bool hasIntensityRange() const
returns true if an intensity range has been set
PeakFileOptions & operator=(const PeakFileOptions &)=default
Copy assignment.
void setNumpressConfigurationFloatDataArray(MSNumpressCoder::NumpressConfig config)
Get numpress configuration options for float data arrays.
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
bool getSortChromatogramsByRT() const
gets whether or not peaks in chromatograms should be sorted
void setSortSpectraByMZ(bool sort)
void setSkipXMLChecks(bool only)
sets whether to skip some XML checks and be fast instead
~PeakFileOptions()
Destructor.
const DRange< 1 > & getRTRange() const
returns the RT range
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 setForceTPPCompatability(bool forceTPP)
[mzML only!] Whether to skip writing the <isolationWindow> tag so that TPP finds the correct precurso...
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