OpenMS
Loading...
Searching...
No Matches
SimpleTSGXLMS.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
36 class OPENMS_DLLAPI SimpleTSGXLMS :
38 {
39 public:
40
45 {
46 double mz;
47 int charge;
48
49 SimplePeak(double mz, int charge)
50 : mz(mz), charge(charge)
51 {}
52
54 : mz(0.0), charge(0)
55 {}
56 };
57
62 {
63 bool operator() (const SimplePeak& a, const SimplePeak& b)
64 {
65 return a.mz < b.mz;
66 }
67 };
68
69 struct LossIndex
70 {
71 bool has_H2O_loss = false;
72 bool has_NH3_loss = false;
73 };
74
80
83
85 ~SimpleTSGXLMS() override;
87
90
106 virtual void getLinearIonSpectrum(std::vector< SimplePeak >& spectrum, AASequence& peptide, Size link_pos, int charge = 1, Size link_pos_2 = 0) const;
107
130 virtual void getXLinkIonSpectrum(std::vector< SimplePeak >& spectrum, AASequence& peptide, Size link_pos, double precursor_mass, int min_charge, int max_charge, Size link_pos_2 = 0) const;
131
149 virtual void getXLinkIonSpectrum(std::vector< SimplePeak >& spectrum, OPXLDataStructs::ProteinProteinCrossLink& crosslink, bool frag_alpha, int min_charge, int max_charge) const;
150
152 void updateMembers_() override;
153
154 protected:
155
167 virtual void addLinearPeaks_(std::vector< SimplePeak >& spectrum, AASequence& peptide, Size link_pos, Residue::ResidueType res_type, std::vector< LossIndex >& forward_losses, std::vector< LossIndex >& backward_losses, int charge = 1, Size link_pos_2 = 0) const;
168
176 virtual void addPrecursorPeaks_(std::vector< SimplePeak >& spectrum, double precursor_mass, int charge) const;
177
186 virtual void addLosses_(std::vector< SimplePeak >& spectrum, double mono_weight, int charge, LossIndex & losses) const;
187
201 virtual void addKLinkedIonPeaks_(std::vector< SimplePeak >& spectrum, AASequence & peptide, Size link_pos, double precursor_mass, int charge) const;
202
218 virtual void addXLinkIonPeaks_(std::vector<SimplePeak>& spectrum, AASequence& peptide, Size link_pos, double precursor_mass, Residue::ResidueType res_type, std::vector< LossIndex > & forward_losses, std::vector< LossIndex > & backward_losses, int charge, Size link_pos_2 = 0) const;
219
234 virtual void addXLinkIonPeaks_(std::vector< SimplePeak >& spectrum, 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;
235
243 std::vector< LossIndex > getForwardLosses_(AASequence & peptide) const;
244
252 std::vector< LossIndex > getBackwardLosses_(AASequence & peptide) const;
253
267 double pre_int_;
271
272 std::map< String, LossIndex > loss_db_;
273 double loss_H2O_ = 0;
274 double loss_NH3_ = 0;
275 };
276}
Representation of a peptide/protein sequence.
Definition AASequence.h:88
A base class for all classes handling default parameters.
Definition DefaultParamHandler.h:66
ResidueType
Definition Residue.h:152
Generates theoretical spectra for cross-linked peptides.
Definition SimpleTSGXLMS.h:38
bool add_x_ions_
Definition SimpleTSGXLMS.h:258
bool add_precursor_peaks_
Definition SimpleTSGXLMS.h:264
bool add_charges_
Definition SimpleTSGXLMS.h:262
std::vector< LossIndex > getForwardLosses_(AASequence &peptide) const
Calculates sets of possible neutral losses for each position in the given peptide.
bool add_losses_
Definition SimpleTSGXLMS.h:261
virtual void addLinearPeaks_(std::vector< SimplePeak > &spectrum, AASequence &peptide, Size link_pos, 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.
bool add_a_ions_
Definition SimpleTSGXLMS.h:256
bool add_b_ions_
Definition SimpleTSGXLMS.h:254
bool add_abundant_immonium_ions_
Definition SimpleTSGXLMS.h:265
virtual void addPrecursorPeaks_(std::vector< SimplePeak > &spectrum, double precursor_mass, int charge) const
Adds precursor masses including neutral losses for the given charge.
SimpleTSGXLMS()
default constructor
bool add_y_ions_
Definition SimpleTSGXLMS.h:255
bool add_isotopes_
Definition SimpleTSGXLMS.h:263
SimpleTSGXLMS(const SimpleTSGXLMS &source)
copy constructor
double pre_int_NH3_
Definition SimpleTSGXLMS.h:269
virtual void addKLinkedIonPeaks_(std::vector< SimplePeak > &spectrum, AASequence &peptide, Size link_pos, double precursor_mass, int charge) const
Adds one-residue-linked ion peaks, that are specific to XLMS.
virtual void addLosses_(std::vector< SimplePeak > &spectrum, double mono_weight, int charge, LossIndex &losses) const
Adds neutral losses for an ion to a spectrum.
bool add_k_linked_ions_
Definition SimpleTSGXLMS.h:270
SimpleTSGXLMS & operator=(const SimpleTSGXLMS &tsg)
assignment operator
bool add_first_prefix_ion_
Definition SimpleTSGXLMS.h:260
~SimpleTSGXLMS() override
destructor
void updateMembers_() override
overwrite
virtual void addXLinkIonPeaks_(std::vector< SimplePeak > &spectrum, AASequence &peptide, Size link_pos, double precursor_mass, 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.
virtual void getXLinkIonSpectrum(std::vector< SimplePeak > &spectrum, AASequence &peptide, Size link_pos, double precursor_mass, int min_charge, int max_charge, Size link_pos_2=0) const
Generates fragment ions containing the cross-linker for one peptide.
std::map< String, LossIndex > loss_db_
Definition SimpleTSGXLMS.h:272
double pre_int_
Definition SimpleTSGXLMS.h:267
virtual void getLinearIonSpectrum(std::vector< SimplePeak > &spectrum, AASequence &peptide, Size link_pos, int charge=1, Size link_pos_2=0) const
Generates fragment ions not containing the cross-linker for one peptide.
Int max_isotope_
Definition SimpleTSGXLMS.h:266
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 SimpleTSGXLMS.h:257
virtual void addXLinkIonPeaks_(std::vector< SimplePeak > &spectrum, 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.
bool add_z_ions_
Definition SimpleTSGXLMS.h:259
virtual void getXLinkIonSpectrum(std::vector< SimplePeak > &spectrum, OPXLDataStructs::ProteinProteinCrossLink &crosslink, bool frag_alpha, int min_charge, int max_charge) const
Generates fragment ions containing the cross-linker for a pair of peptides.
double pre_int_H2O_
Definition SimpleTSGXLMS.h:268
Definition SimpleTSGXLMS.h:70
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
Comparator to sort SimplePeaks by mz.
Definition SimpleTSGXLMS.h:62
A simple struct to represent peaks with mz and charge and sort them easily.
Definition SimpleTSGXLMS.h:45
SimplePeak(double mz, int charge)
Definition SimpleTSGXLMS.h:49
double mz
Definition SimpleTSGXLMS.h:46
SimplePeak()
Definition SimpleTSGXLMS.h:53
int charge
Definition SimpleTSGXLMS.h:47