OpenMS
Loading...
Searching...
No Matches
TheoreticalSpectrumGenerator.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: Timo Sachsenberg, Eugen Netz $
6// $Authors: Andreas Bertsch $
7// --------------------------------------------------------------------------
8
9#pragma once
10
16
17namespace OpenMS
18{
19 class AASequence;
20
43 class OPENMS_DLLAPI TheoreticalSpectrumGenerator :
45 {
46 public:
47
53
56
60
63
64
71 void getPrefixAndSuffixIonsMZ(std::vector<float>& spectrum, const AASequence& peptide, int charge) const;
72
79 virtual void getSpectrum(PeakSpectrum& spec, const AASequence& peptide, Int min_charge, Int max_charge, Int precursor_charge = 0) const;
80
86 static MSSpectrum generateSpectrum(const Precursor::ActivationMethod& fm, const AASequence& seq, int precursor_charge);
87
103 bool getIonSeriesSpectrum(PeakSpectrum& spectrum, std::vector<uint8_t>& ion_series, const AASequence& peptide, Int min_charge, Int max_charge) const;
104
118 bool getIonSeriesSpectrum(PeakSpectrum& spectrum, std::vector<uint8_t>& ion_series, std::vector<UInt>& ion_ordinals,
119 std::vector<Int>& ion_charges, const AASequence& peptide, Int min_charge, Int max_charge) const;
120
135 bool getIonSeriesSpectrum(PeakSpectrum& spectrum, std::vector<uint8_t>& ion_series, std::vector<UInt>& ion_ordinals,
136 std::vector<Int>& ion_charges, std::vector<Residue::ResidueType>& ion_types, const AASequence& peptide,
137 Int min_charge, Int max_charge) const;
138
139
141 void updateMembers_() override;
143
144 protected:
146 bool getIonSeriesSpectrum_(PeakSpectrum& spectrum, std::vector<uint8_t>& ion_series, std::vector<UInt>* ion_ordinals,
147 std::vector<Int>* ion_charges, std::vector<Residue::ResidueType>* ion_types, const AASequence& peptide,
148 Int min_charge, Int max_charge) const;
149
150
152 virtual void addPeaks_(PeakSpectrum& spectrum, const AASequence& peptide, DataArrays::StringDataArray& ion_names, DataArrays::IntegerDataArray& charges, MSSpectrum::Chunks& chunks, const Residue::ResidueType res_type, Int charge = 1) const;
153
155 virtual void addPrecursorPeaks_(PeakSpectrum& spec, const AASequence& peptide, DataArrays::StringDataArray& ion_names, DataArrays::IntegerDataArray& charges, Int charge = 1) const;
156
159
161 void addIsotopeCluster_(PeakSpectrum& spectrum, const AASequence& ion, DataArrays::StringDataArray& ion_names, DataArrays::IntegerDataArray& charges, const Residue::ResidueType res_type, Int charge, double intensity) const;
162
164 void addLosses_(PeakSpectrum& spectrum, const AASequence& ion, DataArrays::StringDataArray& ion_names, DataArrays::IntegerDataArray& charges, double intensity, const Residue::ResidueType res_type, int charge) const;
165
167 void addLossesFaster_(PeakSpectrum& spectrum, double mz, const std::set<EmpiricalFormula>& f_losses, int ion_ordinal, DataArrays::StringDataArray& ion_names, DataArrays::IntegerDataArray& charges, const std::map<EmpiricalFormula, std::string>& formula_str_cache, double intensity, const std::string& annotation_prefix_string, bool add_metainfo, int charge) const;
168
170 static void addPrefixAndSuffixIons_(std::vector<float>& spectrum, const AASequence& peptide, Residue::ResidueType res_type, int charge);
172 const AASequence& peptide,
175 MSSpectrum::Chunks& chunks,
176 const Residue::ResidueType res_type,
177 Int charge) const;
192 int isotope_model_ = 0;
203
207 double pre_int_;
210 };
211}
Definition AASequence.h:96
Integer data array class.
Definition DataArrays.h:75
std::string data array class
Definition DataArrays.h:125
A base class for all classes handling default parameters.
Definition DefaultParamHandler.h:66
The representation of a 1D spectrum.
Definition MSSpectrum.h:44
ActivationMethod
Method of activation.
Definition Precursor.h:61
ResidueType
Definition Residue.h:153
Generates theoretical spectra for peptides with various options.
Definition TheoreticalSpectrumGenerator.h:45
bool add_x_ions_
Definition TheoreticalSpectrumGenerator.h:182
bool add_precursor_peaks_
Definition TheoreticalSpectrumGenerator.h:193
void addLosses_(PeakSpectrum &spectrum, const AASequence &ion, DataArrays::StringDataArray &ion_names, DataArrays::IntegerDataArray &charges, double intensity, const Residue::ResidueType res_type, int charge) const
helper to add full neutral loss ladders (for isotope clusters), also adds charges and ion names to th...
bool getIonSeriesSpectrum(PeakSpectrum &spectrum, std::vector< uint8_t > &ion_series, std::vector< UInt > &ion_ordinals, std::vector< Int > &ion_charges, std::vector< Residue::ResidueType > &ion_types, const AASequence &peptide, Int min_charge, Int max_charge) const
getIonSeriesSpectrum() with ordinals and charges that also returns the ion type of each peak (Residue...
virtual void addPeaks_(PeakSpectrum &spectrum, const AASequence &peptide, DataArrays::StringDataArray &ion_names, DataArrays::IntegerDataArray &charges, MSSpectrum::Chunks &chunks, const Residue::ResidueType res_type, Int charge=1) const
adds peaks to a spectrum of the given ion-type, peptide, charge, and intensity, also adds charges and...
TheoreticalSpectrumGenerator()
default constructor
double rel_loss_intensity_
Definition TheoreticalSpectrumGenerator.h:205
bool add_all_precursor_charges_
Definition TheoreticalSpectrumGenerator.h:194
bool add_losses_
Definition TheoreticalSpectrumGenerator.h:187
bool add_a_ions_
Definition TheoreticalSpectrumGenerator.h:180
static void addPrefixAndSuffixIons_(std::vector< float > &spectrum, const AASequence &peptide, Residue::ResidueType res_type, int charge)
helper for getPrefixAndSuffixIonsMZ. For given Ion-Type and charge calculates a peaks
double max_isotope_probability_
Definition TheoreticalSpectrumGenerator.h:206
double c_intensity_
Definition TheoreticalSpectrumGenerator.h:199
bool add_b_ions_
Definition TheoreticalSpectrumGenerator.h:178
double z_intensity_
Definition TheoreticalSpectrumGenerator.h:202
~TheoreticalSpectrumGenerator() override
destructor
bool add_term_losses_
Definition TheoreticalSpectrumGenerator.h:188
bool sort_by_position_
Definition TheoreticalSpectrumGenerator.h:196
bool add_abundant_immonium_ions_
Definition TheoreticalSpectrumGenerator.h:195
bool add_y_ions_
Definition TheoreticalSpectrumGenerator.h:179
void addLossesFaster_(PeakSpectrum &spectrum, double mz, const std::set< EmpiricalFormula > &f_losses, int ion_ordinal, DataArrays::StringDataArray &ion_names, DataArrays::IntegerDataArray &charges, const std::map< EmpiricalFormula, std::string > &formula_str_cache, double intensity, const std::string &annotation_prefix_string, bool add_metainfo, int charge) const
helper to add full neutral loss ladders (for single peaks), also adds charges and ion names to the Da...
TheoreticalSpectrumGenerator & operator=(const TheoreticalSpectrumGenerator &tsg)
assignment operator
bool getIonSeriesSpectrum(PeakSpectrum &spectrum, std::vector< uint8_t > &ion_series, std::vector< UInt > &ion_ordinals, std::vector< Int > &ion_charges, const AASequence &peptide, Int min_charge, Int max_charge) const
getIonSeriesSpectrum() that also returns, per peak, the number and the charge of its ion: what getSpe...
bool add_isotopes_
Definition TheoreticalSpectrumGenerator.h:190
void addInternalFragmentPeaks_(PeakSpectrum &spectrum, const AASequence &peptide, DataArrays::StringDataArray &ion_names, DataArrays::IntegerDataArray &charges, MSSpectrum::Chunks &chunks, const Residue::ResidueType res_type, Int charge) const
bool add_zp1_ions_
Definition TheoreticalSpectrumGenerator.h:184
bool getIonSeriesSpectrum_(PeakSpectrum &spectrum, std::vector< uint8_t > &ion_series, std::vector< UInt > *ion_ordinals, std::vector< Int > *ion_charges, std::vector< Residue::ResidueType > *ion_types, const AASequence &peptide, Int min_charge, Int max_charge) const
getIonSeriesSpectrum(), the ordinals, charges and ion types optional (nullptr: not written)
double pre_int_NH3_
Definition TheoreticalSpectrumGenerator.h:209
TheoreticalSpectrumGenerator(const TheoreticalSpectrumGenerator &source)
copy constructor
bool add_internal_fragments_
Definition TheoreticalSpectrumGenerator.h:191
bool getIonSeriesSpectrum(PeakSpectrum &spectrum, std::vector< uint8_t > &ion_series, const AASequence &peptide, Int min_charge, Int max_charge) const
The peaks of getSpectrum() for scoring: same positions, intensities and order, but no ion names,...
virtual void addPrecursorPeaks_(PeakSpectrum &spec, const AASequence &peptide, DataArrays::StringDataArray &ion_names, DataArrays::IntegerDataArray &charges, Int charge=1) const
adds the precursor peaks to the spectrum, also adds charges and ion names to the DataArrays,...
double x_intensity_
Definition TheoreticalSpectrumGenerator.h:200
bool add_zp2_ions_
Definition TheoreticalSpectrumGenerator.h:185
double a_intensity_
Definition TheoreticalSpectrumGenerator.h:197
bool add_first_prefix_ion_
Definition TheoreticalSpectrumGenerator.h:186
double b_intensity_
Definition TheoreticalSpectrumGenerator.h:198
void addIsotopeCluster_(PeakSpectrum &spectrum, const AASequence &ion, DataArrays::StringDataArray &ion_names, DataArrays::IntegerDataArray &charges, const Residue::ResidueType res_type, Int charge, double intensity) const
helper to add an isotope cluster to a spectrum, also adds charges and ion names to the DataArrays,...
static MSSpectrum generateSpectrum(const Precursor::ActivationMethod &fm, const AASequence &seq, int precursor_charge)
void updateMembers_() override
overwrite
double pre_int_
Definition TheoreticalSpectrumGenerator.h:207
double y_intensity_
Definition TheoreticalSpectrumGenerator.h:201
void addAbundantImmoniumIons_(PeakSpectrum &spec, const AASequence &peptide, DataArrays::StringDataArray &ion_names, DataArrays::IntegerDataArray &charges) const
Adds the common, most abundant immonium ions to the theoretical spectra if the residue is contained i...
virtual void getSpectrum(PeakSpectrum &spec, const AASequence &peptide, Int min_charge, Int max_charge, Int precursor_charge=0) const
void getPrefixAndSuffixIonsMZ(std::vector< float > &spectrum, const AASequence &peptide, int charge) const
Int max_isotope_
Definition TheoreticalSpectrumGenerator.h:204
bool add_c_ions_
Definition TheoreticalSpectrumGenerator.h:181
bool add_z_ions_
Definition TheoreticalSpectrumGenerator.h:183
bool add_metainfo_
Definition TheoreticalSpectrumGenerator.h:189
double pre_int_H2O_
Definition TheoreticalSpectrumGenerator.h:208
int Int
Signed integer type.
Definition Types.h:72
Main OpenMS namespace.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19
Container for organizing and managing multiple chunks in a spectrum.
Definition MSSpectrum.h:77