OpenMS
MultiplexFilteredPeak Class Reference

data structure storing a single peak that passed all filters More...

#include <OpenMS/FEATUREFINDER/MultiplexFilteredPeak.h>

Collaboration diagram for MultiplexFilteredPeak:
[legend]

Public Member Functions

 MultiplexFilteredPeak (double mz, float rt, size_t mz_idx, size_t rt_idx)
 constructor More...
 
double getMZ () const
 returns m/z of the peak More...
 
float getRT () const
 returns RT of the peak More...
 
size_t getMZidx () const
 returns the index of the peak in the spectrum More...
 
size_t getRTidx () const
 returns the index of the corresponding spectrum in the MS experiment More...
 
void addSatellite (size_t rt_idx, size_t mz_idx, size_t pattern_idx)
 add a satellite peak More...
 
void addSatellite (const MultiplexSatelliteCentroided &satellite, size_t pattern_idx)
 
void addSatelliteProfile (float rt, double mz, float intensity, size_t pattern_idx)
 add a satellite data point More...
 
void addSatelliteProfile (const MultiplexSatelliteProfile &satellite, size_t pattern_idx)
 
bool checkSatellite (size_t rt_idx, size_t mz_idx) const
 check if the peak (rt_idx, mz_idx) is already in the set of satellite peaks More...
 
const std::multimap< size_t, MultiplexSatelliteCentroided > & getSatellites () const
 return all satellite peaks More...
 
const std::multimap< size_t, MultiplexSatelliteProfile > & getSatellitesProfile () const
 return all satellite data points More...
 
size_t size () const
 return number of satellite peaks More...
 
size_t sizeProfile () const
 return number of satellite data points More...
 

Private Attributes

double mz_
 position of the primary peak More...
 
float rt_
 
size_t mz_idx_
 indices of the primary peak position in the centroided experiment More...
 
size_t rt_idx_
 
std::multimap< size_t, MultiplexSatelliteCentroidedsatellites_
 set of satellites More...
 
std::multimap< size_t, MultiplexSatelliteProfilesatellites_profile_
 set of profile satellites (used on profile data only) More...
 

Detailed Description

data structure storing a single peak that passed all filters

Each filter result corresponds to a successful search for a particular peak pattern in the centroided data. The actual m/z shifts seen in the filter result might differ from the theoretical shifts listed in the peak pattern.

Each MultiplexFilteredPeak consists of a primary peak and a set of satellite peaks. The primary peak is a peak in the mono-isotopic masstrace of the lightest peptide in the multiplet. The satellite peaks are peaks that form the m/z shift pattern relative to the primary peak within a retention time range rt_band_. They are the evidence on which grounds a peak may pass the filters.

Note that in both centroid and profile mode, centroided data are filtered. (One of the first steps in the profile mode algorithm is the peak picking of the profile data.) Consequently in both modes, centroided peaks make up a final filtered peak.

See also
size(). In profile mode, we additional store the profile data points that make up these peak.
sizeProfile().
MultiplexPeakPattern

Constructor & Destructor Documentation

◆ MultiplexFilteredPeak()

MultiplexFilteredPeak ( double  mz,
float  rt,
size_t  mz_idx,
size_t  rt_idx 
)

constructor

Member Function Documentation

◆ addSatellite() [1/2]

void addSatellite ( const MultiplexSatelliteCentroided satellite,
size_t  pattern_idx 
)

◆ addSatellite() [2/2]

void addSatellite ( size_t  rt_idx,
size_t  mz_idx,
size_t  pattern_idx 
)

add a satellite peak

◆ addSatelliteProfile() [1/2]

void addSatelliteProfile ( const MultiplexSatelliteProfile satellite,
size_t  pattern_idx 
)

◆ addSatelliteProfile() [2/2]

void addSatelliteProfile ( float  rt,
double  mz,
float  intensity,
size_t  pattern_idx 
)

add a satellite data point

◆ checkSatellite()

bool checkSatellite ( size_t  rt_idx,
size_t  mz_idx 
) const

check if the peak (rt_idx, mz_idx) is already in the set of satellite peaks

◆ getMZ()

double getMZ ( ) const

returns m/z of the peak

◆ getMZidx()

size_t getMZidx ( ) const

returns the index of the peak in the spectrum

◆ getRT()

float getRT ( ) const

returns RT of the peak

◆ getRTidx()

size_t getRTidx ( ) const

returns the index of the corresponding spectrum in the MS experiment

◆ getSatellites()

const std::multimap<size_t, MultiplexSatelliteCentroided >& getSatellites ( ) const

return all satellite peaks

See also
also satellites_

◆ getSatellitesProfile()

const std::multimap<size_t, MultiplexSatelliteProfile >& getSatellitesProfile ( ) const

return all satellite data points

See also
also satellites_profile_

◆ size()

size_t size ( ) const

return number of satellite peaks

◆ sizeProfile()

size_t sizeProfile ( ) const

return number of satellite data points

Member Data Documentation

◆ mz_

double mz_
private

position of the primary peak

Position of the primary peak in the m/z-RT plane in [Th, sec]. It is the input for the subsequent clustering step.

◆ mz_idx_

size_t mz_idx_
private

indices of the primary peak position in the centroided experiment

Spectral index and peak index within the spectrum of the primary peak. The indices are used to check the blacklist.

◆ rt_

float rt_
private

◆ rt_idx_

size_t rt_idx_
private

◆ satellites_

std::multimap<size_t, MultiplexSatelliteCentroided > satellites_
private

set of satellites

Mapping from a pattern index i.e. a specific mass trace to all peaks forming the pattern. The primary peak is part of the satellite peak set.

pattern_idx -> (rt_idx, mz_idx)

Typically peaks of the same mass trace show up in neighbouring spectra. The algorithm considers spectra in the RT range rt_band. Consequently, the same pattern_idx key will have multiple associated satellites, and a multimap is required.

Note that we store only indices, not iterators or pointers. We filter 'white' experiments, but all indices refer to the original experiment. White experiments are temporary (for each pattern), but the original exp_picked_ experiment is permanent.

◆ satellites_profile_

std::multimap<size_t, MultiplexSatelliteProfile > satellites_profile_
private

set of profile satellites (used on profile data only)

Mapping from a pattern index i.e. a specific mass trace to all spline-interpolated data points forming the pattern. Basically, when profile data are available as input, we scan over the profile of each satellite peak (see MultiplexSatelliteCentroided above) and decide if it passes the filters or not.

pattern_idx -> (rt, mz, intensity)

Typically peaks of the same mass trace show up in neighbouring spectra. The algorithm considers spectra in the RT range rt_band. Consequently, the same pattern_idx key will have multiple associated satellites, and a multimap is required.