OpenMS
IsobaricChannelExtractor Class Reference

Extracts individual channels from MS/MS spectra for isobaric labeling experiments. More...

#include <OpenMS/ANALYSIS/QUANTITATION/IsobaricChannelExtractor.h>

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

Classes

struct  PuritySate_
 Small struct to capture the current state of the purity computation. More...
 

Public Member Functions

 IsobaricChannelExtractor (const IsobaricQuantitationMethod *const quant_method)
 C'tor to create a new channel extractor for the given quantitation method. More...
 
 IsobaricChannelExtractor (const IsobaricChannelExtractor &other)
 Copy c'tor. More...
 
IsobaricChannelExtractoroperator= (const IsobaricChannelExtractor &rhs)
 Assignment operator. More...
 
void extractChannels (const PeakMap &ms_exp_data, ConsensusMap &consensus_map)
 Extracts the isobaric channels from the tandem MS data and stores intensity values in a consensus map. 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...
 

Protected Member Functions

void setDefaultParams_ ()
 implemented for DefaultParamHandler More...
 
void updateMembers_ () override
 implemented for DefaultParamHandler More...
 
- Protected Member Functions inherited from DefaultParamHandler
void defaultsToParam_ ()
 Updates the parameters after the defaults have been set in the constructor. More...
 

Private Member Functions

void registerChannelsInOutputMap_ (ConsensusMap &consensus_map)
 add channel information to the map after it has been filled More...
 
bool isValidPrecursor_ (const Precursor &precursor) const
 Checks if the given precursor fulfills all constraints for extractions. More...
 
bool hasLowIntensityReporter_ (const ConsensusFeature &cf) const
 Checks whether the given ConsensusFeature contains a channel that is below the given intensity threshold. More...
 
double computePrecursorPurity_ (const PeakMap::ConstIterator &ms2_spec, const PuritySate_ &precursor) const
 Computes the purity of the precursor given an iterator pointing to the MS/MS spectrum and one to the precursor spectrum. More...
 
double computeSingleScanPrecursorPurity_ (const PeakMap::ConstIterator &ms2_spec, const PeakMap::SpectrumType &precursor_spec) const
 Computes the purity of the precursor given an iterator pointing to the MS/MS spectrum and a reference to the potential precursor spectrum. More...
 
String getActivationMethod_ (const PeakMap::SpectrumType &s) const
 Get the first (of potentially many) activation methods (HCD,CID,...) of this spectrum. More...
 

Private Attributes

const IsobaricQuantitationMethodquant_method_
 The used quantitation method (itraq4plex, tmt6plex,..). More...
 
String selected_activation_
 Used to select only specific types of spectra for the channel extraction. More...
 
Peak2D::CoordinateType reporter_mass_shift_
 Allowed deviation between the expected and observed reporter ion m/z. More...
 
Peak2D::IntensityType min_precursor_intensity_
 Minimum intensity of the precursor to be considered for quantitation. More...
 
bool keep_unannotated_precursor_
 Flag if precursor with missing intensity value or missing precursor spectrum should be included or not. More...
 
Peak2D::IntensityType min_reporter_intensity_
 Minimum reporter ion intensity to be considered for quantitation. More...
 
bool remove_low_intensity_quantifications_
 Flag if complete quantification should be discarded if a single reporter ion has an intensity below the threshold given in IsobaricChannelExtractor::min_reporter_intensity_ . More...
 
double min_precursor_purity_
 Minimum precursor purity to accept the spectrum for quantitation. More...
 
double max_precursor_isotope_deviation_
 Max. allowed deviation between theoretical and observed isotopic peaks of the precursor peak in the isolation window to be counted as part of the precursor. More...
 
bool interpolate_precursor_purity_
 Flag if precursor purity will solely be computed based on the precursor scan (false), or interpolated between the precursor- and the following MS1 scan. 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 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

Extracts individual channels from MS/MS spectra for isobaric labeling experiments.

