OpenMS
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
IonMobilityScoring Class Reference

A class that calls the ion mobility scoring routines. More...

#include <OpenMS/ANALYSIS/OPENSWATH/IonMobilityScoring.h>

Public Member Functions

 IonMobilityScoring ()
 Constructor. More...
 
 ~IonMobilityScoring ()
 Destructor. More...
 

Static Public Member Functions

static void driftScoring (const SpectrumSequence &spectra, const std::vector< TransitionType > &transitions, OpenSwath_Scores &scores, const double drift_target, RangeMobility im_range, const double dia_extraction_window_, const bool dia_extraction_ppm_, const double drift_extra, const bool apply_im_peak_picking)
 Performs scoring of the ion mobility dimension in MS2. More...
 
static void driftScoringMS1 (const SpectrumSequence &spectra, const std::vector< TransitionType > &transitions, OpenSwath_Scores &scores, const double drift_target, RangeMobility im_range, const double dia_extraction_window_, const bool dia_extraction_ppm_, const double drift_extra)
 Performs scoring of the ion mobility dimension in MS1. More...
 
static void driftScoringMS1Contrast (const SpectrumSequence &spectra, const SpectrumSequence &ms1spectrum, const std::vector< TransitionType > &transitions, OpenSwath_Scores &scores, RangeMobility im_range, const double dia_extraction_window_, const bool dia_extraction_ppm_, const double drift_extra)
 Performs scoring of the ion mobility dimension in MS1 and MS2 (contrast) More...
 
static void driftIdScoring (const SpectrumSequence &spectra, const std::vector< TransitionType > &transitions, MRMTransitionGroupType &transition_group_detection, OpenSwath_Scores &scores, const double drift_target, RangeMobility im_range, const double dia_extract_window_, const bool dia_extraction_ppm_, const double drift_extra, const bool apply_im_peak_picking)
 Performs scoring of the ion mobility dimension for identification transitions against detection transitions. More...
 
static void computeIonMobilogram (const SpectrumSequence &spectra, const RangeMZ &mz_range, const RangeMobility &im_range, double &im, double &intensity, Mobilogram &res, double eps)
 computes ion mobilogram to be used in scoring based on mz_range and im_range. Also integrates intensity in the resulting ion mobility mobilogram in mz_range and im_range across all the entire SpectrumSequence. More...
 

Private Types

typedef OpenSwath::LightCompound CompoundType
 
typedef OpenSwath::LightTransition TransitionType
 
typedef MRMTransitionGroup< MSChromatogram, TransitionTypeMRMTransitionGroupType
 

Static Private Member Functions

static std::vector< double > computeGrid_ (const std::vector< Mobilogram > &mobilograms, double eps)
 helper function to computeIonMobilogram. Discretizes ion mobility values into a grid. More...
 
static void alignToGrid_ (const Mobilogram &profile, const std::vector< double > &im_grid, Mobilogram &aligned_profile, double eps, Size &max_peak_idx)
 
static void extractIntensities (const std::vector< Mobilogram > &mobilograms, std::vector< std::vector< double >> &int_values)
 
static std::vector< double > extractIntensities (const Mobilogram &mobilogram)
 Extracts intensity values from a single Mobilogram object. More...
 

Detailed Description

A class that calls the ion mobility scoring routines.

Use this class to invoke the individual OpenSWATH ion mobility scoring routines. These scores use the ion mobilograms from individual peptides in one (or more) frames to compute additional scores.

  • driftScoring() performs scoring on fragment ion mobilograms extracted from a DIA frame
  • driftScoringMS1() performs scoring on precursor ion mobilograms extracted from a MS1 frame
  • driftScoringMS1Contrast() performs cross correlation (contrast) scoring between precursor and fragment ion mobilograms

Member Typedef Documentation

◆ CompoundType

◆ MRMTransitionGroupType

◆ TransitionType

Constructor & Destructor Documentation

◆ IonMobilityScoring()

Constructor.

◆ ~IonMobilityScoring()

Destructor.

Member Function Documentation

◆ alignToGrid_()

static void alignToGrid_ ( const Mobilogram profile,
const std::vector< double > &  im_grid,
Mobilogram aligned_profile,
double  eps,
Size max_peak_idx 
)
staticprivate

◆ computeGrid_()

static std::vector<double> computeGrid_ ( const std::vector< Mobilogram > &  mobilograms,
double  eps 
)
staticprivate

helper function to computeIonMobilogram. Discretizes ion mobility values into a grid.

◆ computeIonMobilogram()

static void computeIonMobilogram ( const SpectrumSequence spectra,
const RangeMZ mz_range,
const RangeMobility im_range,
double &  im,
double &  intensity,
Mobilogram res,
double  eps 
)
static

computes ion mobilogram to be used in scoring based on mz_range and im_range. Also integrates intensity in the resulting ion mobility mobilogram in mz_range and im_range across all the entire SpectrumSequence.

Note
If there is no signal, mz will be set to -1 and intensity to 0
Parameters
[in]spectraRaw data in a spectrumSequence object (can contain 1 or multiple spectra centered around peak apex)
[in]mz_rangethe range across mz to extract
[in]im_rangethe range across im to extract
[out]imcomputed weighted average ion mobility
[out]intensityintensity computed intensity
[out]resoutputted ion mobilogram
[in]epsminimum distance to allow for two seperate points

