103 mutable std::unique_ptr<SqliteConnector>
conn_;
110 enum class Type :
unsigned char
169 static constexpr Size FEATURE_COLUMN_COUNT = 11;
170 static constexpr Size FEATURE_MS1_COLUMN_COUNT = 18;
171 static constexpr Size FEATURE_MS2_COLUMN_COUNT = 38;
172 static constexpr Size FEATURE_PRECURSOR_COLUMN_COUNT = 4;
173 static constexpr Size FEATURE_TRANSITION_COLUMN_COUNT = 43;
175 using FeatureRow = std::array<OSWValue, FEATURE_COLUMN_COUNT>;
210 bool uis_scores =
false);
268 const FeatureMap& output,
const std::string&
id)
const;
285 const FeatureMap& output,
const std::string&
id)
const;
303 const FeatureMap& output,
const std::string&
id)
const;
334 void writeLines(
const std::vector<std::string>& to_osw_output);
A container for features.
Definition FeatureMap.h:78
An LC-MS feature.
Definition Feature.h:46
Class to write out an OpenSwath OSW SQLite output (PyProphet input).
Definition OpenSwathOSWWriter.h:97
void writeHeader()
Initializes file by generating SQLite tables.
OSWData prepareRows(const OpenSwath::LightCompound &pep, const OpenSwath::LightTransition *transition, const FeatureMap &output, const std::string &id) const
Prepare feature rows for SQLite insertion.
std::array< OSWValue, FEATURE_COLUMN_COUNT > FeatureRow
Definition OpenSwathOSWWriter.h:175
std::array< OSWValue, FEATURE_MS2_COLUMN_COUNT > FeatureMS2Row
Definition OpenSwathOSWWriter.h:177
void addRun(const UInt64 run_id, const std::string &input_filename)
Add a RUN entry to the OSW file. Can be called multiple times to register multiple runs.
std::string output_filename_
Definition OpenSwathOSWWriter.h:98
bool enable_uis_scoring_
Definition OpenSwathOSWWriter.h:101
void setRunId(const UInt64 run_id)
Set the current run id used when prepareLine generates FEATURE entries.
std::array< OSWValue, FEATURE_TRANSITION_COLUMN_COUNT > FeatureTransitionRow
Definition OpenSwathOSWWriter.h:179
std::vector< std::string > getSeparateScore(const Feature &feature, const std::string &score_name) const
Prepare concatenated scores for SQLite insertion.
void writeLines(const std::vector< std::string > &to_osw_output)
Write data to disk.
std::string prepareLine(const OpenSwath::LightCompound &pep, const OpenSwath::LightTransition *transition, const FeatureMap &output, const std::string &id) const
Prepare a single line (feature) for output.
void prepareRowsInto(OSWData &rows, const OpenSwath::LightCompound &pep, const OpenSwath::LightTransition *transition, const FeatureMap &output, const std::string &id) const
Append feature rows for SQLite insertion into an existing buffer.
std::mutex conn_mutex_
Definition OpenSwathOSWWriter.h:104
std::array< OSWValue, FEATURE_MS1_COLUMN_COUNT > FeatureMS1Row
Definition OpenSwathOSWWriter.h:176
void writeRows(const OSWData &osw_output)
Write buffered OSW rows to disk.
std::array< OSWValue, FEATURE_PRECURSOR_COLUMN_COUNT > FeaturePrecursorRow
Definition OpenSwathOSWWriter.h:178
std::string getScore(const Feature &feature, const std::string &score_name) const
Prepare scores for SQLite insertion.
OpenSwathOSWWriter(const std::string &output_filename, bool uis_scores=false)
std::unique_ptr< SqliteConnector > conn_
Definition OpenSwathOSWWriter.h:103
bool doWrite_
Definition OpenSwathOSWWriter.h:100
int64_t Int64
Signed integer type (64bit)
Definition Types.h:40
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
Main OpenMS namespace.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19
Buffered OSW table rows ready for insertion through prepared statements.
Definition OpenSwathOSWWriter.h:183
Size rowCount() const
Returns the total number of buffered rows across all OSW tables.
bool empty() const
Returns true if no rows were buffered.
void append(OSWData &&rhs)
Append rows from rhs, moving row storage where possible.
UInt64 estimateMemoryUsage() const
Estimate the memory retained by this buffer in bytes.
void reserve(Size feature_row_count, Size transition_row_count)
Reserve storage for expected feature-level and transition-level rows.
std::vector< FeatureMS1Row > feature_ms1_rows
Definition OpenSwathOSWWriter.h:185
void reserve(Size row_count)
Reserve storage for roughly row_count rows per OSW table.
std::vector< FeaturePrecursorRow > feature_precursor_rows
Definition OpenSwathOSWWriter.h:187
std::vector< FeatureTransitionRow > feature_transition_rows
Definition OpenSwathOSWWriter.h:188
std::vector< FeatureMS2Row > feature_ms2_rows
Definition OpenSwathOSWWriter.h:186
std::vector< FeatureRow > feature_rows
Definition OpenSwathOSWWriter.h:184
Typed OSW cell value used for direct SQLite binding.
Definition OpenSwathOSWWriter.h:109
OSWValue(const OSWValue &rhs)
static OSWValue text(const std::string &value)
Returns a TEXT OSW cell without numeric/null parsing.
OSWValue(const char *value)
Storage storage
Definition OpenSwathOSWWriter.h:129
OSWValue & operator=(const OSWValue &rhs)
void moveFrom_(OSWValue &&rhs)
void copyFrom_(const OSWValue &rhs)
OSWValue & operator=(OSWValue &&rhs) noexcept
Int64 asInt() const
Returns the integer payload. Only valid when type == Type::Int64.
OSWValue(const std::string &value)
Type
Definition OpenSwathOSWWriter.h:111
Type type
Definition OpenSwathOSWWriter.h:128
bool isNull() const
Returns true if the cell should be inserted as SQL NULL.
static OSWValue null()
Returns a NULL OSW cell.
const std::string & asText() const
Returns the text payload. Only valid when type == Type::Text.
double asDouble() const
Returns the double payload. Only valid when type == Type::Double.
OSWValue(OSWValue &&rhs) noexcept
Definition TransitionExperiment.h:269
Definition TransitionExperiment.h:106
Definition OpenSwathOSWWriter.h:119
std::string text_value
Definition OpenSwathOSWWriter.h:122
double double_value
Definition OpenSwathOSWWriter.h:121
Int64 int_value
Definition OpenSwathOSWWriter.h:120