6#include <OpenMS/config.h>
24 class FullSwathFileConsumer;
97 class OPENMS_DLLAPI BrukerTimsFile :
public ProgressLogger
104 double calibration_tolerance = 0.0;
105 bool calibrate =
false;
109 bool load_ms1 =
true;
113 bool load_ms2 =
true;
148 uint32_t frame_id_min = 0;
149 uint32_t frame_id_max = std::numeric_limits<uint32_t>::max();
159 double rt_min_sec = 0.0;
160 double rt_max_sec = std::numeric_limits<double>::infinity();
173 bool rt_selects_spectra =
false;
186 double im_max = std::numeric_limits<double>::infinity();
199 enum class CentroidAlgo { OFF, GREEDY2D, HILL_BASED };
204 CentroidAlgo ms1_centroid_algo = CentroidAlgo::OFF;
222 CentroidAlgo ms2_centroid_algo = CentroidAlgo::OFF;
224 float ms1_centroid_mz_ppm = 10.0f;
225 float ms1_centroid_im_pct = 0.0f;
226 int ms1_centroid_max_peaks = 100000;
228 float ms2_centroid_mz_ppm = 20.0f;
229 double centroid_valley_factor = 1.3;
230 Size ms1_centroid_min_hill_length = 1;
231 Size ms2_centroid_min_hill_length = 2;
232 Size centroid_max_scan_gap = 0;
233 bool expose_hill_bounds =
false;
244 bool isotopic_prefilter =
false;
245 double isotopic_prefilter_tol_ppm = 50.0;
247 int dia_ms2_n_neighbors = 0;
248 int dia_ms2_min_support = 1;
249 bool dia_ms2_centroid =
false;
251 int ms1_n_neighbors = 0;
254 int ms1_min_support = 0;
258 double ms1_max_rt_distance_sec = 0.0;
264 enum ExportMode { AUTO, SPECTRUM, FRAME };
265 ExportMode export_mode = AUTO;
290 enum class TimsCalibrationStrategy { AUTO, BRUKER_SDK, RATIONAL, LINEAR };
291 TimsCalibrationStrategy tims_calibration_strategy = TimsCalibrationStrategy::AUTO;
296 enum class PressureCompensation {
NONE, GLOBAL, PER_FRAME };
297 PressureCompensation pressure_compensation = PressureCompensation::NONE;
301 std::string bruker_sdk_path;
305 enum class DataFormat
322 static DataFormat detectFormat(
const std::string& path);
331 static void checkDataFormat(
const std::string& path);
334 struct DIAStreamingMetadata
336 std::vector<OpenSwath::SwathMap> boundaries;
337 int nr_ms1_spectra = 0;
338 std::vector<int> nr_ms2_spectra;
343 DIAStreamingMetadata readDIAMetadata(
const std::string& path, ExperimentalSettings& exp_settings);
345 DIAStreamingMetadata readDIAMetadata(
const std::string& path, ExperimentalSettings& exp_settings,
346 const Config& config);
351 void loadDIAStreaming(
const std::string& path, FullSwathFileConsumer& consumer);
353 void loadDIAStreaming(
const std::string& path, FullSwathFileConsumer& consumer,
354 const Config& config);
370 void load(
const std::string& path, MSExperiment& exp);
372 void load(
const std::string& path, MSExperiment& exp,
const Config& config);
388 void transform(
const std::string& path, Interfaces::IMSDataConsumer* consumer);
390 void transform(
const std::string& path, Interfaces::IMSDataConsumer* consumer,
const Config& config);
394 using SpectrumSink = std::function<void(MSSpectrum&)>;
397 DIAStreamingMetadata readDIAMetadata_(
const std::string& path, ExperimentalSettings& exp_settings,
const Config& config);
398 void loadDIAStreaming_(
const std::string& path, FullSwathFileConsumer& consumer,
const Config& config);
399 void load_(
const std::string& path, MSExperiment& exp,
const Config& config);
400 void transform_(
const std::string& path, Interfaces::IMSDataConsumer* consumer,
const Config& config);
406 void loadDDA_(TimsDataHandle& handle,
const SpectrumSink& sink,
const Config& config);
409 void loadDIA_(TimsDataHandle& handle,
const SpectrumSink& sink,
const Config& config);
412 void loadFrames_(TimsDataHandle& handle,
const SpectrumSink& sink,
const Config& config);
418 void loadTSF_(TSFRun& run,
const SpectrumSink& sink);
422 void loadExperimentalSettings_(
const std::string& path,
const std::string& d_path, ExperimentalSettings& settings);
425 struct UnpackedArchive;
428 static std::shared_ptr<UnpackedArchive> unpack_(
const std::string& path);
432 std::shared_ptr<UnpackedArchive> takeUnpacked_(
const std::string& path);
435 std::shared_ptr<UnpackedArchive> unpacked_;
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