| OpenMS 2.5.0

Public Types | Public Member Functions | Private Member Functions | List of all members
MRMIonSeries Class Reference

Generate theoretical fragment ion series for use in MRMAssay and MRMDecoy. More...

`#include <OpenMS/ANALYSIS/OPENSWATH/MRMIonSeries.h>`

## Public Types

typedef boost::unordered_map< String, double > | IonSeries
| An MRM ion series which maps: "ion_type" -> "fragment m/z". More...

## Public Member Functions

std::pair< String, double > | getIon (IonSeries &ionseries, const String &ionid)
| Selects ion from IonSeries according to annotation string. More...
std::pair< String, double > | annotateIon (const IonSeries &ionseries, const double ProductMZ, const double mz_threshold)
| Selects ion from IonSeries according to product m/z. More...
void | annotateTransitionCV (ReactionMonitoringTransition &tr, const String &annotation)
| Annotates transition with CV terms. More...
void | annotateTransition (ReactionMonitoringTransition &tr, const TargetedExperiment::Peptide &peptide, const double precursor_mz_threshold, const double product_mz_threshold, const bool enable_reannotation, const std::vector< String > &fragment_types, const std::vector< size_t > &fragment_charges, const bool enable_specific_losses, const bool enable_unspecific_losses, const int round_decPow=-4)
| Annotates transition. More...
IonSeries | getIonSeries (const AASequence &sequence, size_t precursor_charge, const std::vector< String > &fragment_types, const std::vector< size_t > &fragment_charges, const bool enable_specific_losses, const bool enable_unspecific_losses, const int round_decPow=-4)
| Computed theoretical fragment ion series. More...
| MRMIonSeries ()
| Constructor. More...
| ~MRMIonSeries ()
| Destructor. More...

## Private Member Functions

TargetedExperiment::Interpretation | annotationToCVTermList_ (const String &annotation)
void | annotationToCV_ (ReactionMonitoringTransition &tr)

## Detailed Description

Generate theoretical fragment ion series for use in MRMAssay and MRMDecoy.

Will generate theoretical fragment ionseries based on AASequence and parameters. Neutral losses are supported according to a model similar to the one in SpectraST. ReactionMonitoringTransition objects can be annotated with the corresponding CV terms.

MRMIonSeries uses internally an annotation format that is compatible with SpectraST, which is derived from Roepstoff and Fohlman (1984, PMID: 6525415). An annotation tag starts with ion type (a, b, c, x, y, z) followed by the ordinal (number of amino acids). The caret symbol follows "^" with a positive integer indicating the fragment ion charge. If no caret symbol is present, a charge of 1 is assumed. In case of neutral loss, a negative symbol "-" followed by the integer mass (e.g. 17 for ammonia) OR the molecular composition, compatible with EmpiricalFormula (e.g. N1H3 for ammonia) is allowed.

Valid examples: y3, y3^1, y3^1-18, y3^1-H2O, y3-H2O

Limitations: Special SpectraST multi-assignments, immonium, precursors are not supported.

## Member Typedef Documentation

## ◆ IonSeries

typedef boost::unordered_map<String, double> IonSeries

An MRM ion series which maps: "ion_type" -> "fragment m/z".

## Constructor & Destructor Documentation

## ◆ MRMIonSeries()

MRMIonSeries | ( |  | ) |

Constructor.

## ◆ ~MRMIonSeries()

~MRMIonSeries | ( |  | ) |

Destructor.

## Member Function Documentation

## ◆ annotateIon()

std::pair<String, double> annotateIon | ( | const IonSeries & | ionseries,
|  | const double | ProductMZ,
|  | const double | mz_threshold
| ) |  |

Selects ion from IonSeries according to product m/z.

Parameters

  ionseries | the IonSeries from which to choose
  ProductMz | the product m/z of the queried fragment ion
  mz_threshold | the m/z threshold for annotation of the fragment ion std::pair<String, double> the annotation and product m/z of the queried fragment ion

## ◆ annotateTransition()

void annotateTransition | ( | ReactionMonitoringTransition & | tr,
|  | const TargetedExperiment::Peptide & | peptide,
|  | const double | precursor_mz_threshold,
|  | const double | product_mz_threshold,
|  | const bool | enable_reannotation,
|  | const std::vector< String > & | fragment_types,
|  | const std::vector< size_t > & | fragment_charges,
|  | const bool | enable_specific_losses,
|  | const bool | enable_unspecific_losses,
|  | const int | round_decPow = `-4`
| ) |  |

Annotates transition.

Parameters

  tr | the transition to annotate
  peptide | the corresponding peptide
  precursor_mz_threshold | the m/z threshold for annotation of the precursor ion
  product_mz_threshold | the m/z threshold for annotation of the fragment ion
  enable_reannotation | whether the original (e.g. SpectraST) annotation should be used or reannotation should be conducted
  fragment_types | the fragment ion types for reannotation
  fragment_charges | the fragment ion charges for reannotation
  enable_specific_losses | whether specific neutral losses should be considered
  enable_unspecific_losses | whether unspecific neutral losses (H2O1, H3N1, C1H2N2, C1H2N1O1) should be considered
  round_decPow | round precursor and product m/z values to decimal power (default: -4)

## ◆ annotateTransitionCV()

void annotateTransitionCV | ( | ReactionMonitoringTransition & | tr,
|  | const String & | annotation
| ) |  |

Annotates transition with CV terms.

Parameters

  tr | the transition to annotate
  annotation | the fragment ion annotation.

## ◆ annotationToCV_()

void annotationToCV_ | ( | ReactionMonitoringTransition & | tr | ) |

private

## ◆ annotationToCVTermList_()

TargetedExperiment::Interpretation annotationToCVTermList_ | ( | const String & | annotation | ) |

private

## ◆ getIon()

std::pair<String, double> getIon | ( | IonSeries & | ionseries,
|  | const String & | ionid
| ) |  |

Selects ion from IonSeries according to annotation string.

Parameters

  ionseries | the IonSeries from which to choose
  ionid | the annotation string of the query fragment ion std::pair<String, double> the annotation and product m/z of the queried fragment ion

## ◆ getIonSeries()

IonSeries getIonSeries | ( | const AASequence & | sequence,
|  | size_t | precursor_charge,
|  | const std::vector< String > & | fragment_types,
|  | const std::vector< size_t > & | fragment_charges,
|  | const bool | enable_specific_losses,
|  | const bool | enable_unspecific_losses,
|  | const int | round_decPow = `-4`
| ) |  |

Computed theoretical fragment ion series.

Parameters

  sequence | the peptide amino acid sequence
  precursor_charge | the charge of the peptide precursor
  fragment_types | the fragment ion types for reannotation
  fragment_charges | the fragment ion charges for reannotation
  enable_specific_losses | whether specific neutral losses should be considered
  enable_unspecific_losses | whether unspecific neutral losses (H2O1, H3N1, C1H2N2, C1H2N1O1) should be considered
  round_decPow | round product m/z values to decimal power (default: -4) IonSeries the theoretical fragment ion series