![]() |
OpenMS
|
filters centroided data for peak patterns More...
#include <OpenMS/FEATUREFINDER/MultiplexFilteringCentroided.h>
Public Member Functions | |
| MultiplexFilteringCentroided (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, std::string averagine_type="peptide") | |
| constructor | |
| std::vector< MultiplexFilteredMSExperiment > | filter () |
| filter for patterns (generates a filter result for each of the patterns) | |
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, std::string averagine_type="peptide") | |
| constructor | |
| MSExperiment & | getCentroidedExperiment () |
| returns the intensity-filtered, centroided spectral data | |
| MSExperiment | getBlacklist () |
| returns the blacklisted, centroided peaks | |
| std::vector< std::vector< BlacklistOwner > > | getBlacklistOwners () const |
| the owners of the blacklisted peaks, aligned with getBlacklist(): one list per spectrum, one entry per peak | |
| std::vector< BlacklistOwner > | getBlacklistOwners (Size spectrum_index) const |
| the owners of the blacklisted peaks of one spectrum, aligned with that spectrum of getBlacklist() | |
| void | setDeuteriumLabels (const std::map< std::string, DeuteriumLabel > &labels) |
| take the lower isotopologue of deuterium labels into account where a peak one isotope below a peptide is checked | |
Public Member Functions inherited from ProgressLogger | |
| ProgressLogger () | |
| Constructor. | |
| virtual | ~ProgressLogger () |
| Destructor. | |
| ProgressLogger (const ProgressLogger &other) | |
| Copy constructor. | |
| ProgressLogger & | operator= (const ProgressLogger &other) |
| Assignment Operator. | |
| void | setLogType (LogType type) const |
| Sets the progress log that should be used. The default type is NONE! | |
| LogType | getLogType () const |
| Returns the type of progress log being used. | |
| void | setLogger (ProgressLoggerImpl *logger) |
| Sets the logger to be used for progress logging. | |
| void | startProgress (SignedSize begin, SignedSize end, const std::string &label) const |
| Initializes the progress display. | |
| void | setProgress (SignedSize value) const |
| Sets the current progress. | |
| void | endProgress (UInt64 bytes_processed=0) const |
| void | nextProgress () const |
| increment progress by 1 (according to range begin-end) | |
Additional Inherited Members | |
Public Types inherited from MultiplexFiltering | |
| typedef std::vector< std::vector< int > > | White2Original |
| index mapping from a 'white' experiment to its original experiment | |
Public Types inherited from ProgressLogger | |
| enum | LogType { CMD , GUI , NONE } |
| Possible log types. More... | |
Static Public Member Functions inherited from MultiplexFiltering | |
| static double | deuteriumLowerFraction (unsigned deuterium, double enrichment, const IsotopeDistribution &isotopes) |
| the peak one isotope below a deuterium-labelled peptide that its own label isotopologues produce, relative to its monoisotopic peak | |
| static double | deuteriumAllowance (unsigned deuterium, double enrichment, const IsotopeDistribution &isotopes) |
| the part of the peak one isotope below a deuterium-labelled peptide that the check for another envelope allows, relative to its monoisotopic peak | |
Protected Types inherited from MultiplexFiltering | |
| typedef std::function< std::optional< MultiplexFilteredPeak >(SignedSize, std::vector< BlacklistEntry > *)> | PeakFilter |
| decides on one peak of a 'white' spectrum | |
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_ | |
| int | checkForSignificantPeak_ (double mz, double mz_tolerance, MSExperiment::ConstIterator &it_rt, double intensity_first_peak, double fraction=0.3) const |
| check for significant peak | |
| double | deuteriumAllowance_ (const MultiplexIsotopicPeakPattern &pattern, size_t peptide, double mz) const |
deuteriumAllowance() for peptide peptide of pattern (monoisotopic m/z mz), with its deuterium labels (setDeuteriumLabels()); 0 without 2H | |
| 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, std::vector< BlacklistEntry > *blacklist_reads=nullptr) const |
| check if there are enough peaks in the RT band to form the pattern | |
| void | blacklistPeak_ (const MultiplexFilteredPeak &peak, unsigned pattern_idx, size_t peak_idx) |
| blacklist this peak | |
| void | applyBlacklistEntries_ (const std::vector< BlacklistEntry > &entries, unsigned pattern_idx, size_t peak_idx) |
write entries to blacklist_, with the filtered peak (pattern_idx, peak_idx) as their owner | |
| void | blacklistEntries_ (const MultiplexFilteredPeak &peak, unsigned pattern_idx, std::vector< BlacklistEntry > &entries) const |
| the entries of blacklist_ that blacklistPeak_() sets, with their new values, in the order it sets them | |
| void | filterSpectrum_ (size_t idx_rt, unsigned pattern_idx, const PeakFilter &filter_peak, MultiplexFilteredMSExperiment &result) |
filter all peaks of one 'white' spectrum, add the ones that pass to result and blacklist them | |
| bool | filterAveragineModel_ (const MultiplexIsotopicPeakPattern &pattern, const MultiplexFilteredPeak &peak) const |
| check if the satellite peaks conform with the averagine model | |
| const IsotopeDistribution & | averagineDistribution_ (double mass) const |
averagine isotope distribution (of the type averagine_type_, with isotopes_per_peptide_max_ isotopes) of a molecule of mass | |
| bool | filterPeptideCorrelation_ (const MultiplexIsotopicPeakPattern &pattern, const MultiplexFilteredPeak &peak) const |
| check if corresponding satellite peaks of different peptides show a good correlation | |
Protected Attributes inherited from MultiplexFiltering | |
| MSExperiment | exp_centroided_ |
| centroided experimental data | |
| std::vector< std::vector< int > > | blacklist_ |
| auxiliary structs for blacklisting | |
| std::vector< std::vector< int > > | blacklist_owner_ |
| for every peak of blacklist_, who reserved it | |
| std::vector< BlacklistOwnerRecord > | blacklist_owner_records_ |
| the first and the last owner of every peak reserved by more than one filtered peak (see blacklist_owner_) | |
| std::vector< std::pair< unsigned, unsigned > > | filtered_peaks_ |
| every filtered peak that passed, in the order they passed: index of its pattern and its index in the pattern's filter result | |
| std::vector< std::vector< BlacklistEntry > > | blacklist_reads_ |
| for each peak of the spectrum being filtered, the entries of blacklist_ its decision read (see filterSpectrum_()) | |
| std::vector< std::vector< BlacklistEntry > > | blacklist_writes_ |
| for each peak of the spectrum being filtered that passes, the entries of blacklist_ it sets (see filterSpectrum_()) | |
| std::vector< std::optional< MultiplexFilteredPeak > > | passed_ |
| the decision of filterSpectrum_() on each peak of the spectrum (reused, as blacklist_reads_) | |
| MSExperiment | exp_centroided_white_ |
| "white" centroided experimental data | |
| White2Original | exp_centroided_mapping_ |
| mapping of peak indices from a 'white' experiment exp_centroided_white_ to its original experiment exp_centroided_ | |
| std::vector< MultiplexIsotopicPeakPattern > | patterns_ |
| list of peak patterns | |
| size_t | isotopes_per_peptide_min_ |
| minimum number of isotopic peaks per peptide | |
| size_t | isotopes_per_peptide_max_ |
| maximum number of isotopic peaks per peptide | |
| double | intensity_cutoff_ |
| intensity cutoff | |
| double | rt_band_ |
| RT range used for filtering. | |
| double | mz_tolerance_ |
| m/z shift tolerance | |
| bool | mz_tolerance_unit_in_ppm_ |
| unit for m/z shift tolerance (ppm - true, Da - false) | |
| double | peptide_similarity_ |
| peptide similarity | |
| double | averagine_similarity_ |
| averagine similarity | |
| double | averagine_similarity_scaling_ |
| averagine similarity scaling | |
| std::string | averagine_type_ |
| type of averagine to use | |
| std::vector< std::vector< DeuteriumLabel > > | deuterium_ |
| the deuterium labels of each peptide of each mass shift pattern (index: MultiplexIsotopicPeakPattern::getMassShiftIndex()), empty for a pattern without 2H (setDeuteriumLabels()) | |
Protected Attributes inherited from ProgressLogger | |
| LogType | type_ |
| time_t | last_invoke_ |
| ProgressLoggerImpl * | current_logger_ |
Static Protected Attributes inherited from ProgressLogger | |
| static std::atomic< int > | recursion_depth_ |
filters centroided 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 search the centroided data for such patterns. For each peak pattern the algorithm generates a filter result.
| MultiplexFilteringCentroided | ( | 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, | ||
| std::string | averagine_type = "peptide" |
||
| ) |
constructor
| [in] | exp_centroided | experimental data in centroid mode |
| [in] | patterns | patterns of isotopic peaks to be searched for |
| [in] | isotopes_per_peptide_min | minimum number of isotopic peaks in peptides |
| [in] | isotopes_per_peptide_max | maximum number of isotopic peaks in peptides |
| [in] | intensity_cutoff | intensity cutoff |
| [in] | rt_band | RT range for filtering |
| [in] | mz_tolerance | error margin in m/z for matching expected patterns to experimental data |
| [in] | mz_tolerance_unit | unit for mz_tolerance, ppm (true), Da (false) |
| [in] | peptide_similarity | similarity score for two peptides in the same multiplet |
| [in] | averagine_similarity | similarity score for peptide isotope pattern and averagine model |
| [in] | averagine_similarity_scaling | scaling factor x for the averagine similarity parameter p when detecting peptide singlets. With p' = p + x(1-p). |
| [in] | averagine_type | The averagine model to use, current options are RNA DNA or peptide. |
| std::vector< MultiplexFilteredMSExperiment > filter | ( | ) |
filter for patterns (generates a filter result for each of the patterns)