◆ driftIdScoring()

static void driftIdScoring ( const SpectrumSequence spectra,
const std::vector< TransitionType > &  transitions,
MRMTransitionGroupType transition_group_detection,
OpenSwath_Scores scores,
const double  drift_target,
RangeMobility  im_range,
const double  dia_extract_window_,
const bool  dia_extraction_ppm_,
const double  drift_extra,
const bool  apply_im_peak_picking 
)
static

Performs scoring of the ion mobility dimension for identification transitions against detection transitions.

Parameters
spectraVector of the DIA MS2 spectrum found in SpectrumSequence object (can contain 1 or multiple spectra centered around peak apex)
transitionsThe transitions used for scoring
transition_group_detectionThe detection transition group
scoresThe output scores
drift_targetIon Mobility extraction target
im_rangeIon Mobility extraction range
dia_extract_window_m/z extraction width
dia_extraction_ppm_Whether m/z extraction width is in ppm
drift_extraExtra extraction to use for drift time (in percent)
apply_im_peak_pickingApply peak pickng on the ion mobilogram

◆ driftScoring()

static void driftScoring ( const SpectrumSequence spectra,
const std::vector< TransitionType > &  transitions,
OpenSwath_Scores scores,
const double  drift_target,
RangeMobility  im_range,
const double  dia_extraction_window_,
const bool  dia_extraction_ppm_,
const double  drift_extra,
const bool  apply_im_peak_picking 
)
static

Performs scoring of the ion mobility dimension in MS2.

Populates additional scores in the scores object

If apply_im_peak_picking is set to true, peak picking is performed on the Savitzky-Golay smoothed ion mobilogram. This is useful for minimizing interference from co-eluting analytes in the ion mobility dimension (IM) that fall within the current extraction window. This process improves the specificity of analyte detection by dynamically adjusting the IM extraction window to extract only over the IM elution of the highest intensity species. If multiple peaks are present in the IM dimension, lower intensity peaks get discarded.

Parameters
spectraSequence of segments of the DIA MS2 spectrum found at (and around) the peak apex
transitionsThe transitions used for scoring
scoresThe output scores
drift_targetIon Mobility extraction target
im_rangeIon Mobility extraction range
dia_extraction_window_m/z extraction width
dia_extraction_ppm_Whether m/z extraction width is in ppm
drift_extraExtend the extraction window to gain a larger field of view beyond drift_upper - drift_lower (in percent)
apply_im_peak_pickingApply peak picking on the ion mobilogram

◆ driftScoringMS1()

static void driftScoringMS1 ( const SpectrumSequence spectra,
const std::vector< TransitionType > &  transitions,
OpenSwath_Scores scores,
const double  drift_target,
RangeMobility  im_range,
const double  dia_extraction_window_,
const bool  dia_extraction_ppm_,
const double  drift_extra 
)
static

Performs scoring of the ion mobility dimension in MS1.

Populates additional scores in the scores object

Parameters
spectravector containing the DIA MS1 spectra found at (or around) the peak apex
transitionsThe transitions used for scoring
scoresThe output scores
im_rangeIon Mobility extraction range
drift_targetIon Mobility extraction target
dia_extraction_window_m/z extraction width
dia_extraction_ppm_Whether m/z extraction width is in ppm
drift_extraExtra extraction to use for drift time (in percent)

◆ driftScoringMS1Contrast()

static void driftScoringMS1Contrast ( const SpectrumSequence spectra,
const SpectrumSequence ms1spectrum,
const std::vector< TransitionType > &  transitions,
OpenSwath_Scores scores,
RangeMobility  im_range,
const double  dia_extraction_window_,
const bool  dia_extraction_ppm_,
const double  drift_extra 
)
static

Performs scoring of the ion mobility dimension in MS1 and MS2 (contrast)

Populates additional scores in the scores object

Parameters
spectraVector of the DIA MS2 spectrum found in SpectrumSequence object (can contain 1 or multiple spectra centered around peak apex)
ms1spectrumThe DIA MS1 spectrum found in SpectrumSequence object (can contain 1 or multiple spectra centered around peak apex)
transitionsThe transitions used for scoring
scoresThe output scores
im_rangethe ion mobility range
dia_extraction_window_m/z extraction width
dia_extraction_ppm_Whether m/z extraction width is in ppm
drift_extraExtra extraction to use for drift time (in percent)

◆ extractIntensities() [1/2]

static std::vector<double> extractIntensities ( const Mobilogram mobilogram)
staticprivate

Extracts intensity values from a single Mobilogram object.

This function takes a single Mobilogram object and extracts the intensity values, returning them as a vector of doubles.

Parameters
mobilogram[in] A const reference to a Mobilogram object from which to extract intensity values.
Returns
A vector of doubles containing the extracted intensity values.

◆ extractIntensities() [2/2]

static void extractIntensities ( const std::vector< Mobilogram > &  mobilograms,
std::vector< std::vector< double >> &  int_values 
)
staticprivate