OpenMS
Loading...
Searching...
No Matches
TheoreticalSpectrumGeneratorXLMS.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: Eugen Netz $
6// $Authors: Eugen Netz $
7// --------------------------------------------------------------------------
8
9
10#pragma once
11
17
18
19namespace OpenMS
20{
21 class AASequence;
22
41 {
42 public:
43
44 struct LossIndex
45 {
46 bool has_H2O_loss = false;
47 bool has_NH3_loss = false;
48 };
49
55
58
62
65
82 virtual void getLinearIonSpectrum(PeakSpectrum & spectrum, AASequence & peptide, Size link_pos, bool frag_alpha, int charge = 1, Size link_pos_2 = 0) const;
83
107 virtual void getXLinkIonSpectrum(PeakSpectrum & spectrum, AASequence & peptide, Size link_pos, double precursor_mass, bool frag_alpha, int mincharge, int maxcharge, Size link_pos_2 = 0) const;
108
126 virtual void getXLinkIonSpectrum(PeakSpectrum & spectrum, OPXLDataStructs::ProteinProteinCrossLink & crosslink, bool frag_alpha, int mincharge, int maxcharge) const;
127
129 void updateMembers_() override;
130
131 protected:
132
147 virtual void addLinearPeaks_(PeakSpectrum & spectrum, DataArrays::IntegerDataArray & charges, DataArrays::StringDataArray & ion_names, AASequence & peptide, Size link_pos, bool frag_alpha, Residue::ResidueType res_type, std::vector< LossIndex > & forward_losses, std::vector< LossIndex > & backward_losses, int charge = 1, Size link_pos_2 = 0) const;
148
166 virtual void addPeak_(PeakSpectrum & spectrum, DataArrays::IntegerDataArray & charges, DataArrays::StringDataArray & ion_names, double pos, double intensity, Residue::ResidueType res_type, Size ion_index, int charge, String ion_type) const;
167
177 virtual void addPrecursorPeaks_(PeakSpectrum & spectrum, DataArrays::IntegerDataArray & charges, DataArrays::StringDataArray & ion_names, double precursor_mass, int charge) const;
178
193 virtual void addLinearIonLosses_(PeakSpectrum & spectrum, DataArrays::IntegerDataArray& charges, DataArrays::StringDataArray& ion_names, double mono_weight, Residue::ResidueType res_type, Size frag_index, double intensity, int charge, String ion_type, LossIndex & losses) const;
194
207 virtual void addXLinkIonLosses_(PeakSpectrum& spectrum, DataArrays::IntegerDataArray& charges, DataArrays::StringDataArray& ion_names, double mono_weight, double intensity, int charge, String ion_type, LossIndex & losses) const;
208
225 virtual void addKLinkedIonPeaks_(PeakSpectrum & spectrum, DataArrays::IntegerDataArray & charges, DataArrays::StringDataArray & ion_names, AASequence & peptide, Size link_pos, double precursor_mass, bool frag_alpha, int charge) const;
226
245 virtual void addXLinkIonPeaks_(PeakSpectrum& spectrum, DataArrays::IntegerDataArray & charges, DataArrays::StringDataArray & ion_names, AASequence & peptide, Size link_pos, double precursor_mass, bool frag_alpha, Residue::ResidueType res_type, std::vector< LossIndex > & forward_losses, std::vector< LossIndex > & backward_losses, int charge, Size link_pos_2 = 0) const;
246
263 virtual void addXLinkIonPeaks_(PeakSpectrum & spectrum, DataArrays::IntegerDataArray & charges, DataArrays::StringDataArray & ion_names, OPXLDataStructs::ProteinProteinCrossLink & crosslink, bool frag_alpha, Residue::ResidueType res_type, std::vector< LossIndex > & forward_losses, std::vector< LossIndex > & backward_losses, LossIndex & losses_peptide2, int charge) const;
264
272 std::vector< LossIndex > getForwardLosses_(AASequence & peptide) const;
273
281 std::vector< LossIndex > getBackwardLosses_(AASequence & peptide) const;
282
304 double pre_int_;
308
309 std::map< String, LossIndex > loss_db_;
310 double loss_H2O_ = 0;
311 double loss_NH3_ = 0;
312 };
313}
Representation of a peptide/protein sequence.
Definition AASequence.h:88
Integer data array class.
Definition DataArrays.h:75
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
ResidueType
Definition Residue.h:152
A more convenient string class.
Definition String.h:34
Definition TheoreticalSpectrumGeneratorXLMS.h:41
virtual void getLinearIonSpectrum(PeakSpectrum &spectrum, AASequence &peptide, Size link_pos, bool frag_alpha, int charge=1, Size link_pos_2=0) const
Generates fragment ions not containing the cross-linker for one peptide.
bool add_x_ions_
Definition TheoreticalSpectrumGeneratorXLMS.h:287
bool add_precursor_peaks_
Definition TheoreticalSpectrumGeneratorXLMS.h:294
TheoreticalSpectrumGeneratorXLMS & operator=(const TheoreticalSpectrumGeneratorXLMS &tsg)
assignment operator
double rel_loss_intensity_
Definition TheoreticalSpectrumGeneratorXLMS.h:303
bool add_charges_
Definition TheoreticalSpectrumGeneratorXLMS.h:292
std::vector< LossIndex > getForwardLosses_(AASequence &peptide) const
Calculates sets of possible neutral losses for each position in the given peptide.
bool add_losses_
Definition TheoreticalSpectrumGeneratorXLMS.h:290
bool add_a_ions_
Definition TheoreticalSpectrumGeneratorXLMS.h:285
double c_intensity_
Definition TheoreticalSpectrumGeneratorXLMS.h:298
bool add_b_ions_
Definition TheoreticalSpectrumGeneratorXLMS.h:283
double z_intensity_
Definition TheoreticalSpectrumGeneratorXLMS.h:301
bool add_abundant_immonium_ions_
Definition TheoreticalSpectrumGeneratorXLMS.h:295
virtual void getXLinkIonSpectrum(PeakSpectrum &spectrum, OPXLDataStructs::ProteinProteinCrossLink &crosslink, bool frag_alpha, int mincharge, int maxcharge) const
Generates fragment ions containing the cross-linker for a pair of peptides.
virtual void getXLinkIonSpectrum(PeakSpectrum &spectrum, AASequence &peptide, Size link_pos, double precursor_mass, bool frag_alpha, int mincharge, int maxcharge, Size link_pos_2=0) const
Generates fragment ions containing the cross-linker for one peptide.
bool add_y_ions_
Definition TheoreticalSpectrumGeneratorXLMS.h:284
virtual void addPeak_(PeakSpectrum &spectrum, DataArrays::IntegerDataArray &charges, DataArrays::StringDataArray &ion_names, double pos, double intensity, Residue::ResidueType res_type, Size ion_index, int charge, String ion_type) const
Adds a single peak to a spectrum and its charge and ion name to the given DataArrays.
virtual void addLinearIonLosses_(PeakSpectrum &spectrum, DataArrays::IntegerDataArray &charges, DataArrays::StringDataArray &ion_names, double mono_weight, Residue::ResidueType res_type, Size frag_index, double intensity, int charge, String ion_type, LossIndex &losses) const
Adds losses for a linear ion.
virtual void addXLinkIonLosses_(PeakSpectrum &spectrum, DataArrays::IntegerDataArray &charges, DataArrays::StringDataArray &ion_names, double mono_weight, double intensity, int charge, String ion_type, LossIndex &losses) const
Adds losses for a cross-linked ion.
~TheoreticalSpectrumGeneratorXLMS() override
destructor
bool add_isotopes_
Definition TheoreticalSpectrumGeneratorXLMS.h:293
double pre_int_NH3_
Definition TheoreticalSpectrumGeneratorXLMS.h:306
virtual void addXLinkIonPeaks_(PeakSpectrum &spectrum, DataArrays::IntegerDataArray &charges, DataArrays::StringDataArray &ion_names, AASequence &peptide, Size link_pos, double precursor_mass, bool frag_alpha, Residue::ResidueType res_type, std::vector< LossIndex > &forward_losses, std::vector< LossIndex > &backward_losses, int charge, Size link_pos_2=0) const
Adds cross-linked ions of a specific ion type and charge to a spectrum and adds ion name and charge a...
virtual void addKLinkedIonPeaks_(PeakSpectrum &spectrum, DataArrays::IntegerDataArray &charges, DataArrays::StringDataArray &ion_names, AASequence &peptide, Size link_pos, double precursor_mass, bool frag_alpha, int charge) const
Adds one-residue-linked ion peaks, that are specific to XLMS.
double x_intensity_
Definition TheoreticalSpectrumGeneratorXLMS.h:299
bool add_k_linked_ions_
Definition TheoreticalSpectrumGeneratorXLMS.h:307
virtual void addPrecursorPeaks_(PeakSpectrum &spectrum, DataArrays::IntegerDataArray &charges, DataArrays::StringDataArray &ion_names, double precursor_mass, int charge) const
Adds precursor masses including neutral losses for the given charge and adds charge and ion name to t...
double a_intensity_
Definition TheoreticalSpectrumGeneratorXLMS.h:296
bool add_first_prefix_ion_
Definition TheoreticalSpectrumGeneratorXLMS.h:289
TheoreticalSpectrumGeneratorXLMS(const TheoreticalSpectrumGeneratorXLMS &source)
copy constructor
double b_intensity_
Definition TheoreticalSpectrumGeneratorXLMS.h:297
void updateMembers_() override
overwrite
TheoreticalSpectrumGeneratorXLMS()
default constructor
virtual void addLinearPeaks_(PeakSpectrum &spectrum, DataArrays::IntegerDataArray &charges, DataArrays::StringDataArray &ion_names, AASequence &peptide, Size link_pos, bool frag_alpha, Residue::ResidueType res_type, std::vector< LossIndex > &forward_losses, std::vector< LossIndex > &backward_losses, int charge=1, Size link_pos_2=0) const
Adds cross-link-less ions of a specific ion type and charge to a spectrum and adds ion name and charg...
std::map< String, LossIndex > loss_db_
Definition TheoreticalSpectrumGeneratorXLMS.h:309
double pre_int_
Definition TheoreticalSpectrumGeneratorXLMS.h:304
double y_intensity_
Definition TheoreticalSpectrumGeneratorXLMS.h:300
virtual void addXLinkIonPeaks_(PeakSpectrum &spectrum, DataArrays::IntegerDataArray &charges, DataArrays::StringDataArray &ion_names, OPXLDataStructs::ProteinProteinCrossLink &crosslink, bool frag_alpha, Residue::ResidueType res_type, std::vector< LossIndex > &forward_losses, std::vector< LossIndex > &backward_losses, LossIndex &losses_peptide2, int charge) const
Adds cross-linked ions of a specific ion type and charge to a spectrum and adds ion name and charge a...
Int max_isotope_
Definition TheoreticalSpectrumGeneratorXLMS.h:302
std::vector< LossIndex > getBackwardLosses_(AASequence &peptide) const
Calculates sets of possible neutral losses for each position in the given peptide.
bool add_c_ions_
Definition TheoreticalSpectrumGeneratorXLMS.h:286
bool add_z_ions_
Definition TheoreticalSpectrumGeneratorXLMS.h:288
bool add_metainfo_
Definition TheoreticalSpectrumGeneratorXLMS.h:291
double pre_int_H2O_
Definition TheoreticalSpectrumGeneratorXLMS.h:305
Definition TheoreticalSpectrumGeneratorXLMS.h:45
int Int
Signed integer type.
Definition Types.h:72
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