OpenMS
MultiplexDeltaMassesGenerator Class Reference

generates complete list of all possible mass shifts due to isotopic labelling More...

#include <OpenMS/TRANSFORMATIONS/FEATUREFINDER/MultiplexDeltaMassesGenerator.h>

Inheritance diagram for MultiplexDeltaMassesGenerator:
[legend]
Collaboration diagram for MultiplexDeltaMassesGenerator:
[legend]

Classes

struct  Label
 complete label information More...
 

Public Member Functions

 MultiplexDeltaMassesGenerator ()
 constructor More...
 
 MultiplexDeltaMassesGenerator (String labels, int missed_cleavages, std::map< String, double > label_mass_shift)
 constructor More...
 
void generateKnockoutDeltaMasses ()
 generate all mass shifts that can occur due to the absence of one or multiple peptides (e.g. for a triplet experiment generate the doublets and singlets that might be present) More...
 
void printSamplesLabelsList (std::ostream &stream) const
 write the list of labels for each of the sample More...
 
void printDeltaMassesList (std::ostream &stream) const
 write the list of all mass patterns More...
 
std::vector< MultiplexDeltaMassesgetDeltaMassesList ()
 returns the list of mass shift patterns More...
 
const std::vector< MultiplexDeltaMasses > & getDeltaMassesList () const
 returns the list of mass shift patterns More...
 
std::vector< std::vector< String > > getSamplesLabelsList ()
 returns the list of samples with their corresponding labels More...
 
const std::vector< std::vector< String > > & getSamplesLabelsList () const
 returns the list of samples with their corresponding labels More...
 
String getLabelShort (const String &label)
 returns the short label string More...
 
String getLabelLong (const String &label)
 returns the long label string More...
 
MultiplexDeltaMasses::LabelSet extractLabelSet (const AASequence &sequence)
 extract the label set from the sequence More...
 
- Public Member Functions inherited from DefaultParamHandler
 DefaultParamHandler (const String &name)
 Constructor with name that is displayed in error messages. More...
 
 DefaultParamHandler (const DefaultParamHandler &rhs)
 Copy constructor. More...
 
virtual ~DefaultParamHandler ()
 Destructor. More...
 
DefaultParamHandleroperator= (const DefaultParamHandler &rhs)
 Assignment operator. More...
 
virtual bool operator== (const DefaultParamHandler &rhs) const
 Equality operator. More...
 
void setParameters (const Param &param)
 Sets the parameters. More...
 
const ParamgetParameters () const
 Non-mutable access to the parameters. More...
 
const ParamgetDefaults () const
 Non-mutable access to the default parameters. More...
 
const StringgetName () const
 Non-mutable access to the name. More...
 
void setName (const String &name)
 Mutable access to the name. More...
 
const std::vector< String > & getSubsections () const
 Non-mutable access to the registered subsections. More...
 

Private Member Functions

void fillLabelMasterList_ ()
 fill label master list More...
 

Private Attributes

String labels_
 isotopic labels More...
 
std::vector< Stringlabels_list_
 flat list of all occurring isotopic labels More...
 
std::vector< std::vector< String > > samples_labels_
 list of samples with their corresponding labels More...
 
int missed_cleavages_
 maximum number of missed cleavages More...
 
std::vector< MultiplexDeltaMassesdelta_masses_list_
 list of all possible mass shift patterns More...
 
std::vector< Labellabel_master_list_
 master list of all labels More...
 
std::map< String, double > label_delta_mass_
 mapping from single label to delta mass e.g. "Arg10" -> 10.0082686 More...
 
std::map< String, Stringlabel_short_long_
 mapping from a short label (as in the user params) to a long label (as in PSI-MS name) e.g. "Arg10" -> "Label:13C(6)15N(4)" More...
 
std::map< String, Stringlabel_long_short_
 mapping from a long label (as in PSI-MS name) to a short label (as in the user params) e.g. "Label:13C(6)15N(4)" -> "Arg10" More...
 

Additional Inherited Members

- Static Public Member Functions inherited from DefaultParamHandler
static void writeParametersToMetaValues (const Param &write_this, MetaInfoInterface &write_here, const String &key_prefix="")
 Writes all parameters to meta values. More...
 
- Protected Member Functions inherited from DefaultParamHandler
virtual void updateMembers_ ()
 This method is used to update extra member variables at the end of the setParameters() method. More...
 
void defaultsToParam_ ()
 Updates the parameters after the defaults have been set in the constructor. More...
 
- Protected Attributes inherited from DefaultParamHandler
Param param_
 Container for current parameters. More...
 
Param defaults_
 Container for default parameters. This member should be filled in the constructor of derived classes! More...
 
std::vector< Stringsubsections_
 Container for registered subsections. This member should be filled in the constructor of derived classes! More...
 
String error_name_
 Name that is displayed in error messages during the parameter checking. More...
 
bool check_defaults_
 If this member is set to false no checking if parameters in done;. More...
 
bool warn_empty_defaults_
 If this member is set to false no warning is emitted when defaults are empty;. More...
 

Detailed Description

generates complete list of all possible mass shifts due to isotopic labelling

Isotopic labelling results in the shift of peptide masses.

