OpenMS
Loading...
Searching...
No Matches
OSWFile.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: George Rosenberger, Justin Sing $
6// $Authors: George Rosenberger, Chris Bielow $
7// --------------------------------------------------------------------------
8
9#pragma once
10
20
21#include <array>
22#include <map>
23#include <vector>
24
25namespace OpenMS
26{
45 class OPENMS_DLLAPI OSWFile
46 {
47 public:
48
50 static constexpr Size ALL_PROTEINS = -1;
51
54 OSWFile(const std::string& filename);
55 OSWFile(const OSWFile& rhs) = default;
56 OSWFile& operator=(const OSWFile& rhs) = default;
57
61 void read(OSWData& swath_result);
62
67 void readMinimal(OSWData& swath_result);
68
78 void readProtein(OSWData& swath_result, const Size index);
79
81 enum class OSWLevel
82 {
83 MS1,
84 MS2,
85 TRANSITION,
86 SIZE_OF_OSWLEVEL
87 };
88 static const std::array<std::string, (Size)OSWLevel::SIZE_OF_OSWLEVEL> names_of_oswlevel;
89
91 {
92 PercolatorFeature(double score, double qvalue, double pep)
93 : score(score), qvalue(qvalue), posterior_error_prob(pep)
94 {}
95 PercolatorFeature(const PercolatorFeature& rhs) = default;
96
97 double score;
98 double qvalue;
100 };
101
106 static void readToPIN(const std::string& filename, const OSWFile::OSWLevel osw_level, std::ostream& pin_output,
107 const double ipf_max_peakgroup_pep, const double ipf_max_transition_isotope_overlap, const double ipf_min_transition_sn);
108
112 static void writeFromPercolator(const std::string& osw_filename, const OSWFile::OSWLevel osw_level, const std::map< std::string, PercolatorFeature >& features);
113
115 std::vector<IPFPrecursorRow> readIPFPrecursorData(const PeptidoformInferenceConfig& config) const;
116
118 std::vector<IPFTransitionRow> readIPFTransitionData(const PeptidoformInferenceConfig& config) const;
119
121 std::vector<IPFAlignmentRow> readIPFAlignmentData(const PeptidoformInferenceConfig& config) const;
122
124 std::vector<IPFAlignmentRow> readIPFAlignmentData(double ipf_max_alignment_pep) const;
125
127 void writeIPFResults(const std::string& output_filename, const std::vector<IPFResultRow>& results) const;
128
130 std::vector<LevelContextInputRow> readLevelContextData(InferenceLevel level, InferenceContext context) const;
131
133 void writeLevelContextResults(const std::string& output_filename,
134 InferenceLevel level,
135 InferenceContext context,
136 const std::vector<LevelContextResultRow>& results) const;
137
139 std::vector<OpenSwathExportRow> readOpenSwathExportRows(const OpenSwathExportFilterConfig& config) const;
140
143
146
153 std::map<Int64, std::string> readRunBasenames() const;
154
158
159 protected:
164 void readTransitions_(OSWData& swath_result);
165
173 void getFullProteins_(OSWData& swath_result, Size prot_index = ALL_PROTEINS);
174
176 void readMeta_(OSWData& data);
177
178 private:
179 std::string filename_;
182 };
183
184} // namespace OpenMS
Holds all or partial information from an OSW file.
Definition OSWData.h:315
This class serves for reading in and writing OpenSWATH OSW files.
Definition OSWFile.h:46
void read(OSWData &swath_result)
void getFullProteins_(OSWData &swath_result, Size prot_index=ALL_PROTEINS)
fill one (prot_id) or all proteins into swath_result
void readTransitions_(OSWData &swath_result)
std::string filename_
sql file to open/write to
Definition OSWFile.h:179
SqliteConnector conn_
SQL connection. Stays open as long as this object lives.
Definition OSWFile.h:180
static void writeFromPercolator(const std::string &osw_filename, const OSWFile::OSWLevel osw_level, const std::map< std::string, PercolatorFeature > &features)
Updates an OpenSWATH OSW SQLite file with the MS1-, MS2- or transition-level results of Percolator.
std::vector< IPFAlignmentRow > readIPFAlignmentData(const PeptidoformInferenceConfig &config) const
Read alignment-group membership required for optional across-run signal propagation from FEATURE_MS2_...
void writeLevelContextResults(const std::string &output_filename, InferenceLevel level, InferenceContext context, const std::vector< LevelContextResultRow > &results) const
Write context inference results into SCORE_PEPTIDE / SCORE_PROTEIN / SCORE_GENE.
std::vector< LevelContextInputRow > readLevelContextData(InferenceLevel level, InferenceContext context) const
Read compact peptide-, protein-, or gene-level rows for context inference.
std::map< Int64, std::string > readRunBasenames() const
Read RUN IDs and convert their filenames to user-facing basenames.
OpenSwathFeatureScoreTable readOpenSwathFeatureScoreTable(const OpenSwathParquetExportConfig &config) const
Read scored feature rows for OpenSWATH Parquet export.
void writeIPFResults(const std::string &output_filename, const std::vector< IPFResultRow > &results) const
Write peptidoform inference results into SCORE_IPF, copying to output_filename first if requested.
OpenSwathTransitionScoreTable readOpenSwathTransitionScoreTable(const OpenSwathParquetExportConfig &config) const
Read optional transition-level score rows for OpenSWATH Parquet export.
OSWFile(const std::string &filename)
std::vector< IPFTransitionRow > readIPFTransitionData(const PeptidoformInferenceConfig &config) const
Read transition-level evidence required for peptidoform inference.
bool has_SCOREMS2_
database contains pyProphet's score_MS2 table with qvalues
Definition OSWFile.h:181
void readProtein(OSWData &swath_result, const Size index)
populates a protein at index index within swath_results with Peptides, unless the protein already has...
OSWLevel
for Percolator data read/write operations
Definition OSWFile.h:82
std::vector< IPFPrecursorRow > readIPFPrecursorData(const PeptidoformInferenceConfig &config) const
Read peakgroup and precursor evidence required for peptidoform inference.
UInt64 getRunID() const
std::vector< OpenSwathExportRow > readOpenSwathExportRows(const OpenSwathExportFilterConfig &config) const
Read filtered feature rows for user-facing OpenSWATH results and matrix exports.
static void readToPIN(const std::string &filename, const OSWFile::OSWLevel osw_level, std::ostream &pin_output, const double ipf_max_peakgroup_pep, const double ipf_max_transition_isotope_overlap, const double ipf_min_transition_sn)
Reads an OSW SQLite file and returns the data on MS1-, MS2- or transition-level as ostream (e....
void readMinimal(OSWData &swath_result)
OSWFile & operator=(const OSWFile &rhs)=default
void readMeta_(OSWData &data)
set source file and sqMass run-ID
OSWFile(const OSWFile &rhs)=default
std::vector< IPFAlignmentRow > readIPFAlignmentData(double ipf_max_alignment_pep) const
Historical overload that reads legacy alignment-group membership from FEATURE_MS2_ALIGNMENT + SCORE_A...
File adapter for Sqlite files.
Definition SqliteConnector.h:31
uint64_t UInt64
Unsigned integer type (64bit)
Definition Types.h:47
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition Types.h:97
InferenceLevel
Inference level for OpenSWATH-derived confidence inference.
Definition OpenSwathInferenceData.h:30
InferenceContext
Context for peptide-, protein-, and gene-level inference.
Definition OpenSwathInferenceData.h:43
Shared filter configuration for OpenSWATH export readers.
Definition OpenSwathExportConfig.h:25
Feature-level Parquet export table with dynamically discovered FEATURE_MS1 / FEATURE_MS2 columns.
Definition OpenSwathExportData.h:291
Configuration for scored feature Parquet exports.
Definition OpenSwathExportConfig.h:79
Transition-level Parquet export table with dynamically discovered FEATURE_TRANSITION columns.
Definition OpenSwathExportData.h:332
Configuration for peptidoform inference.
Definition OpenSwathInferenceConfig.h:60
Main OpenMS namespace.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19
Definition OSWFile.h:91
PercolatorFeature(double score, double qvalue, double pep)
Definition OSWFile.h:92
double score
Definition OSWFile.h:97
double qvalue
Definition OSWFile.h:98
PercolatorFeature(const PercolatorFeature &rhs)=default
double posterior_error_prob
Definition OSWFile.h:99