11#include <OpenMS/config.h>
54 const std::vector<ProteinIdentification>& protein_identifications,
56 bool export_all_psms =
false);
75 const std::vector<ProteinIdentification>& protein_identifications,
77 bool export_all_psms =
false,
92 const std::vector<ProteinIdentification>& protein_identifications,
94 const std::string& filename,
95 bool export_all_psms =
false,
117 const std::shared_ptr<arrow::Table>& table,
118 const std::string& filename,
120 const std::string& scan_format =
"");
157 const std::vector<ProteinIdentification>& protein_identifications,
158 const std::vector<const PeptideIdentification*>& peptide_identification_ptrs,
159 const std::string& filename,
160 bool export_all_psms =
false,
161 size_t batch_size = 1000000,
183 const std::vector<ProteinIdentification>& protein_identifications,
198 const std::vector<ProteinIdentification>& protein_identifications,
199 const std::vector<const PeptideIdentification*>& peptide_identifications);
216 const std::shared_ptr<arrow::Table>& table,
217 std::vector<ProteinIdentification>& protein_identifications,
Container for peptide identifications from multiple spectra.
Definition PeptideIdentificationList.h:66
Export PSM (Peptide Spectrum Match) data to Apache Arrow format following QPX PSM schema.
Definition QPXFile.h:44
static std::shared_ptr< arrow::Table > exportToArrow(const std::vector< ProteinIdentification > &protein_identifications, const PeptideIdentificationList &peptide_identifications, bool export_all_psms=false)
Export PSMs to Arrow table using PSMSchema for lossless round-trips.
static bool exportToParquet(const std::vector< ProteinIdentification > &protein_identifications, const PeptideIdentificationList &peptide_identifications, const std::string &filename, bool export_all_psms=false, const ParquetWriteConfig &config=ParquetWriteConfig{}, const QPXIdentity::FeatureLinks *feature_links=nullptr)
Export PSM data to Parquet file.
static bool exportToParquet(const std::shared_ptr< arrow::Table > &table, const std::string &filename, const ParquetWriteConfig &config=ParquetWriteConfig{}, const std::string &scan_format="")
Write a pre-built QPX PSM Arrow table to a Parquet file.
static void requireResolvableMergeIndices(const std::vector< ProteinIdentification > &protein_identifications, const std::vector< const PeptideIdentification * > &peptide_identifications)
Pointer-based overload of requireResolvableMergeIndices()
static bool importFromArrow(const std::shared_ptr< arrow::Table > &table, std::vector< ProteinIdentification > &protein_identifications, PeptideIdentificationList &peptide_identifications)
Import PSMs from a PSMSchema Arrow table.
static std::shared_ptr< arrow::Table > exportPSMsToQPXArrow(const std::vector< ProteinIdentification > &protein_identifications, const PeptideIdentificationList &peptide_identifications, bool export_all_psms=false, const QPXIdentity::FeatureLinks *feature_links=nullptr)
Export PSMs to QPX Parquet eXchange format Arrow table (QPXPSMSchema).
static void requireResolvableMergeIndices(const std::vector< ProteinIdentification > &protein_identifications, const PeptideIdentificationList &peptide_identifications)
Refuse PSMs of a merged run that carry no usable id_merge_index.
static bool exportToParquetStreaming(const std::vector< ProteinIdentification > &protein_identifications, const std::vector< const PeptideIdentification * > &peptide_identification_ptrs, const std::string &filename, bool export_all_psms=false, size_t batch_size=1000000, const ParquetWriteConfig &config=ParquetWriteConfig{}, int n_threads=1, const QPXIdentity::FeatureLinks *feature_links=nullptr)
Stream PSMs to a QPX Parquet file in row-batches to cap peak memory.
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