For example in a Lys8/Arg10 SILAC labelled sample, some peptides (the ones with one Arg in their sequence) will show a relative mass shift between light and heavy partners of 10 Da. This class constructs the complete list of all possible mass shifts that arise from isotopic labelling.

Constructor & Destructor Documentation

◆ MultiplexDeltaMassesGenerator() [1/2]

◆ MultiplexDeltaMassesGenerator() [2/2]

MultiplexDeltaMassesGenerator ( String  labels,
int  missed_cleavages,
std::map< String, double >  label_mass_shift 
)

constructor

Parameters
labelsstring describing the labels used in each sample. [...] specifies the labels for a single sample. For example For example, [][Lys8,Arg10] describes a standard SILAC experiment. In the "light" sample, none of the amino acids are labelled []. In the "heavy" sample, lysines and arginines are isotopically labelled [Lys8,Arg10].
missed_cleavagesmaximum number of missed cleavages due to incomplete digestion
label_mass_shiftname of labels (e.g. Lys8) and their corresponding mass shifts (e.g. 8.0141988132)

Member Function Documentation

◆ extractLabelSet()

MultiplexDeltaMasses::LabelSet extractLabelSet ( const AASequence sequence)

extract the label set from the sequence

Parameters
sequenceamino acid sequence

For example, the sequence VLSEEEIDDNFK(Label:13C(6)15N(2))AQR(Label:13C(6)15N(4)) contains a set of two labels, Lys8 and Arg10.

◆ fillLabelMasterList_()

void fillLabelMasterList_ ( )
private

fill label master list

◆ generateKnockoutDeltaMasses()

void generateKnockoutDeltaMasses ( )

generate all mass shifts that can occur due to the absence of one or multiple peptides (e.g. for a triplet experiment generate the doublets and singlets that might be present)

◆ getDeltaMassesList() [1/2]

std::vector<MultiplexDeltaMasses> getDeltaMassesList ( )

returns the list of mass shift patterns

Parameters
streamoutput stream

◆ getDeltaMassesList() [2/2]

const std::vector<MultiplexDeltaMasses>& getDeltaMassesList ( ) const

returns the list of mass shift patterns

◆ getLabelLong()

String getLabelLong ( const String label)

returns the long label string

Parameters
labelshort label, as it appears in the "labels" parameter, e.g. "Arg10"

◆ getLabelShort()

String getLabelShort ( const String label)

returns the short label string

Parameters
labellong label, UniMod name as it appears in peptide sequences, e.g. "Label:13C(6)15N(4)"

◆ getSamplesLabelsList() [1/2]

std::vector<std::vector<String> > getSamplesLabelsList ( )

returns the list of samples with their corresponding labels

For example in a standard SILAC experiment: sample 1: no_label sample 2: Lys8 Arg10

◆ getSamplesLabelsList() [2/2]

const std::vector<std::vector<String> >& getSamplesLabelsList ( ) const

returns the list of samples with their corresponding labels

For example in a standard SILAC experiment: sample 1: no_label sample 2: Lys8 Arg10

◆ printDeltaMassesList()

void printDeltaMassesList ( std::ostream &  stream) const

write the list of all mass patterns

For example in a standard SILAC experiment allowing for one missed cleavage, five mass shift patterns are possible. mass shift 1: 0 (no_label) 8.0142 (Lys8) mass shift 2: 0 (no_label) 10.0083 (Arg10) mass shift 3: 0 (no_label) 16.0284 (Lys8,Lys8) mass shift 4: 0 (no_label) 18.0225 (Arg10,Lys8) mass shift 5: 0 (no_label) 20.0165 (Arg10,Arg10)

Parameters
streamoutput stream

◆ printSamplesLabelsList()

void printSamplesLabelsList ( std::ostream &  stream) const

write the list of labels for each of the sample

For example in a standard SILAC experiment, sample 1 (light) is unlabelled and sample 2 (heavy) contains Lys8 and Arg 10 labels. sample 1: no_label sample 2: Lys8 Arg10

Member Data Documentation

◆ delta_masses_list_

std::vector<MultiplexDeltaMasses> delta_masses_list_
private

list of all possible mass shift patterns

◆ label_delta_mass_

std::map<String, double> label_delta_mass_
private

mapping from single label to delta mass e.g. "Arg10" -> 10.0082686

◆ label_long_short_

std::map<String, String> label_long_short_
private

mapping from a long label (as in PSI-MS name) to a short label (as in the user params) e.g. "Label:13C(6)15N(4)" -> "Arg10"

◆ label_master_list_

std::vector<Label> label_master_list_
private

master list of all labels

◆ label_short_long_

std::map<String, String> label_short_long_
private

mapping from a short label (as in the user params) to a long label (as in PSI-MS name) e.g. "Arg10" -> "Label:13C(6)15N(4)"

◆ labels_

String labels_
private

isotopic labels

◆ labels_list_

std::vector<String> labels_list_
private

flat list of all occurring isotopic labels

◆ missed_cleavages_

int missed_cleavages_
private

maximum number of missed cleavages

◆ samples_labels_

std::vector<std::vector<String> > samples_labels_
private

list of samples with their corresponding labels