OpenMS
Loading...
Searching...
No Matches
MultiplexDeltaMassesGenerator.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: Lars Nilse $
6// $Authors: Lars Nilse $
7// --------------------------------------------------------------------------
8
9#pragma once
10
16
17#include <vector>
18#include <algorithm>
19#include <iosfwd>
20
21
22namespace OpenMS
23{
34 class OPENMS_DLLAPI MultiplexDeltaMassesGenerator :
36 {
37 public:
38
42 struct OPENMS_DLLAPI Label
43 {
44 std::string short_name;
45 std::string long_name;
46 std::string description;
47 double delta_mass;
48
49 Label(std::string sn, std::string ln, std::string d, double dm);
50 };
51
56
66 MultiplexDeltaMassesGenerator(std::string labels, int max_nr_labelled_aas, std::map<std::string,double> label_mass_shift);
67
73
82 void printSamplesLabelsList(std::ostream &stream) const;
83
96 void printDeltaMassesList(std::ostream &stream) const;
97
101 std::vector<MultiplexDeltaMasses> getDeltaMassesList();
102
106 const std::vector<MultiplexDeltaMasses>& getDeltaMassesList() const;
107
115 std::vector<std::vector<std::string> > getSamplesLabelsList();
116
124 const std::vector<std::vector<std::string> >& getSamplesLabelsList() const;
125
131 std::string getLabelShort(const std::string& label);
132
138 std::string getLabelLong(const std::string& label);
139
149
150 private:
151
155 std::string labels_;
156
160 std::vector<std::string> labels_list_;
161
165 std::vector<std::vector<std::string> > samples_labels_;
166
171
175 std::vector<MultiplexDeltaMasses> delta_masses_list_;
176
180 std::vector<Label> label_master_list_;
181
186 std::map<std::string, double> label_delta_mass_;
187
192 std::map<std::string, std::string> label_short_long_;
193
198 std::map<std::string, std::string> label_long_short_;
199
204 };
205
206}
207
Representation of a peptide/protein sequence.
Definition AASequence.h:88
A base class for all classes handling default parameters.
Definition DefaultParamHandler.h:66
generates complete list of all possible mass shifts due to isotopic labelling
Definition MultiplexDeltaMassesGenerator.h:36
std::string getLabelShort(const std::string &label)
returns the short label string
const std::vector< MultiplexDeltaMasses > & getDeltaMassesList() const
returns the list of mass shift patterns
void generateKnockoutDeltaMasses()
generate all mass shifts that can occur due to the absence of one or multiple peptides (e....
MultiplexDeltaMasses::LabelSet extractLabelSet(const AASequence &sequence)
extract the label set from the sequence
std::string labels_
isotopic labels
Definition MultiplexDeltaMassesGenerator.h:155
std::string getLabelLong(const std::string &label)
returns the long label string
void printSamplesLabelsList(std::ostream &stream) const
write the list of labels for each of the sample
std::vector< Label > label_master_list_
master list of all labels
Definition MultiplexDeltaMassesGenerator.h:180
MultiplexDeltaMassesGenerator(std::string labels, int max_nr_labelled_aas, std::map< std::string, double > label_mass_shift)
constructor
std::vector< std::vector< std::string > > samples_labels_
list of samples with their corresponding labels
Definition MultiplexDeltaMassesGenerator.h:165
std::vector< MultiplexDeltaMasses > delta_masses_list_
list of all possible mass shift patterns
Definition MultiplexDeltaMassesGenerator.h:175
int max_nr_labelled_aas_
maximum number of labelled amino acids per peptide
Definition MultiplexDeltaMassesGenerator.h:170
void fillLabelMasterList_()
fill label master list
std::map< std::string, std::string > label_short_long_
mapping from a short label (as in the user params) to a long label (as in PSI-MS name) e....
Definition MultiplexDeltaMassesGenerator.h:192
const std::vector< std::vector< std::string > > & getSamplesLabelsList() const
returns the list of samples with their corresponding labels
void printDeltaMassesList(std::ostream &stream) const
write the list of all mass patterns
std::map< std::string, std::string > label_long_short_
mapping from a long label (as in PSI-MS name) to a short label (as in the user params) e....
Definition MultiplexDeltaMassesGenerator.h:198
std::vector< std::string > labels_list_
flat list of all occurring isotopic labels
Definition MultiplexDeltaMassesGenerator.h:160
std::map< std::string, double > label_delta_mass_
mapping from single label to delta mass e.g. "Arg10" -> 10.0082686
Definition MultiplexDeltaMassesGenerator.h:186
std::vector< std::vector< std::string > > getSamplesLabelsList()
returns the list of samples with their corresponding labels
std::vector< MultiplexDeltaMasses > getDeltaMassesList()
returns the list of mass shift patterns
std::multiset< std::string > LabelSet
set of labels associated with a mass shift
Definition MultiplexDeltaMasses.h:46
Main OpenMS namespace.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19
complete label information
Definition MultiplexDeltaMassesGenerator.h:43
std::string description
Definition MultiplexDeltaMassesGenerator.h:46
std::string long_name
Definition MultiplexDeltaMassesGenerator.h:45
double delta_mass
Definition MultiplexDeltaMassesGenerator.h:47
std::string short_name
Definition MultiplexDeltaMassesGenerator.h:44
Label(std::string sn, std::string ln, std::string d, double dm)