OpenMS
Loading...
Searching...
No Matches
DIAHelper.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: Hannes Roest $
6// $Authors: Witold Wolski, Hannes Roest $
7// --------------------------------------------------------------------------
8
9#pragma once
10
14#include <vector>
15namespace OpenMS
16{
17 struct RangeMZ;
18 struct RangeMobility;
19 class TheoreticalSpectrumGenerator;
20 namespace DIAHelpers
21 {
26
35 OPENMS_DLLAPI bool integrateWindow(const OpenSwath::SpectrumPtr& spectrum,
36 double& mz, double& im, double& intensity, const RangeMZ& mz_range, const RangeMobility& im_range, bool centroided = false);
37
45 OPENMS_DLLAPI bool integrateWindow(const SpectrumSequence& spectrum,
46 double& mz, double& im, double& intensity, const RangeMZ& mz_range, const RangeMobility& im_range, bool centroided = false);
47
60 OPENMS_DLLAPI void integrateWindows(const OpenSwath::SpectrumPtr& spectrum,
61 const std::vector<double>& windows_center,
62 double width,
63 std::vector<double>& integrated_windows_intensity,
64 std::vector<double>& integrated_windows_mz,
65 std::vector<double>& integrated_windows_im,
66 const RangeMobility& im_range,
67 bool remove_zero = false);
68
69
82 OPENMS_DLLAPI void integrateWindows(const SpectrumSequence& spectrum,
83 const std::vector<double>& windows_center,
84 double width,
85 std::vector<double>& integrated_windows_intensity,
86 std::vector<double>& integrated_windows_mz,
87 std::vector<double>& integrated_windows_im,
88 const RangeMobility& im_range,
89 bool remove_zero = false);
93 OPENMS_DLLAPI void adjustExtractionWindow(double& right, double& left, const double& mz_extract_window, const bool& mz_extraction_ppm);
94
96 OPENMS_DLLAPI void getBYSeries(const AASequence& a,
97 std::vector<double>& bseries,
98 std::vector<double>& yseries,
100 int charge = 1);
101
103 OPENMS_DLLAPI void getTheorMasses(const AASequence& a,
104 std::vector<double>& masses,
106 int charge = 1);
107
109 OPENMS_DLLAPI void getAveragineIsotopeDistribution(const double product_mz,
110 std::vector<std::pair<double, double> >& isotopes_spec,
111 const int charge = 1,
112 const int nr_isotopes = 4,
113 const double mannmass = 1.00048);
114
116 OPENMS_DLLAPI void simulateSpectrumFromAASequence(const AASequence& aa,
117 std::vector<double>& first_isotope_masses, //[out]
118 std::vector<std::pair<double, double> >& isotope_masses, //[out]
120 int charge = 1);
121
123 OPENMS_DLLAPI void addPreisotopeWeights(const std::vector<double>& first_isotope_masses,
124 std::vector<std::pair<double, double> >& isotope_spec, // output
125 UInt nr_peaks = 2, //nr of pre-isotope peaks
126 double pre_isotope_peaks_weight = -0.5, // weight of pre-isotope peaks
127 double mannmass = 1.000482, //
128 int charge = 1);
129
131 OPENMS_DLLAPI void addPreisotopeWeights(double mz,
132 std::vector<std::pair<double, double> >& isotope_spec, // output
133 UInt nr_peaks = 2, //nr of pre-isotope peaks
134 double pre_isotope_peaks_weight = -0.5, // weight of pre-isotope peaks
135 double mannmass = 1.000482, //
136 int charge = 1);
137
140 OPENMS_DLLAPI void addIsotopes2Spec(const std::vector<std::pair<double, double> >& spec,
141 std::vector<std::pair<double, double> >& isotope_masses, //[out]
142 Size nr_isotopes, int charge = 1);
143
146 OPENMS_DLLAPI void addSinglePeakIsotopes2Spec(double mz, double ity,
147 std::vector<std::pair<double, double> >& isotope_masses, //[out]
148 Size nr_isotopes, int charge);
149
151 OPENMS_DLLAPI void sortByFirst(std::vector<std::pair<double, double> >& tmp);
153 OPENMS_DLLAPI void extractFirst(const std::vector<std::pair<double, double> >& peaks, std::vector<double>& mass);
155 OPENMS_DLLAPI void extractSecond(const std::vector<std::pair<double, double> >& peaks, std::vector<double>& mass);
156
163 OPENMS_DLLAPI RangeMZ createMZRangePPM(double mz_ref, double dia_extraction_window, const bool ppm);
164
165
169 OPENMS_DLLAPI void integrateWindow_(const OpenSwath::SpectrumPtr& spectrum,
170 double & mz,
171 double & im,
172 double & intensity,
173 const RangeMZ & mz_range,
174 const RangeMobility & im_range,
175 bool centroided);
176 }
177
179} //namespace OpenMS
180
Representation of a peptide/protein sequence.
Definition AASequence.h:88
Generates theoretical spectra for peptides with various options.
Definition TheoreticalSpectrumGenerator.h:45
unsigned int UInt
Unsigned integer type.
Definition Types.h:64
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition Types.h:97
void extractFirst(const std::vector< std::pair< double, double > > &peaks, std::vector< double > &mass)
extract first from vector of pairs
void integrateWindows(const OpenSwath::SpectrumPtr &spectrum, const std::vector< double > &windows_center, double width, std::vector< double > &integrated_windows_intensity, std::vector< double > &integrated_windows_mz, std::vector< double > &integrated_windows_im, const RangeMobility &im_range, bool remove_zero=false)
Integrate intensities in a spectrum in range im_range (if defined) for multiple windows.
void addPreisotopeWeights(const std::vector< double > &first_isotope_masses, std::vector< std::pair< double, double > > &isotope_spec, UInt nr_peaks=2, double pre_isotope_peaks_weight=-0.5, double mannmass=1.000482, int charge=1)
add (potentially negative) pre-isotope weights to spectrum
void sortByFirst(std::vector< std::pair< double, double > > &tmp)
sorts vector of pairs by first
void addIsotopes2Spec(const std::vector< std::pair< double, double > > &spec, std::vector< std::pair< double, double > > &isotope_masses, Size nr_isotopes, int charge=1)
RangeMZ createMZRangePPM(double mz_ref, double dia_extraction_window, const bool ppm)
optionally convert a DIA extraction window from ppm to m/z
void integrateWindow_(const OpenSwath::SpectrumPtr &spectrum, double &mz, double &im, double &intensity, const RangeMZ &mz_range, const RangeMobility &im_range, bool centroided)
Helper function for integrating a spectrum.
void adjustExtractionWindow(double &right, double &left, const double &mz_extract_window, const bool &mz_extraction_ppm)
Adjust left/right window based on window and whether its ppm or not.
void extractSecond(const std::vector< std::pair< double, double > > &peaks, std::vector< double > &mass)
extract second from vector of pairs
void addSinglePeakIsotopes2Spec(double mz, double ity, std::vector< std::pair< double, double > > &isotope_masses, Size nr_isotopes, int charge)
void simulateSpectrumFromAASequence(const AASequence &aa, std::vector< double > &first_isotope_masses, std::vector< std::pair< double, double > > &isotope_masses, TheoreticalSpectrumGenerator const *g, int charge=1)
simulate spectrum from AASequence
void getAveragineIsotopeDistribution(const double product_mz, std::vector< std::pair< double, double > > &isotopes_spec, const int charge=1, const int nr_isotopes=4, const double mannmass=1.00048)
get averagine distribution given mass
bool integrateWindow(const OpenSwath::SpectrumPtr &spectrum, double &mz, double &im, double &intensity, const RangeMZ &mz_range, const RangeMobility &im_range, bool centroided=false)
Helper functions for the DIA scoring of OpenSWATH.
void getTheorMasses(const AASequence &a, std::vector< double > &masses, TheoreticalSpectrumGenerator const *g, int charge=1)
for SWATH – get the theoretical b and y series masses for a sequence
void getBYSeries(const AASequence &a, std::vector< double > &bseries, std::vector< double > &yseries, TheoreticalSpectrumGenerator const *g, int charge=1)
compute the b and y series masses for a given AASequence
Main OpenMS namespace.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19
std::vector< OpenSwath::SpectrumPtr > SpectrumSequence
a vector of spectrum pointers that DIA scores can operate on, allows for clever integration of only t...
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:20
std::shared_ptr< Spectrum > SpectrumPtr
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/DataStructures.h:290
Definition RangeManager.h:358
Definition RangeManager.h:482