OpenMS
Loading...
Searching...
No Matches
SwathFile.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
13#include <OpenMS/config.h>
17
18#include <vector>
19#include <memory>
20#include <limits>
21
22namespace OpenMS
23{
24 class ExperimentalSettings;
25
33 struct OPENMS_DLLAPI FAIMSSwathMapGroup
34 {
35 double faims_cv{std::numeric_limits<double>::quiet_NaN()};
36 std::vector<OpenSwath::SwathMap> swath_maps;
37 };
38
39 namespace Interfaces
40 {
41 class IMSDataConsumer;
42 }
43
44
57 class OPENMS_DLLAPI SwathFile :
58 public ProgressLogger
59 {
60public:
61
63 std::vector<OpenSwath::SwathMap> loadSplit(StringList file_list,
64 const std::string& tmp,
65 std::shared_ptr<ExperimentalSettings>& exp_meta,
66 const std::string& readoptions = "normal");
67
84 std::vector<OpenSwath::SwathMap> loadMzML(const std::string& file,
85 const std::string& tmp,
86 std::shared_ptr<ExperimentalSettings>& exp_meta,
87 const std::string& readoptions = "normal",
88 Interfaces::IMSDataConsumer* plugin_consumer = nullptr);
89
103 std::vector<OpenSwath::SwathMap> loadFromMSExperiment(const std::shared_ptr<PeakMap>& exp,
104 const std::string& tmp,
105 std::shared_ptr<ExperimentalSettings>& exp_meta,
106 const std::string& readoptions = "normal");
107
126 std::vector<FAIMSSwathMapGroup> loadFromMSExperimentByFAIMSCV(
127 PeakMap&& exp,
128 const std::string& tmp,
129 std::shared_ptr<ExperimentalSettings>& exp_meta,
130 const std::string& readoptions = "normal");
131
133 std::vector<OpenSwath::SwathMap> loadMzXML(const std::string& file,
134 const std::string& tmp,
135 std::shared_ptr<ExperimentalSettings>& exp_meta,
136 const std::string& readoptions = "normal");
137
139 std::vector<OpenSwath::SwathMap> loadSqMass(const std::string& file, std::shared_ptr<ExperimentalSettings>& /* exp_meta */);
140
141#ifdef WITH_OPENTIMS
151 std::vector<OpenSwath::SwathMap> loadBrukerTdf(const std::string& file,
152 const std::string& tmp,
153 std::shared_ptr<ExperimentalSettings>& exp_meta,
154 const std::string& readoptions);
155
157 std::vector<OpenSwath::SwathMap> loadBrukerTdf(const std::string& file,
158 std::shared_ptr<ExperimentalSettings>& exp_meta);
159#endif
160
161protected:
162
164 OpenSwath::SpectrumAccessPtr doCacheFile_(const std::string& in, const std::string& tmp, const std::string& tmp_fname,
165 const std::shared_ptr<PeakMap >& experiment_metadata);
166
168 std::shared_ptr< PeakMap > populateMetaData_(const std::string& file);
169
171 void countScansInSwath_(const std::vector<MSSpectrum>& exp,
172 std::vector<int>& swath_counter, int& nr_ms1_spectra,
173 std::vector<OpenSwath::SwathMap>& known_window_boundaries,
174 double TOLERANCE=1e-6);
175
176 };
177}
The interface of a consumer of spectra and chromatograms.
Definition IMSDataConsumer.h:46
In-Memory representation of a mass spectrometry run.
Definition MSExperiment.h:49
Base class for all classes that want to report their progress.
Definition ProgressLogger.h:27
File adapter for Swath files.
Definition SwathFile.h:59
std::vector< OpenSwath::SwathMap > loadSplit(StringList file_list, const std::string &tmp, std::shared_ptr< ExperimentalSettings > &exp_meta, const std::string &readoptions="normal")
Loads a Swath run from a list of split mzML files.
void countScansInSwath_(const std::vector< MSSpectrum > &exp, std::vector< int > &swath_counter, int &nr_ms1_spectra, std::vector< OpenSwath::SwathMap > &known_window_boundaries, double TOLERANCE=1e-6)
Counts the number of scans in a full Swath file (e.g. concatenated non-split file)
std::vector< OpenSwath::SwathMap > loadFromMSExperiment(const std::shared_ptr< PeakMap > &exp, const std::string &tmp, std::shared_ptr< ExperimentalSettings > &exp_meta, const std::string &readoptions="normal")
Loads a Swath run from a pre-loaded in-memory MSExperiment.
std::vector< OpenSwath::SwathMap > loadSqMass(const std::string &file, std::shared_ptr< ExperimentalSettings > &)
Loads a Swath run from a single sqMass file.
OpenSwath::SpectrumAccessPtr doCacheFile_(const std::string &in, const std::string &tmp, const std::string &tmp_fname, const std::shared_ptr< PeakMap > &experiment_metadata)
Cache a file to disk.
std::vector< OpenSwath::SwathMap > loadMzML(const std::string &file, const std::string &tmp, std::shared_ptr< ExperimentalSettings > &exp_meta, const std::string &readoptions="normal", Interfaces::IMSDataConsumer *plugin_consumer=nullptr)
Loads a Swath run from a single mzML file.
std::vector< OpenSwath::SwathMap > loadMzXML(const std::string &file, const std::string &tmp, std::shared_ptr< ExperimentalSettings > &exp_meta, const std::string &readoptions="normal")
Loads a Swath run from a single mzXML file.
std::shared_ptr< PeakMap > populateMetaData_(const std::string &file)
Only read the meta data from a file and use it to populate exp_meta.
std::vector< FAIMSSwathMapGroup > loadFromMSExperimentByFAIMSCV(PeakMap &&exp, const std::string &tmp, std::shared_ptr< ExperimentalSettings > &exp_meta, const std::string &readoptions="normal")
Partition a pre-loaded experiment once by FAIMS CV and convert each group to SWATH maps.
std::vector< std::string > StringList
Vector of String.
Definition TypeAliases.h:39
Main OpenMS namespace.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19
std::vector< OpenSwath::SwathMap > swath_maps
Definition SwathFile.h:36
One FAIMS compensation-voltage group represented as ordinary OpenSWATH maps.
Definition SwathFile.h:34
std::shared_ptr< ISpectrumAccess > SpectrumAccessPtr
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:146