OpenMS
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 bool use_spline, const double drift_extra)
 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 bool use_spline, 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 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
 

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)
 

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

◆ 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

◆ 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 bool  use_spline,
const double  drift_extra 
)
static

Performs scoring of the ion mobility dimension in MS2.

Populates additional scores in the scores object

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
use_splineWhether to use spline for fitting
drift_extraExtend the extraction window to gain a larger field of view beyond drift_upper - drift_lower (in percent)

◆ 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 bool  use_spline,
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
use_splineWhether to use spline for fitting
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()

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