In addition to extracting the channel information this class can also filter the extracted channel information according to several parameters, i.e., discard channel information if certain criteria are not met.

  • Precursor activation method (e.g., select only HCD scans).
  • Minimum precursor intensity.
  • Minimum reporter intensity (i.e., remove reporter channels below a certain intensity)
  • Precursor purity (i.e., fraction of TIC in the precursor window that can be assigned to the precursor)

The precursor purity computation uses the interpolation approach described in: Savitski MM, Sweetman G, Askenazi M, et al. (2011). Delayed fragmentation and optimized isolation width settings for improvement of protein identification and accuracy of isobaric mass tag quantification on Orbitrap-type mass spectrometers. Analytical chemistry 83: 8959-67. http://www.ncbi.nlm.nih.gov/pubmed/22017476

Note
Centroided MS and MS/MS data is required.
Parameters of this class are:

NameTypeDefaultRestrictionsDescription
select_activation stringauto auto, Collision-induced dissociation, Post-source decay, Plasma desorption, Surface-induced dissociation, Blackbody infrared radiative dissociation, Electron capture dissociation, Infrared multiphoton dissociation, Sustained off-resonance irradiation, High-energy collision-induced dissociation, Low-energy collision-induced dissociation, Photodissociation, Electron transfer dissociation, Electron transfer and collision-induced dissociation, Electron transfer and higher-energy collision dissociation, Pulsed q dissociation, trap-type collision-induced dissociation, beam-type collision-induced dissociation, in-source collision-induced dissociation, anyOperate only on MSn scans where any of its precursors features a certain activation method. Setting to "auto" uses HCD and HCID spectra. Set to empty string if you want to disable filtering.
reporter_mass_shift float2.0e-03 min: 1.0e-04 max: 0.5Allowed shift (left to right) in Th from the expected position.
min_precursor_intensity float1.0 min: 0.0Minimum intensity of the precursor to be extracted. MS/MS scans having a precursor with a lower intensity will not be considered for quantitation.
keep_unannotated_precursor stringtrue true, falseFlag if precursor with missing intensity value or missing precursor spectrum should be included or not.
min_reporter_intensity float0.0 min: 0.0Minimum intensity of the individual reporter ions to be extracted.
discard_low_intensity_quantifications stringfalse true, falseRemove all reporter intensities if a single reporter is below the threshold given in 'min_reporter_intensity'.
min_precursor_purity float0.0 min: 0.0 max: 1.0Minimum fraction of the total intensity in the isolation window of the precursor spectrum attributable to the selected precursor.
precursor_isotope_deviation float10.0 min: 0.0Maximum allowed deviation (in ppm) between theoretical and observed isotopic peaks of the precursor peak in the isolation window to be counted as part of the precursor.
purity_interpolation stringtrue true, falseIf set to true the algorithm will try to compute the purity as a time weighted linear combination of the precursor scan and the following scan. If set to false, only the precursor scan will be used.

Note:
  • If a section name is documented, the documentation is displayed as tooltip.
  • Advanced parameter names are italic.

Constructor & Destructor Documentation

◆ IsobaricChannelExtractor() [1/2]

IsobaricChannelExtractor ( const IsobaricQuantitationMethod *const  quant_method)
explicit

C'tor to create a new channel extractor for the given quantitation method.

Parameters
quant_methodIsobaricQuantitationMethod providing the necessary information which channels should be extracted.

◆ IsobaricChannelExtractor() [2/2]

Copy c'tor.

Member Function Documentation

◆ computePrecursorPurity_()

double computePrecursorPurity_ ( const PeakMap::ConstIterator ms2_spec,
const PuritySate_ precursor 
) const
private

Computes the purity of the precursor given an iterator pointing to the MS/MS spectrum and one to the precursor spectrum.

Parameters
ms2_specIterator pointing to the MS2 spectrum.
precursorIterator pointing to the precursor spectrum of ms2_spec.
Returns
Fraction of the total intensity in the isolation window of the precursor spectrum that was assigned to the precursor.

◆ computeSingleScanPrecursorPurity_()

