base class for filtering centroided and profile data for peak patterns
More...
#include <OpenMS/FEATUREFINDER/MultiplexFiltering.h>
|
| 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...
|
|
MSExperiment & | getCentroidedExperiment () |
| returns the intensity-filtered, centroided spectral data More...
|
|
MSExperiment | getBlacklist () |
| returns the blacklisted, centroided peaks More...
|
|
| ProgressLogger () |
| Constructor. More...
|
|
virtual | ~ProgressLogger () |
| Destructor. More...
|
|
| ProgressLogger (const ProgressLogger &other) |
| Copy constructor. More...
|
|
ProgressLogger & | operator= (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 | setLogger (ProgressLoggerImpl *logger) |
| Sets the logger to be used for progress logging. 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...
|
|
|
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...
|
|
base class for filtering 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.
The algorithm differs slightly for centroided and profile input data. This base class comprises code common to both. The two child classes MultiplexFilteringCentroided and MultiplexFilteringProfile contain specific functions and the primary filter() method.
- See also
- MultiplexIsotopicPeakPattern
-
MultiplexFilteredMSExperiment
-
MultiplexFilteringCentroided
-
MultiplexFilteringProfile
◆ White2Original
index mapping from a 'white' experiment to its original experiment
An MSExperiment contains a set of spectra each containing a number of peaks. In the course of the filtering, some peaks are blacklisted since they are identified to belong to a certain pattern i.e. peptide. An experiment in which blacklisted peaks are removed is called 'white'. White spectra contain fewer peaks than their corresponding primary spectra. Consequently, their indices are shifted. The type maps a peak index in a 'white' spectrum back to its original spectrum.
◆ 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
- Parameters
-
exp_centroided | experimental data in centroid mode |
patterns | patterns of isotopic peaks to be searched for |
isotopes_per_peptide_min | minimum number of isotopic peaks in peptides |
isotopes_per_peptide_max | maximum number of isotopic peaks in peptides |
intensity_cutoff | intensity cutoff |
rt_band | RT range used for filtering |
mz_tolerance | error margin in m/z for matching expected patterns to experimental data |
mz_tolerance_unit | unit for mz_tolerance, ppm (true), Da (false) |
peptide_similarity | similarity score for two peptides in the same multiplet |
averagine_similarity | similarity score for peptide isotope pattern and averagine model |
averagine_similarity_scaling | scaling factor x for the averagine similarity parameter p when detecting peptide singlets. With p' = p + x(1-p). |
averagine_type | Averagine model to use: 'peptide', 'RNA', 'DNA' |
◆ blacklistPeak_() [1/2]
blacklist this peak
Blacklist all satellites associated with this peak.
- Parameters
-
peak | peak to be blacklisted |
◆ blacklistPeak_() [2/2]
blacklist this peak
Each of the satellites is associated with a specific mass trace. We blacklist all peaks in these mass traces (even if they are not a satellite) extending them by a margin rt_band_.
- Parameters
-
peak | peak to be blacklisted |
pattern_idx | index of the pattern in patterns_ |
◆ checkForSignificantPeak_()
int checkForSignificantPeak_ |
( |
double |
mz, |
|
|
double |
mz_tolerance, |
|
|
MSExperiment::ConstIterator & |
it_rt, |
|
|
double |
intensity_first_peak |
|
) |
| const |
|
protected |
check for significant peak
- Parameters
-
mz | position where the peak is expected |
mz_tolerance | m/z tolerance within the peak may lie |
it_rt | pointer to the spectrum |
intensity_first_peak | intensity to compare to |
- Returns
- -1 (if there is no significant peak), or peak index mz_idx (if there is a significant peak)
◆ filterAveragineModel_()
check if the satellite peaks conform with the averagine model
Check if the intensities of the satellite peaks correlate with the peak intensities of the averagine model. We check both Pearson and Spearman rank correlation.
- Parameters
-
pattern | m/z pattern to search for |
peak | peak with set of satellite peaks |
- Returns
- boolean if this filter was passed i.e. the correlation coefficient is greater than averagine_similarity_
◆ filterPeakPositions_()
check if there are enough peaks in the RT band to form the pattern
Checks if there are peaks at m/z positions corresponding to the pattern and that the primary peak position is not blacklisted.
- Parameters
-
mz | m/z of the primary peak |
it_rt_begin | RT iterator of the very first spectrum of the experiment (needed to determine indices) |
it_rt_band_begin | RT iterator of the first spectrum in the RT band |
it_rt_band_end | RT iterator of the spectrum after the last spectrum in the RT band |
pattern | m/z pattern to search for |
peak | filter result output |
- Returns
- boolean if this filter was passed i.e. there are isotopes_per_peptide_min_ or more mass traces which form the pattern.
◆ filterPeptideCorrelation_()
check if corresponding satellite peaks of different peptides show a good correlation
Different peptides in the same multiplet have the same amino acid sequence and should therefore exhibit very similar isotope distributions. The filter checks if satellite peaks corresponding to different isotopes in different peptide features show a strong correlation. The filter is of course ignored for singlet feature detection.
- Parameters
-
pattern | m/z pattern to search for |
peak | peak with set of satellite peaks |
- Returns
- boolean if this filter was passed i.e. the correlation coefficient is greater than peptide_similarity_
◆ getBlacklist()
returns the blacklisted, centroided peaks
◆ getCentroidedExperiment()
returns the intensity-filtered, centroided spectral data
◆ updateWhiteMSExperiment_()
void updateWhiteMSExperiment_ |
( |
| ) |
|
|
protected |
construct an MS experiment from exp_centroided_ containing peaks which have not been previously blacklisted in blacklist_
In addition, construct an index mapping of 'white' peak positions to their position in the corresponding, original spectrum.
◆ averagine_similarity_
double averagine_similarity_ |
|
protected |
◆ averagine_similarity_scaling_
double averagine_similarity_scaling_ |
|
protected |
averagine similarity scaling
◆ averagine_type_
◆ blacklist_
std::vector<std::vector<int> > blacklist_ |
|
protected |
auxiliary structs for blacklisting
◆ exp_centroided_
centroided experimental data
◆ exp_centroided_mapping_
mapping of peak indices from a 'white' experiment exp_centroided_white_ to its original experiment exp_centroided_
◆ exp_centroided_white_
"white" centroided experimental data
subset of all peaks of exp_centroided_ which are not blacklisted in blacklist_
◆ intensity_cutoff_
◆ isotopes_per_peptide_max_
size_t isotopes_per_peptide_max_ |
|
protected |
maximum number of isotopic peaks per peptide
◆ isotopes_per_peptide_min_
size_t isotopes_per_peptide_min_ |
|
protected |
minimum number of isotopic peaks per peptide
◆ mz_tolerance_
◆ mz_tolerance_unit_in_ppm_
bool mz_tolerance_unit_in_ppm_ |
|
protected |
unit for m/z shift tolerance (ppm - true, Da - false)
◆ patterns_
◆ peptide_similarity_
double peptide_similarity_ |
|
protected |
◆ rt_band_
RT range used for filtering.