OpenMS
Loading...
Searching...
No Matches
SiriusMSConverter.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: Oliver Alka, Axel Walter $
6// $Authors: Oliver Alka $
7// --------------------------------------------------------------------------
8
9#pragma once
10
14#include <fstream>
15
16namespace OpenMS
17{
18
50 class OPENMS_DLLAPI SiriusMSFile
51 {
52public:
53
56 {
57 public:
58 std::string sf_path;
59 std::string sf_type;
60 std::string sf_filename;
61 std::string sf_accession;
62 std::string native_id_accession;
63 std::string native_id_type;
64 };
65
75 {
76 public:
77 std::string cmp;
78 double pmass;
79 double pint_mono;
80 double rt;
81 double fmz;
82 std::string fid;
83 std::string formula;
84 int charge;
85 std::string ionization;
86 std::string des;
87 std::string specref_format;
88 std::string source_file;
89 std::string source_format;
90 std::vector<std::string> native_ids;
91 std::string native_ids_id;
92 std::vector<std::string> m_ids;
93 std::string m_ids_id;
94 std::vector<std::string> scan_indices;
95 std::vector<std::string> specrefs;
97 };
98
130 static void store(const MSExperiment& spectra,
131 std::ofstream& os,
132 const FeatureMapping::FeatureToMs2Indices& feature_mapping,
133 const bool& feature_only,
134 const int& isotope_pattern_iterations,
135 const bool no_masstrace_info_isotope_pattern,
136 std::vector<SiriusMSFile::CompoundInfo>& v_cmpinfo,
137 const size_t& file_index);
152 static void saveFeatureCompoundInfoAsTSV(const std::vector<SiriusMSFile::CompoundInfo>& v_cmpinfo,
153 const std::string& filename);
154
155 protected:
181 static void writeMsFile_(std::ofstream& os,
182 const MSExperiment& spectra,
183 const std::vector<size_t>& ms2_spectra_index,
184 const SiriusMSFile::AccessionInfo& ainfo,
185 const StringList& adducts,
186 const std::vector<std::string>& v_description,
187 const std::vector<std::string>& v_sumformula,
188 const std::vector<std::pair<double,double>>& f_isotopes,
189 int& feature_charge,
190 uint64_t& feature_id,
191 const double& feature_rt,
192 const double& feature_mz,
193 bool& writecompound,
194 const bool& no_masstrace_info_isotope_pattern,
195 const int& isotope_pattern_iterations,
196 int& count_skipped_spectra,
197 int& count_assume_mono,
198 int& count_no_ms1,
199 std::vector<SiriusMSFile::CompoundInfo>& v_cmpinfo,
200 const size_t& file_index);
213 const MSSpectrum& spectrum,
214 double tolerance,
215 bool ppm);
216
233 static std::vector<Peak1D> extractPrecursorIsotopePattern_(const double& precursor_mz,
234 const MSSpectrum& precursor_spectrum,
235 int& iterations,
236 const int& charge);
237
238
239
240 };
241
242} // namespace OpenMS
Output bundle: per-feature MS2 spectrum indices + the list of unassigned MS2 spectra.
Definition FeatureMapping.h:67
In-Memory representation of a mass spectrometry run.
Definition MSExperiment.h:49
The representation of a 1D spectrum.
Definition MSSpectrum.h:44
Writes a SIRIUS .ms file from an MSExperiment, optionally enriched with feature/adduct/formula annota...
Definition SiriusMSConverter.h:51
std::string cmp
query_id used compound in .ms file
Definition SiriusMSConverter.h:77
std::string sf_filename
sourcefile name for mztab-m
Definition SiriusMSConverter.h:60
std::string native_ids_id
concatenated list of the associated spectra
Definition SiriusMSConverter.h:91
std::string sf_type
sourcefile type for mztab-m
Definition SiriusMSConverter.h:59
static void writeMsFile_(std::ofstream &os, const MSExperiment &spectra, const std::vector< size_t > &ms2_spectra_index, const SiriusMSFile::AccessionInfo &ainfo, const StringList &adducts, const std::vector< std::string > &v_description, const std::vector< std::string > &v_sumformula, const std::vector< std::pair< double, double > > &f_isotopes, int &feature_charge, uint64_t &feature_id, const double &feature_rt, const double &feature_mz, bool &writecompound, const bool &no_masstrace_info_isotope_pattern, const int &isotope_pattern_iterations, int &count_skipped_spectra, int &count_assume_mono, int &count_no_ms1, std::vector< SiriusMSFile::CompoundInfo > &v_cmpinfo, const size_t &file_index)
Internal structure to write the .ms file (called in store function)
static void store(const MSExperiment &spectra, std::ofstream &os, const FeatureMapping::FeatureToMs2Indices &feature_mapping, const bool &feature_only, const int &isotope_pattern_iterations, const bool no_masstrace_info_isotope_pattern, std::vector< SiriusMSFile::CompoundInfo > &v_cmpinfo, const size_t &file_index)
Write one mzML/featureXML pair to a SIRIUS .ms output stream.
static std::vector< Peak1D > extractPrecursorIsotopePattern_(const double &precursor_mz, const MSSpectrum &precursor_spectrum, int &iterations, const int &charge)
Walk an isotope ladder from the precursor m/z, picking the most-intense peak at each C12-C13 step.
std::string sf_path
sourcefile path for mztab-m
Definition SiriusMSConverter.h:58
std::string ionization
adduct information
Definition SiriusMSConverter.h:85
std::string native_id_accession
nativeID accession for mztab-m
Definition SiriusMSConverter.h:62
std::string fid
annotated feature_id (if available)
Definition SiriusMSConverter.h:82
std::vector< std::string > m_ids
native ids and identifier for multiple possible identification via AMS ("|" separator)
Definition SiriusMSConverter.h:92
std::string sf_accession
sourcefile accessions for mztab-m
Definition SiriusMSConverter.h:61
std::string m_ids_id
concatenated list of native ids and identifier for multiple possible identification via AMS ("|" sepa...
Definition SiriusMSConverter.h:93
double pint_mono
parent/precursor intensity of the compound
Definition SiriusMSConverter.h:79
std::string formula
sumformula of the compound
Definition SiriusMSConverter.h:83
std::string native_id_type
nativeID type for mztab-m
Definition SiriusMSConverter.h:63
std::vector< std::string > specrefs
spectra reference for mztab-m
Definition SiriusMSConverter.h:95
std::string source_format
format of the sourcefile for mztab-m
Definition SiriusMSConverter.h:89
int file_index
source file index >
Definition SiriusMSConverter.h:96
static Int getHighestIntensityPeakInMZRange_(double test_mz, const MSSpectrum &spectrum, double tolerance, bool ppm)
Return the index of the most-intense peak of spectrum whose m/z lies within a tolerance window around...
std::string des
description/name of the compound
Definition SiriusMSConverter.h:86
std::string source_file
sourcefile for mztab-m
Definition SiriusMSConverter.h:88
double pmass
parent/precursor mass of the compound
Definition SiriusMSConverter.h:78
double rt
retention time of the compound
Definition SiriusMSConverter.h:80
int charge
precursor/feature charge
Definition SiriusMSConverter.h:84
double fmz
annotated mass of a feature (if available)
Definition SiriusMSConverter.h:81
static void saveFeatureCompoundInfoAsTSV(const std::vector< SiriusMSFile::CompoundInfo > &v_cmpinfo, const std::string &filename)
Serialise the CompoundInfo records collected during store as a TSV file.
std::string specref_format
spectra ref format for mztab-m
Definition SiriusMSConverter.h:87
std::vector< std::string > native_ids
native ids of the associated spectra
Definition SiriusMSConverter.h:90
std::vector< std::string > scan_indices
index of the associated spectra
Definition SiriusMSConverter.h:94
Source-file accession metadata of the input mzML, captured for the mzTab-M MS_RUN section.
Definition SiriusMSConverter.h:56
Per-compound metadata accumulated while writing the .ms file.
Definition SiriusMSConverter.h:75
int Int
Signed integer type.
Definition Types.h:72
std::vector< std::string > StringList
Vector of String.
Definition ListUtils.h:44
Main OpenMS namespace.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19