OpenMS
NuXLFragmentIonGenerator.h
Go to the documentation of this file.
1 // Copyright (c) 2002-2023, The OpenMS Team -- EKU Tuebingen, ETH Zurich, and FU Berlin
2 // SPDX-License-Identifier: BSD-3-Clause
3 //
4 // --------------------------------------------------------------------------
5 // $Maintainer: Timo Sachsenberg $
6 // $Authors: Timo Sachsenberg $
7 // --------------------------------------------------------------------------
8 
9 #pragma once
10 
18 #include <vector>
19 #include <map>
20 #include <set>
21 #include <iostream>
22 
23 namespace OpenMS
24 {
25 
26 // helper class that adds special ions not covered by TheoreticalSpectrumGenerator
27 class OPENMS_DLLAPI NuXLFragmentIonGenerator
28 {
29  public:
30  // prefix used to denote marker ions in fragment annotations
31  static constexpr const char* ANNOTATIONS_MARKER_ION_PREFIX = "MI:";
32 
33  // add RNA-marker ions of charge 1
34  // this includes the protonated nitrogenous base and all shifts (e.g., U-H2O, U'-H20, ...)
35  static void addMS2MarkerIons(
36  const std::vector<NuXLFragmentAdductDefinition>& marker_ions,
37  PeakSpectrum& spectrum,
38  PeakSpectrum::IntegerDataArray& spectrum_charge,
39  PeakSpectrum::StringDataArray& spectrum_annotation);
40 
42  const String & unmodified_sequence,
43  const String & fragment_shift_name,
44  const double fragment_shift_mass,
45  PeakSpectrum & partial_loss_spectrum,
46  PeakSpectrum::IntegerDataArray& partial_loss_spectrum_charge,
47  PeakSpectrum::StringDataArray& partial_loss_spectrum_annotation);
48 
49  static void generatePartialLossSpectrum(const String& unmodified_sequence,
50  const double& fixed_and_variable_modified_peptide_weight,
51  const String& precursor_rna_adduct,
52  const double& precursor_rna_mass,
53  const int& precursor_charge,
54  const std::vector<NuXLFragmentAdductDefinition>& partial_loss_modification,
55  const PeakSpectrum& patial_loss_template_z1,
56  const PeakSpectrum& patial_loss_template_z2,
57  const PeakSpectrum& patial_loss_template_z3,
58  PeakSpectrum& partial_loss_spectrum);
59  static void addPrecursorWithCompleteRNA_(const double fixed_and_variable_modified_peptide_weight,
60  const String & precursor_rna_adduct,
61  const double precursor_rna_mass,
62  const int charge,
63  PeakSpectrum & partial_loss_spectrum,
64  MSSpectrum::IntegerDataArray & partial_loss_spectrum_charge,
65  MSSpectrum::StringDataArray & partial_loss_spectrum_annotation);
66 
67  static void addSpecialLysImmonumIons(const String& unmodified_sequence,
68  PeakSpectrum &spectrum,
69  PeakSpectrum::IntegerDataArray &spectrum_charge,
70  PeakSpectrum::StringDataArray &spectrum_annotation);
71  };
72 }
Integer data array class.
Definition: DataArrays.h:75
String data array class.
Definition: DataArrays.h:125
The representation of a 1D spectrum.
Definition: MSSpectrum.h:44
Definition: NuXLFragmentIonGenerator.h:28
static void addPrecursorWithCompleteRNA_(const double fixed_and_variable_modified_peptide_weight, const String &precursor_rna_adduct, const double precursor_rna_mass, const int charge, PeakSpectrum &partial_loss_spectrum, MSSpectrum::IntegerDataArray &partial_loss_spectrum_charge, MSSpectrum::StringDataArray &partial_loss_spectrum_annotation)
static void addShiftedImmoniumIons(const String &unmodified_sequence, const String &fragment_shift_name, const double fragment_shift_mass, PeakSpectrum &partial_loss_spectrum, PeakSpectrum::IntegerDataArray &partial_loss_spectrum_charge, PeakSpectrum::StringDataArray &partial_loss_spectrum_annotation)
static void addMS2MarkerIons(const std::vector< NuXLFragmentAdductDefinition > &marker_ions, PeakSpectrum &spectrum, PeakSpectrum::IntegerDataArray &spectrum_charge, PeakSpectrum::StringDataArray &spectrum_annotation)
static void generatePartialLossSpectrum(const String &unmodified_sequence, const double &fixed_and_variable_modified_peptide_weight, const String &precursor_rna_adduct, const double &precursor_rna_mass, const int &precursor_charge, const std::vector< NuXLFragmentAdductDefinition > &partial_loss_modification, const PeakSpectrum &patial_loss_template_z1, const PeakSpectrum &patial_loss_template_z2, const PeakSpectrum &patial_loss_template_z3, PeakSpectrum &partial_loss_spectrum)
static void addSpecialLysImmonumIons(const String &unmodified_sequence, PeakSpectrum &spectrum, PeakSpectrum::IntegerDataArray &spectrum_charge, PeakSpectrum::StringDataArray &spectrum_annotation)
A more convenient string class.
Definition: String.h:34
Main OpenMS namespace.
Definition: openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19