OpenMS
TheoreticalSpectrumGenerator.h
Go to the documentation of this file.
1 // Copyright (c) 2002-present, The OpenMS Team -- 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 
17 namespace OpenMS
18 {
19  class AASequence;
20 
42  class OPENMS_DLLAPI TheoreticalSpectrumGenerator :
43  public DefaultParamHandler
44  {
45  public:
46 
52 
55 
59 
62 
69  virtual void getSpectrum(PeakSpectrum& spec, const AASequence& peptide, Int min_charge, Int max_charge, Int precursor_charge = 0) const;
70 
76  static MSSpectrum generateSpectrum(const Precursor::ActivationMethod& fm, const AASequence& seq, int precursor_charge);
77 
79  void updateMembers_() override;
81 
82  protected:
83 
85  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;
86 
88  virtual void addPrecursorPeaks_(PeakSpectrum& spec, const AASequence& peptide, DataArrays::StringDataArray& ion_names, DataArrays::IntegerDataArray& charges, Int charge = 1) const;
89 
92 
94  void addIsotopeCluster_(PeakSpectrum& spectrum, const AASequence& ion, DataArrays::StringDataArray& ion_names, DataArrays::IntegerDataArray& charges, const Residue::ResidueType res_type, Int charge, double intensity) const;
95 
97  void addLosses_(PeakSpectrum& spectrum, const AASequence& ion, DataArrays::StringDataArray& ion_names, DataArrays::IntegerDataArray& charges, double intensity, const Residue::ResidueType res_type, int charge) const;
98 
100  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, String>& formula_str_cache, double intensity, const Residue::ResidueType res_type, bool add_metainfo, int charge) const;
101 
119  double a_intensity_;
120  double b_intensity_;
121  double c_intensity_;
122  double x_intensity_;
123  double y_intensity_;
124  double z_intensity_;
125 
129  double pre_int_;
130  double pre_int_H2O_;
131  double pre_int_NH3_;
132  };
133 }
Representation of a peptide/protein sequence.
Definition: AASequence.h:86
Integer data array class.
Definition: DataArrays.h:30
String data array class.
Definition: DataArrays.h:38
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:59
ResidueType
Definition: Residue.h:149
Generates theoretical spectra for peptides with various options.
Definition: TheoreticalSpectrumGenerator.h:44
bool add_x_ions_
Definition: TheoreticalSpectrumGenerator.h:106
bool add_precursor_peaks_
Definition: TheoreticalSpectrumGenerator.h:115
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...
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:127
bool add_all_precursor_charges_
Definition: TheoreticalSpectrumGenerator.h:116
bool add_losses_
Definition: TheoreticalSpectrumGenerator.h:111
bool add_a_ions_
Definition: TheoreticalSpectrumGenerator.h:104
double max_isotope_probability_
Definition: TheoreticalSpectrumGenerator.h:128
double c_intensity_
Definition: TheoreticalSpectrumGenerator.h:121
bool add_b_ions_
Definition: TheoreticalSpectrumGenerator.h:102
double z_intensity_
Definition: TheoreticalSpectrumGenerator.h:124
~TheoreticalSpectrumGenerator() override
destructor
bool sort_by_position_
Definition: TheoreticalSpectrumGenerator.h:118
bool add_abundant_immonium_ions_
Definition: TheoreticalSpectrumGenerator.h:117
bool add_y_ions_
Definition: TheoreticalSpectrumGenerator.h:103
bool add_isotopes_
Definition: TheoreticalSpectrumGenerator.h:113
bool add_zp1_ions_
Definition: TheoreticalSpectrumGenerator.h:108
double pre_int_NH3_
Definition: TheoreticalSpectrumGenerator.h:131
TheoreticalSpectrumGenerator(const TheoreticalSpectrumGenerator &source)
copy constructor
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:122
TheoreticalSpectrumGenerator & operator=(const TheoreticalSpectrumGenerator &tsg)
assignment operator
bool add_zp2_ions_
Definition: TheoreticalSpectrumGenerator.h:109
double a_intensity_
Definition: TheoreticalSpectrumGenerator.h:119
bool add_first_prefix_ion_
Definition: TheoreticalSpectrumGenerator.h:110
double b_intensity_
Definition: TheoreticalSpectrumGenerator.h:120
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,...
int isotope_model_
Definition: TheoreticalSpectrumGenerator.h:114
static MSSpectrum generateSpectrum(const Precursor::ActivationMethod &fm, const AASequence &seq, int precursor_charge)
void updateMembers_() override
overwrite
double pre_int_
Definition: TheoreticalSpectrumGenerator.h:129
double y_intensity_
Definition: TheoreticalSpectrumGenerator.h:123
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
Int max_isotope_
Definition: TheoreticalSpectrumGenerator.h:126
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, String > &formula_str_cache, double intensity, const Residue::ResidueType res_type, 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...
bool add_c_ions_
Definition: TheoreticalSpectrumGenerator.h:105
bool add_z_ions_
Definition: TheoreticalSpectrumGenerator.h:107
bool add_metainfo_
Definition: TheoreticalSpectrumGenerator.h:112
double pre_int_H2O_
Definition: TheoreticalSpectrumGenerator.h:130
int Int
Signed integer type.
Definition: Types.h:72
Main OpenMS namespace.
Definition: openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19
Definition: MSSpectrum.h:67