OpenMS
Loading...
Searching...
No Matches
ConsensusMapArrowExport.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: Timo Sachsenberg $
7// --------------------------------------------------------------------------
8
9#pragma once
10
11#include <OpenMS/config.h>
12
17
18#include <memory>
19#include <string>
20
21// Forward declarations
22namespace arrow
23{
24 class Table;
25}
26
27namespace OpenMS
28{
29
41class OPENMS_DLLAPI ConsensusMapArrowExport
42{
43public:
61 static std::shared_ptr<arrow::Table> exportToArrow(const ConsensusMap& cmap,
62 QPXIdentity::FeatureLinks* out_links = nullptr);
63
88
107 static void requireResolvableIdRuns(const ConsensusMap& cmap);
108
119 static bool exportToParquet(
120 const ConsensusMap& cmap,
121 const std::string& filename,
122 const ParquetWriteConfig& config = ParquetWriteConfig{},
123 QPXIdentity::FeatureLinks* out_links = nullptr);
124
152 const ConsensusMap& cmap,
153 const std::string& filename,
154 size_t batch_size = 1000000,
155 const ParquetWriteConfig& config = ParquetWriteConfig{},
156 int n_threads = 1,
157 QPXIdentity::FeatureLinks* out_links = nullptr);
158};
159
160} // namespace OpenMS
Export ConsensusMap feature data to Apache Arrow format following QPX feature schema.
Definition ConsensusMapArrowExport.h:42
static void requireResolvableIdRuns(const ConsensusMap &cmap)
Refuse a map whose features cannot be attributed to an origin MS run.
static bool exportToParquet(const ConsensusMap &cmap, const std::string &filename, const ParquetWriteConfig &config=ParquetWriteConfig{}, QPXIdentity::FeatureLinks *out_links=nullptr)
Export ConsensusMap to Parquet file.
static bool exportToParquetStreaming(const ConsensusMap &cmap, const std::string &filename, size_t batch_size=1000000, const ParquetWriteConfig &config=ParquetWriteConfig{}, int n_threads=1, QPXIdentity::FeatureLinks *out_links=nullptr)
Stream a ConsensusMap to a Parquet file in row batches (bounded peak memory)
static std::shared_ptr< arrow::Table > exportToArrow(const ConsensusMap &cmap, QPXIdentity::FeatureLinks *out_links=nullptr)
Export ConsensusMap to Apache Arrow Table.
static void requireUnambiguousIdentities(const ConsensusMap &cmap)
Verify that every feature can be attributed to a single peptide.
A container for consensus elements.
Definition ConsensusMap.h:67
std::unordered_map< Int64, Int64 > FeatureLinks
The feature↔PSM edge of one QPX collection, as psm_id → feature_id.
Definition QPXIdentity.h:64
Main OpenMS namespace.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19
Definition ArrowIOHelpers.h:26
Configuration for Parquet file writing.
Definition MSExperimentArrowExport.h:136