OpenMS
MultiplexFilteringProfile Class Reference

filters centroided and profile data for peak patterns More...

#include <OpenMS/TRANSFORMATIONS/FEATUREFINDER/MultiplexFilteringProfile.h>

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

Public Member Functions

 MultiplexFilteringProfile (MSExperiment &exp_profile, const MSExperiment &exp_centroided, const std::vector< std::vector< PeakPickerHiRes::PeakBoundary > > &boundaries, const std::vector< MultiplexIsotopicPeakPattern > &patterns, int isotopes_per_peptide_min, int isotopes_per_peptide_max, double intensity_cutoff, double rt_band, double mz_tolerance, bool mz_tolerance_unit, double peptide_similarity, double averagine_similarity, double averagine_similarity_scaling, String averagine_type="peptide")
 constructor More...
 
std::vector< MultiplexFilteredMSExperimentfilter ()
 filter for patterns (generates a filter result for each of the patterns) More...
 
std::vector< std::vector< PeakPickerHiRes::PeakBoundary > > & getPeakBoundaries ()
 returns the intensity-filtered peak boundaries More...
 
- Public Member Functions inherited from MultiplexFiltering
 MultiplexFiltering (const MSExperiment &exp_centroided, const std::vector< MultiplexIsotopicPeakPattern > &patterns, int isotopes_per_peptide_min, int isotopes_per_peptide_max, double intensity_cutoff, double rt_band, double mz_tolerance, bool mz_tolerance_unit, double peptide_similarity, double averagine_similarity, double averagine_similarity_scaling, String averagine_type="peptide")
 constructor More...
 
MSExperimentgetCentroidedExperiment ()
 returns the intensity-filtered, centroided spectral data More...
 
MSExperiment getBlacklist ()
 returns the blacklisted, centroided peaks More...
 
- Public Member Functions inherited from ProgressLogger
 ProgressLogger ()
 Constructor. More...
 
virtual ~ProgressLogger ()
 Destructor. More...
 
 ProgressLogger (const ProgressLogger &other)
 Copy constructor. More...
 
ProgressLoggeroperator= (const ProgressLogger &other)
 Assignment Operator. More...
 
void setLogType (LogType type) const
 Sets the progress log that should be used. The default type is NONE! More...
 
LogType getLogType () const
 Returns the type of progress log being used. More...
 
void startProgress (SignedSize begin, SignedSize end, const String &label) const
 Initializes the progress display. More...
 
void setProgress (SignedSize value) const
 Sets the current progress. More...
 
void endProgress (UInt64 bytes_processed=0) const
 
void nextProgress () const
 increment progress by 1 (according to range begin-end) More...
 

Private Member Functions

bool filterAveragineModel_ (const MultiplexIsotopicPeakPattern &pattern, const MultiplexFilteredPeak &peak, const std::multimap< size_t, MultiplexSatelliteProfile > &satellites_profile) const
 averagine filter for profile mode More...
 
bool filterPeptideCorrelation_ (const MultiplexIsotopicPeakPattern &pattern, const std::multimap< size_t, MultiplexSatelliteProfile > &satellites_profile) const
 peptide correlation filter for profile mode More...
 

Private Attributes

std::vector< SplineInterpolatedPeaksexp_spline_profile_
 spline interpolated profile data and peak boundaries More...
 
std::vector< std::vector< PeakPickerHiRes::PeakBoundary > > boundaries_
 

Additional Inherited Members

- Public Types inherited from MultiplexFiltering
typedef std::vector< std::map< int, int > > White2Original
 index mapping from a 'white' experiment to its original experiment More...
 
- Public Types inherited from ProgressLogger
enum  LogType { CMD , GUI , NONE }
 Possible log types. More...
 
- Protected Member Functions inherited from MultiplexFiltering
void updateWhiteMSExperiment_ ()
 construct an MS experiment from exp_centroided_ containing peaks which have not been previously blacklisted in blacklist_ More...
 
int checkForSignificantPeak_ (double mz, double mz_tolerance, MSExperiment::ConstIterator &it_rt, double intensity_first_peak) const
 check for significant peak More...
 
bool filterPeakPositions_ (double mz, const MSExperiment::ConstIterator &it_rt_begin, const MSExperiment::ConstIterator &it_rt_band_begin, const MSExperiment::ConstIterator &it_rt_band_end, const MultiplexIsotopicPeakPattern &pattern, MultiplexFilteredPeak &peak) const
 check if there are enough peaks in the RT band to form the pattern More...
 
void blacklistPeak_ (const MultiplexFilteredPeak &peak)
 blacklist this peak More...
 
void blacklistPeak_ (const MultiplexFilteredPeak &peak, unsigned pattern_idx)
 blacklist this peak More...
 
bool filterAveragineModel_ (const MultiplexIsotopicPeakPattern &pattern, const MultiplexFilteredPeak &peak) const
 check if the satellite peaks conform with the averagine model More...
 
bool filterPeptideCorrelation_ (const MultiplexIsotopicPeakPattern &pattern, const MultiplexFilteredPeak &peak) const
 check if corresponding satellite peaks of different peptides show a good correlation More...
 
- Static Protected Member Functions inherited from ProgressLogger
static String logTypeToFactoryName_ (LogType type)
 Return the name of the factory product used for this log type. More...
 
- Protected Attributes inherited from MultiplexFiltering
MSExperiment exp_centroided_
 centroided experimental data More...
 
std::vector< std::vector< int > > blacklist_
 auxiliary structs for blacklisting More...
 