double computeSingleScanPrecursorPurity_ ( const PeakMap::ConstIterator ms2_spec,
const PeakMap::SpectrumType precursor_spec 
) const
private

Computes the purity of the precursor given an iterator pointing to the MS/MS spectrum and a reference to the potential precursor spectrum.

Parameters
ms2_specIterator pointing to the MS2 spectrum.
precursor_specPrecursor spectrum of ms2_spec.
Returns
Fraction of the total intensity in the isolation window of the precursor spectrum that was assigned to the precursor.

◆ extractChannels()

void extractChannels ( const PeakMap ms_exp_data,
ConsensusMap consensus_map 
)

Extracts the isobaric channels from the tandem MS data and stores intensity values in a consensus map.

Parameters
ms_exp_dataRaw data to search for isobaric quantitation channels.
consensus_mapOutput map containing the identified channels and the corresponding intensities.

◆ getActivationMethod_()

String getActivationMethod_ ( const PeakMap::SpectrumType s) const
inlineprivate

Get the first (of potentially many) activation methods (HCD,CID,...) of this spectrum.

Parameters
sThe spectrum
Returns
Entry from Precursor::NamesOfActivationMethod or empty string.

References SpectrumSettings::getPrecursors(), and Precursor::NamesOfActivationMethod.

◆ hasLowIntensityReporter_()

bool hasLowIntensityReporter_ ( const ConsensusFeature cf) const
private

Checks whether the given ConsensusFeature contains a channel that is below the given intensity threshold.

Parameters
cfThe ConsensusFeature to check.
Returns
$true$ if a low intensity reporter is contained, $false$ otherwise.

◆ isValidPrecursor_()

bool isValidPrecursor_ ( const Precursor precursor) const
private

Checks if the given precursor fulfills all constraints for extractions.

Parameters
precursorThe precursor to test.
Returns
$true$ if the precursor can be used for extraction, $false$ otherwise.

◆ operator=()

Assignment operator.

◆ registerChannelsInOutputMap_()

void registerChannelsInOutputMap_ ( ConsensusMap consensus_map)
private

add channel information to the map after it has been filled

◆ setDefaultParams_()

void setDefaultParams_ ( )
protected

implemented for DefaultParamHandler

◆ updateMembers_()

void updateMembers_ ( )
overrideprotectedvirtual

implemented for DefaultParamHandler

Reimplemented from DefaultParamHandler.

Member Data Documentation

◆ interpolate_precursor_purity_

bool interpolate_precursor_purity_
private

Flag if precursor purity will solely be computed based on the precursor scan (false), or interpolated between the precursor- and the following MS1 scan.

◆ keep_unannotated_precursor_

bool keep_unannotated_precursor_
private

Flag if precursor with missing intensity value or missing precursor spectrum should be included or not.

◆ max_precursor_isotope_deviation_

double max_precursor_isotope_deviation_
private

Max. allowed deviation between theoretical and observed isotopic peaks of the precursor peak in the isolation window to be counted as part of the precursor.

◆ min_precursor_intensity_

Peak2D::IntensityType min_precursor_intensity_
private

Minimum intensity of the precursor to be considered for quantitation.

◆ min_precursor_purity_

double min_precursor_purity_
private

Minimum precursor purity to accept the spectrum for quantitation.

◆ min_reporter_intensity_

Peak2D::IntensityType min_reporter_intensity_
private

Minimum reporter ion intensity to be considered for quantitation.

◆ quant_method_

const IsobaricQuantitationMethod* quant_method_
private

The used quantitation method (itraq4plex, tmt6plex,..).

◆ remove_low_intensity_quantifications_

bool remove_low_intensity_quantifications_
private

Flag if complete quantification should be discarded if a single reporter ion has an intensity below the threshold given in IsobaricChannelExtractor::min_reporter_intensity_ .

◆ reporter_mass_shift_

Peak2D::CoordinateType reporter_mass_shift_
private

Allowed deviation between the expected and observed reporter ion m/z.

◆ selected_activation_

String selected_activation_
private

Used to select only specific types of spectra for the channel extraction.