OpenMS
PeakFileOptions.h
Go to the documentation of this file.
1 // --------------------------------------------------------------------------
2 // OpenMS -- Open-Source Mass Spectrometry
3 // --------------------------------------------------------------------------
4 // Copyright The OpenMS Team -- Eberhard Karls University Tuebingen,
5 // ETH Zurich, and Freie Universitaet Berlin 2002-2023.
6 //
7 // This software is released under a three-clause BSD license:
8 // * Redistributions of source code must retain the above copyright
9 // notice, this list of conditions and the following disclaimer.
10 // * Redistributions in binary form must reproduce the above copyright
11 // notice, this list of conditions and the following disclaimer in the
12 // documentation and/or other materials provided with the distribution.
13 // * Neither the name of any author or any participating institution
14 // may be used to endorse or promote products derived from this software
15 // without specific prior written permission.
16 // For a full list of authors, refer to the file AUTHORS.
17 // --------------------------------------------------------------------------
18 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 // ARE DISCLAIMED. IN NO EVENT SHALL ANY OF THE AUTHORS OR THE CONTRIBUTING
22 // INSTITUTIONS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
23 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
25 // OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
26 // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
27 // OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
28 // ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 //
30 // --------------------------------------------------------------------------
31 // $Maintainer: Timo Sachsenberg $
32 // $Authors: Marc Sturm $
33 // --------------------------------------------------------------------------
34 
35 #pragma once
36 
39 
40 #include <vector>
41 
42 namespace OpenMS
43 {
47  class OPENMS_DLLAPI PeakFileOptions
48  {
49 public:
58 
60 
61  void setMetadataOnly(bool only);
64  bool getMetadataOnly() const;
65 
67  void setForceMQCompatability(bool forceMQ);
70 
72  void setForceTPPCompatability(bool forceTPP);
76 
78 
79  void setWriteSupplementalData(bool write);
84 
86 
87  void setRTRange(const DRange<1> & range);
90  bool hasRTRange() const;
92  const DRange<1> & getRTRange() const;
94 
96 
97  void setMZRange(const DRange<1> & range);
100  bool hasMZRange() const;
102  const DRange<1> & getMZRange() const;
104 
106 
107  void setIntensityRange(const DRange<1> & range);
110  bool hasIntensityRange() const;
112  const DRange<1> & getIntensityRange() const;
114 
124  void setMSLevels(const std::vector<Int> & levels);
126  void addMSLevel(int level);
130  bool hasMSLevels() const;
132  bool containsMSLevel(int level) const;
134  const std::vector<Int> & getMSLevels() const;
136 
143  //Sets if data should be compressed when writing
144  void setCompression(bool compress);
146  bool getCompression() const;
148 
151  void setAlwaysAppendData(bool only);
153  bool getAlwaysAppendData() const;
155  void setFillData(bool only);
157  bool getFillData() const;
159  void setSkipXMLChecks(bool only);
161  bool getSkipXMLChecks() const;
162 
165  void setSortSpectraByMZ(bool sort);
167  bool getSortSpectraByMZ() const;
169  void setSortChromatogramsByRT(bool sort);
172 
182  //Sets if mz-data and rt-data should be stored with 32bit or 64bit precision
183  void setMz32Bit(bool mz_32_bit);
184  //returns @c true, if mz-data and rt-data should be stored with 32bit precision
185  bool getMz32Bit() const;
186  //Sets if intensity data should be stored with 32bit or 64bit precision
187  void setIntensity32Bit(bool int_32_bit);
188  //returns @c true, if intensity data should be stored with 32bit precision
189  bool getIntensity32Bit() const;
191 
193  bool getWriteIndex() const;
195  void setWriteIndex(bool write_index);
196 
209 
225 
228 
230  void setPrecursorMZSelectedIon(bool choice);
231 
233  bool hasFilters() const;
234 
235 private:
248  std::vector<Int> ms_levels_;
261  };
262 
263 } // namespace OpenMS
264 
Options for loading files containing peak data.
Definition: PeakFileOptions.h:48
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 fill_data_
Definition: PeakFileOptions.h:254
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.
bool zlib_compression_
Definition: PeakFileOptions.h:249
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 int_32_bit_
Definition: PeakFileOptions.h:244
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 write_index_
Definition: PeakFileOptions.h:255
bool hasMZRange() const
returns true if an MZ range has been set
bool has_intensity_range_
Definition: PeakFileOptions.h:242
void setSortChromatogramsByRT(bool sort)
sets whether or not to sort peaks in chromatograms
MSNumpressCoder::NumpressConfig getNumpressConfigurationIntensity() const
Set numpress configuration options for intensity dimension.
MSNumpressCoder::NumpressConfig getNumpressConfigurationMassTime() const
Set numpress configuration options for m/z or rt dimension.
std::vector< Int > ms_levels_
Definition: PeakFileOptions.h:248
bool hasMSLevels() const
returns true, if MS levels have been set
bool metadata_only_
Definition: PeakFileOptions.h:236
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 mz_32_bit_
Definition: PeakFileOptions.h:243
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...
MSNumpressCoder::NumpressConfig np_config_int_
Definition: PeakFileOptions.h:257
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
MSNumpressCoder::NumpressConfig np_config_mz_
Definition: PeakFileOptions.h:256
void setIntensity32Bit(bool int_32_bit)
bool sort_spectra_by_mz_
Definition: PeakFileOptions.h:252
void setNumpressConfigurationMassTime(MSNumpressCoder::NumpressConfig config)
Get numpress configuration options for m/z or rt dimension.
bool always_append_data_
Definition: PeakFileOptions.h:250
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.
DRange< 1 > mz_range_
Definition: PeakFileOptions.h:246
bool sort_chromatograms_by_rt_
Definition: PeakFileOptions.h:253
DRange< 1 > rt_range_
Definition: PeakFileOptions.h:245
void setNumpressConfigurationFloatDataArray(MSNumpressCoder::NumpressConfig config)
Get numpress configuration options for float data arrays.
bool write_supplemental_data_
Definition: PeakFileOptions.h:239
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 precursor_mz_selected_ion_
Definition: PeakFileOptions.h:260
bool getSortChromatogramsByRT() const
gets whether or not peaks in chromatograms should be sorted
MSNumpressCoder::NumpressConfig np_config_fda_
Definition: PeakFileOptions.h:258
void setSortSpectraByMZ(bool sort)
void setSkipXMLChecks(bool only)
sets whether to skip some XML checks and be fast instead
~PeakFileOptions()
Destructor.
bool has_rt_range_
Definition: PeakFileOptions.h:240
bool force_tpp_compatibility_
for mzML-writing only: work around some bugs in TPP file parsers
Definition: PeakFileOptions.h:238
Size maximal_data_pool_size_
Definition: PeakFileOptions.h:259
const DRange< 1 > & getRTRange() const
returns the RT range
bool getSkipXMLChecks() const
returns whether to skip some XML checks and be fast instead
DRange< 1 > intensity_range_
Definition: PeakFileOptions.h:247
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...
bool skip_xml_checks_
Definition: PeakFileOptions.h:251
bool force_maxquant_compatibility_
for mzXML-writing only: set a fixed vendor (Thermo Scientific), mass analyzer (FTMS)
Definition: PeakFileOptions.h:237
void setAlwaysAppendData(bool only)
bool getForceTPPCompatability() const
[mzML only!] Whether to skip writing the <isolationWindow> tag so that TPP finds the correct precurso...
bool has_mz_range_
Definition: PeakFileOptions.h:241
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:127
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:48
Configuration class for MSNumpress.
Definition: MSNumpressCoder.h:89