MSExperiment exp_centroided_white_
 "white" centroided experimental data More...
 
White2Original exp_centroided_mapping_
 mapping of peak indices from a 'white' experiment exp_centroided_white_ to its original experiment exp_centroided_ More...
 
std::vector< MultiplexIsotopicPeakPatternpatterns_
 list of peak patterns More...
 
size_t isotopes_per_peptide_min_
 minimum number of isotopic peaks per peptide More...
 
size_t isotopes_per_peptide_max_
 maximum number of isotopic peaks per peptide More...
 
double intensity_cutoff_
 intensity cutoff More...
 
double rt_band_
 RT range used for filtering. More...
 
double mz_tolerance_
 m/z shift tolerance More...
 
bool mz_tolerance_unit_in_ppm_
 unit for m/z shift tolerance (ppm - true, Da - false) More...
 
double peptide_similarity_
 peptide similarity More...
 
double averagine_similarity_
 averagine similarity More...
 
double averagine_similarity_scaling_
 averagine similarity scaling More...
 
String averagine_type_
 type of averagine to use More...
 
- Protected Attributes inherited from ProgressLogger
LogType type_
 
time_t last_invoke_
 
ProgressLoggerImplcurrent_logger_
 
- Static Protected Attributes inherited from ProgressLogger
static int recursion_depth_
 

Detailed Description

filters centroided and profile data for peak patterns

The algorithm searches for patterns of multiple peptides in the data. The peptides appear as characteristic patterns of isotopic peaks in MS1 spectra. We first search the centroided data, and optionally in a second step the spline interpolated profile data. For each peak pattern the algorithm generates a filter result.

See also
MultiplexIsotopicPeakPattern
MultiplexFilterResult
MultiplexFiltering

Constructor & Destructor Documentation

◆ MultiplexFilteringProfile()

MultiplexFilteringProfile ( MSExperiment exp_profile,
const MSExperiment exp_centroided,
const std::vector< std::vector< PeakPickerHiRes::PeakBoundary > > &  boundaries,
const std::vector< MultiplexIsotopicPeakPattern > &  patterns,
int  isotopes_per_peptide_min,
int  isotopes_per_peptide_max,
double  intensity_cutoff,
double  rt_band,
double  mz_tolerance,
bool  mz_tolerance_unit,
double  peptide_similarity,
double  averagine_similarity,
double  averagine_similarity_scaling,
String  averagine_type = "peptide" 
)

constructor

Parameters
exp_profileexperimental data in profile mode
exp_centroidedexperimental data in centroid mode
boundariespeak boundaries for exp_centroided
patternspatterns of isotopic peaks to be searched for
isotopes_per_peptide_minminimum number of isotopic peaks in peptides
isotopes_per_peptide_maxmaximum number of isotopic peaks in peptides
intensity_cutoffintensity cutoff
rt_bandRT range used for filtering
mz_toleranceerror margin in m/z for matching expected patterns to experimental data
mz_tolerance_unitunit for mz_tolerance, ppm (true), Da (false)
peptide_similaritysimilarity score for two peptides in the same multiplet
averagine_similaritysimilarity score for peptide isotope pattern and averagine model
averagine_similarity_scalingscaling factor x for the averagine similarity parameter p when detecting peptide singlets. With p' = p + x(1-p).
averagine_typeThe averagine model to use, current options are RNA DNA or peptide.
Exceptions
Exception::IllegalArgumentif profile and centroided data do not contain same number of spectra
Exception::IllegalArgumentif centroided data and the corresponding list of peak boundaries do not contain same number of spectra

Member Function Documentation

◆ filter()

std::vector<MultiplexFilteredMSExperiment> filter ( )

filter for patterns (generates a filter result for each of the patterns)

Exceptions
Exception::IllegalArgumentif number of peaks and number of peak boundaries differ
See also
MultiplexIsotopicPeakPattern
MultiplexFilteredMSExperiment

◆ filterAveragineModel_()

bool filterAveragineModel_ ( const MultiplexIsotopicPeakPattern pattern,
const MultiplexFilteredPeak peak,
const std::multimap< size_t, MultiplexSatelliteProfile > &  satellites_profile 
) const
private

averagine filter for profile mode

Parameters
patternm/z pattern to search for
peakpeak to be filtered
satellitesspline-interpolated satellites of the peak. If they pass, they will be added to the peak.
Returns
boolean if this filter was passed i.e. the correlation coefficient is greater than <averagine_similarity_>

◆ filterPeptideCorrelation_()

bool filterPeptideCorrelation_ ( const MultiplexIsotopicPeakPattern pattern,
const std::multimap< size_t, MultiplexSatelliteProfile > &  satellites_profile 
) const
private

peptide correlation filter for profile mode

Parameters
patternm/z pattern to search for
satellitesspline-interpolated satellites of the peak. If they pass, they will be added to the peak.
Returns
boolean if this filter was passed i.e. the correlation coefficient is greater than <averagine_similarity_>

◆ getPeakBoundaries()

std::vector<std::vector<PeakPickerHiRes::PeakBoundary> >& getPeakBoundaries ( )

returns the intensity-filtered peak boundaries

Member Data Documentation

◆ boundaries_

std::vector<std::vector<PeakPickerHiRes::PeakBoundary> > boundaries_
private

◆ exp_spline_profile_

std::vector<SplineInterpolatedPeaks> exp_spline_profile_
private

spline interpolated profile data and peak boundaries