Home  · Classes  · Annotated Classes  · Modules  · Members  · Namespaces  · Related Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
MultiplexFilteringProfile Class Reference

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

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

Inheritance diagram for MultiplexFilteringProfile:
MultiplexFiltering ProgressLogger

Public Member Functions

 MultiplexFilteringProfile (const PeakMap &exp_profile, const PeakMap &exp_picked, const std::vector< std::vector< PeakPickerHiRes::PeakBoundary > > &boundaries, const std::vector< MultiplexIsotopicPeakPattern > patterns, int peaks_per_peptide_min, int peaks_per_peptide_max, bool missing_peaks, double intensity_cutoff, 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< MultiplexFilterResultfilter ()
 filter for patterns (generates a filter result for each of the patterns) More...
 
- Public Member Functions inherited from MultiplexFiltering
 MultiplexFiltering (const PeakMap &exp_picked, const std::vector< MultiplexIsotopicPeakPattern > patterns, int peaks_per_peptide_min, int peaks_per_peptide_max, bool missing_peaks, double intensity_cutoff, double mz_tolerance, bool mz_tolerance_unit, double peptide_similarity, double averagine_similarity, double averagine_similarity_scaling, String averagine_type="peptide")
 constructor More...
 
- Public Member Functions inherited from ProgressLogger
 ProgressLogger ()
 Constructor. More...
 
 ~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 () const
 Ends the progress display. More...
 

Private Member Functions

int nonLocalIntensityFilter_ (const MultiplexIsotopicPeakPattern &pattern, const std::vector< double > &mz_shifts_actual, const std::vector< int > &mz_shifts_actual_indices, SplineSpectrum::Navigator nav, std::vector< double > &intensities_actual, int peaks_found_in_all_peptides, double mz) const
 non-local intensity filter More...
 
int findNearest_ (int spectrum_index, double mz, double scaling) const
 returns the index of a peak which is nearest m/z (for initialisation of peak registry) More...
 

Private Attributes

PeakMap exp_profile_
 profile experimental data and peak boundaries More...
 
std::vector< std::vector< PeakPickerHiRes::PeakBoundary > > boundaries_
 

Additional Inherited Members

- Public Types inherited from ProgressLogger
enum  LogType { CMD, GUI, NONE }
 Possible log types. More...
 
- Protected Member Functions inherited from MultiplexFiltering
int positionsAndBlacklistFilter_ (const MultiplexIsotopicPeakPattern &pattern, int spectrum, const std::vector< double > &peak_position, int peak, std::vector< double > &mz_shifts_actual, std::vector< int > &mz_shifts_actual_indices) const
 position and blacklist filter More...
 
bool monoIsotopicPeakIntensityFilter_ (const MultiplexIsotopicPeakPattern &pattern, int spectrum_index, const std::vector< int > &mz_shifts_actual_indices) const
 mono-isotopic peak intensity filter More...
 
bool zerothPeakFilter_ (const MultiplexIsotopicPeakPattern &pattern, const std::vector< double > &intensities_actual) const
 zeroth peak filter More...
 
bool peptideSimilarityFilter_ (const MultiplexIsotopicPeakPattern &pattern, const std::vector< double > &intensities_actual, int peaks_found_in_all_peptides_spline) const
 peptide similarity filter More...
 
bool averagineSimilarityFilter_ (const MultiplexIsotopicPeakPattern &pattern, const std::vector< double > &intensities_actual, int peaks_found_in_all_peptides_spline, double mz) const
 averagine similarity filter More...
 
void blacklistPeaks_ (const MultiplexIsotopicPeakPattern &pattern, int spectrum, const std::vector< int > &mz_shifts_actual_indices, int peaks_found_in_all_peptides_spline)
 blacklist peaks More...
 
int getPeakIndex_ (const std::vector< double > &peak_position, int start, double mz, double scaling) const
 returns the index of a peak at m/z (finds not only a valid peak, i.e. within certain m/z deviation, but the best of the valid peaks) More...
 
double getPatternSimilarity_ (const std::vector< double > &pattern1, const std::vector< double > &pattern2) const
 returns similarity of two isotope patterns (simple Pearson correlation coefficient) More...
 
double getAveragineSimilarity_ (const std::vector< double > &pattern, double m) const
 returns similarity of an isotope pattern and an averagine pattern at mass m 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
PeakMap exp_picked_
 centroided experimental data More...
 
std::vector< std::vector< PeakReference > > registry_
 auxiliary structs for navigation and blacklisting More...
 
std::vector< std::vector< BlackListEntry > > blacklist_
 
std::vector< MultiplexIsotopicPeakPatternpatterns_
 list of peak patterns More...
 
int peaks_per_peptide_min_
 minimum number of isotopic peaks per peptide More...
 
int peaks_per_peptide_max_
 maximum number of isotopic peaks per peptide More...
 
bool missing_peaks_
 flag for missing peaks More...
 
double intensity_cutoff_
 intensity cutoff More...
 
double mz_tolerance_
 m/z shift tolerance More...
 
bool mz_tolerance_unit_
 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 ( const PeakMap exp_profile,
const PeakMap exp_picked,
const std::vector< std::vector< PeakPickerHiRes::PeakBoundary > > &  boundaries,
const std::vector< MultiplexIsotopicPeakPattern patterns,
int  peaks_per_peptide_min,
int  peaks_per_peptide_max,
bool  missing_peaks,
double  intensity_cutoff,
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_pickedexperimental data in centroid mode
boundariespeak boundaries for exp_picked
patternspatterns of isotopic peaks to be searched for
peaks_per_peptide_minminimum number of isotopic peaks in peptides
peaks_per_peptide_maxmaximum number of isotopic peaks in peptides
missing_peaksflag for missing peaks
intensity_cutoffintensity cutoff
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<MultiplexFilterResult> 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
MultiplexFilterResult

◆ findNearest_()

int findNearest_ ( int  spectrum_index,
double  mz,
double  scaling 
) const
private

returns the index of a peak which is nearest m/z (for initialisation of peak registry)

Parameters
spectrum_indexindex of the spectrum in exp_picked_ and boundaries_
mzm/z position of the peak
scalingrescaling of the peak boundaries
Returns
index of the peak in spectrum or -1 if no peak is present within this tolerance

◆ nonLocalIntensityFilter_()

int nonLocalIntensityFilter_ ( const MultiplexIsotopicPeakPattern pattern,
const std::vector< double > &  mz_shifts_actual,
const std::vector< int > &  mz_shifts_actual_indices,
SplineSpectrum::Navigator  nav,
std::vector< double > &  intensities_actual,
int  peaks_found_in_all_peptides,
double  mz 
) const
private

non-local intensity filter

Checks if the intensities at the pattern positions are above the intensity cutoff. We check not only at m/z but at all pattern positions i.e. non-locally.

Parameters
patternpattern of isotopic peaks to be searched for
mz_shifts_actualactual m/z shifts seen in the spectrum (will differ slightly from expected m/z shifts in pattern)
mz_shifts_actual_indicesindices of peaks corresponding to the pattern
navnavigator for moving on the spline-interpolated spectrum
intensities_actualoutput for the spline-interpolated intensities at the actual m/z shift positions
peaks_found_in_all_peptidesnumber of isotopic peaks seen for each peptide (peaks)
mzreference m/z position of the pattern (mono-isotopic peak of the lightest peptide)
Returns
number of isotopic peaks seen for each peptide (profile)

Member Data Documentation

◆ boundaries_

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

◆ exp_profile_

PeakMap exp_profile_
private

profile experimental data and peak boundaries


OpenMS / TOPP release 2.3.0 Documentation generated on Tue Jan 9 2018 18:22:11 using doxygen 1.8.13