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

The MRMTransitionGroupPicker finds peaks in chromatograms that belong to the same precursors. More...

#include <OpenMS/ANALYSIS/OPENSWATH/MRMTransitionGroupPicker.h>

Inheritance diagram for MRMTransitionGroupPicker:
DefaultParamHandler

Public Types

typedef MSSpectrum< ChromatogramPeakRichPeakChromatogram
 

Public Member Functions

template<typename SpectrumT , typename TransitionT >
void pickTransitionGroup (MRMTransitionGroup< SpectrumT, TransitionT > &transition_group)
 Pick a group of chromatograms belonging to the same peptide. More...
 
template<typename SpectrumT , typename TransitionT >
MRMFeature createMRMFeature (MRMTransitionGroup< SpectrumT, TransitionT > &transition_group, std::vector< SpectrumT > &picked_chroms, int &chr_idx, int &peak_idx)
 Create feature from a vector of chromatograms and a specified peak. More...
 
template<typename SpectrumT >
void remove_overlapping_features (std::vector< SpectrumT > &picked_chroms, double best_left, double best_right)
 Remove overlapping features. More...
 
void findLargestPeak (std::vector< RichPeakChromatogram > &picked_chroms, int &chr_idx, int &peak_idx)
 Find largest peak in a vector of chromatograms. More...
 
 MRMTransitionGroupPicker ()
 Constructor. More...
 
 ~MRMTransitionGroupPicker ()
 Destructor. More...
 
- Public Member Functions inherited from DefaultParamHandler
 DefaultParamHandler (const String &name)
 Constructor with name that is displayed in error messages. More...
 
 DefaultParamHandler (const DefaultParamHandler &rhs)
 Copy constructor. More...
 
virtual ~DefaultParamHandler ()
 Destructor. More...
 
virtual DefaultParamHandleroperator= (const DefaultParamHandler &rhs)
 Assignment operator. More...
 
virtual bool operator== (const DefaultParamHandler &rhs) const
 Equality operator. More...
 
void setParameters (const Param &param)
 Sets the parameters. More...
 
const ParamgetParameters () const
 Non-mutable access to the parameters. More...
 
const ParamgetDefaults () const
 Non-mutable access to the default parameters. More...
 
const StringgetName () const
 Non-mutable access to the name. More...
 
void setName (const String &name)
 Mutable access to the name. More...
 
const std::vector< String > & getSubsections () const
 Non-mutable access to the registered subsections. More...
 

Protected Member Functions

void updateMembers_ ()
 Synchronize members with param class. More...
 
MRMTransitionGroupPickeroperator= (const MRMTransitionGroupPicker &rhs)
 Assignment operator is protected for algorithm. More...
 
template<typename SpectrumT , typename TransitionT >
double computeQuality_ (MRMTransitionGroup< SpectrumT, TransitionT > &transition_group, std::vector< SpectrumT > &picked_chroms, const int chr_idx, const double best_left, const double best_right, String &outlier)
 Compute transition group quality (higher score is better) More...
 
template<typename SpectrumT >
void recalculatePeakBorders_ (std::vector< SpectrumT > &picked_chroms, double &best_left, double &best_right, double max_z)
 Recalculate the borders of the peak. More...
 
double calculateBgEstimation_ (const RichPeakChromatogram &chromatogram, double best_left, double best_right)
 Will use the chromatogram to estimate the background noise and then subtract it. More...
 
Resampling methods
template<typename SpectrumT >
void prepareMasterContainer_ (const SpectrumT &ref_chromatogram, SpectrumT &master_peak_container, double best_left, double best_right)
 create an empty master peak container that has the correct mz / RT values set More...
 
template<typename SpectrumT >
SpectrumT resampleChromatogram_ (const SpectrumT &chromatogram, SpectrumT &master_peak_container, double best_left, double best_right)
 use the master container from above to resample a chromatogram at those points stored in the master container More...
 
- Protected Member Functions inherited from DefaultParamHandler
void defaultsToParam_ ()
 Updates the parameters after the defaults have been set in the constructor. More...
 

Protected Attributes

String background_subtraction_
 
bool recalculate_peaks_
 
bool compute_peak_quality_
 
double min_qual_
 
int stop_after_feature_
 
double stop_after_intensity_ratio_
 
double min_peak_width_
 
double recalculate_peaks_max_z_
 
- Protected Attributes inherited from DefaultParamHandler
Param param_
 Container for current parameters. More...
 
Param defaults_
 Container for default parameters. This member should be filled in the constructor of derived classes! More...
 
std::vector< Stringsubsections_
 Container for registered subsections. This member should be filled in the constructor of derived classes! More...
 
String error_name_
 Name that is displayed in error messages during the parameter checking. More...
 
bool check_defaults_
 If this member is set to false no checking if parameters in done;. More...
 
bool warn_empty_defaults_
 If this member is set to false no warning is emitted when defaults are empty;. More...
 

Detailed Description

The MRMTransitionGroupPicker finds peaks in chromatograms that belong to the same precursors.

Parameters of this class are:

NameTypeDefaultRestrictionsDescription
stop_after_feature int-1  Stop finding after feature (ordered by intensity; -1 means do not stop).
stop_after_intensity_ratio float0.0001  Stop after reaching intensity ratio
min_peak_width float-1  Minimal peak width (s), discard all peaks below this value (-1 means no action).
background_subtraction stringnone none, smoothed, originalTry to apply a background subtraction to the peak (experimental). The background is estimated at the peak boundaries, either the smoothed or the raw chromatogram data can be used for that.
recalculate_peaks stringfalse  Tries to get better peak picking by looking at peak consistency of all picked peaks. Tries to use the consensus (median) peak border if theof variation within the picked peaks is too large.
recalculate_peaks_max_z float1  Determines the maximal Z-Score (difference measured in standard deviations) that is considered too large for peak boundaries. If the Z-Score is above this value, the median is used for peak boundaries (default value 1.0).
minimal_quality float-10000  Only if compute_peak_quality is set, this parameter will not consider peaks below this quality threshold
compute_peak_quality stringfalse  Tries to compute a quality value for each peakgroup and detect outlier transitions. The resulting score is centered around zero and values above 0 are generally good and below -1 or -2 are usually bad.
PeakPickerMRM:sgolay_frame_length int15  The number of subsequent data points used for smoothing.
This number has to be uneven. If it is not, 1 will be added.
PeakPickerMRM:sgolay_polynomial_order int3  Order of the polynomial that is fitted.
PeakPickerMRM:gauss_width float50  Gaussian width in seconds, estimated peak size.
PeakPickerMRM:use_gauss stringtrue  Use Gaussian filter for smoothing (alternative is Savitzky-Golay filter)
PeakPickerMRM:peak_width float40  Force a certain minimal peak_width on the data (e.g. extend the peak at least by this amount on both sides) in seconds. -1 turns this feature off.
PeakPickerMRM:signal_to_noise float1 min: 0Signal-to-noise threshold at which a peak will not be extended any more. Note that setting this too high (e.g. 1.0) can lead to peaks whose flanks are not fully captured.
PeakPickerMRM:sn_win_len float1000  Signal to noise window length.
PeakPickerMRM:sn_bin_count int30  Signal to noise bin count.
PeakPickerMRM:remove_overlapping_peaks stringfalse false, trueTry to remove overlapping peaks during peak picking
PeakPickerMRM:method stringlegacy legacy, corrected, crawdadWhich method to choose for chromatographic peak-picking (OpenSWATH legacy, corrected picking or Crawdad).

Note:

It is called through pickTransitionGroup which will accept an MRMTransitionGroup filled with n chromatograms and perform the following steps:

Step 1 is performed by smoothing the individual chromatogram and applying the PeakPickerHiRes.

Step 2 is performed by finding the largest peak overall and use this to create a feature, propagating this through all chromatograms.

Member Typedef Documentation

Constructor & Destructor Documentation

Constructor.

Destructor.

Member Function Documentation

double calculateBgEstimation_ ( const RichPeakChromatogram chromatogram,
double  best_left,
double  best_right 
)
protected

Will use the chromatogram to estimate the background noise and then subtract it.

The background is estimated by averaging the noise on either side of the peak and then subtracting that from the total intensity.

double computeQuality_ ( MRMTransitionGroup< SpectrumT, TransitionT > &  transition_group,
std::vector< SpectrumT > &  picked_chroms,
const int  chr_idx,
const double  best_left,
const double  best_right,
String outlier 
)
inlineprotected

Compute transition group quality (higher score is better)

This is only based on the co-elution of the chromatograms and internal consistency without any library information.

For the final score (larger is better), consider these scores:

  • missing_peaks (the more peaks are missing, the worse)
  • multiple_peaks
  • mean of the shapes (1 is very good, 0 is bad)
  • mean of the coelutions (0 is good, 1 is ok, above 1 is pretty bad)

These scores are similar to the ones computed by MRMFeatureFinderScoring and a simple sum of these scores is returned.

left_borders / right_borders might not have the same length since we might have peaks missing!!

References MRMTransitionGroup< SpectrumType, TransitionType >::getChromatograms(), MRMTransitionGroup< SpectrumType, TransitionType >::getTransitions(), OpenMS::Constants::k, LOG_DEBUG, mean_and_stddev::mean(), OpenSwath::Scoring::normalizedCrossCorrelation(), and OpenSwath::Scoring::xcorrArrayGetMaxPeak().

MRMFeature createMRMFeature ( MRMTransitionGroup< SpectrumT, TransitionT > &  transition_group,
std::vector< SpectrumT > &  picked_chroms,
int &  chr_idx,
int &  peak_idx 
)
inline
void findLargestPeak ( std::vector< RichPeakChromatogram > &  picked_chroms,
int &  chr_idx,
int &  peak_idx 
)

Find largest peak in a vector of chromatograms.

MRMTransitionGroupPicker& operator= ( const MRMTransitionGroupPicker rhs)
protected

Assignment operator is protected for algorithm.

void pickTransitionGroup ( MRMTransitionGroup< SpectrumT, TransitionT > &  transition_group)
inline

Pick a group of chromatograms belonging to the same peptide.

Will identify peaks in a set of chromatograms that belong to the same peptide. The chromatograms are given in the MRMTransitionGroup container which also contains the mapping of the chromatograms to their metadata.

The resulting features are added added to the MRMTransitionGroup. Each feature contains the following meta-data:

  • PeptideRef
  • leftWidth
  • rightWidth
  • total_xic (fragment trace XIC sum)
  • peak_apices_sum

References MRMTransitionGroup< SpectrumType, TransitionType >::addFeature(), MRMTransitionGroup< SpectrumType, TransitionType >::getChromatograms(), Peak2D::getIntensity(), MetaInfoInterface::getMetaValue(), MSSpectrum< PeakT >::isSorted(), OpenMS::Constants::k, PeakPickerMRM::pickChromatogram(), DefaultParamHandler::setParameters(), MSSpectrum< PeakT >::sortByIntensity(), and MSSpectrum< PeakT >::sortByPosition().

Referenced by OpenSwathWorkflow::scoreAllChromatograms().

void prepareMasterContainer_ ( const SpectrumT &  ref_chromatogram,
SpectrumT &  master_peak_container,
double  best_left,
double  best_right 
)
inlineprotected

create an empty master peak container that has the correct mz / RT values set

void recalculatePeakBorders_ ( std::vector< SpectrumT > &  picked_chroms,
double best_left,
double best_right,
double  max_z 
)
inlineprotected

Recalculate the borders of the peak.

By collecting all left and right borders of contained peaks, a consensus peak is computed. By looking at the means and standard deviations of all the peak borders it is estimated whether the proposed peak border deviates too much from the consensus one. If the deviation is too high (in this case), then we fall back to the "consensus" (a median here).

References OpenMS::Constants::k, LOG_DEBUG, and OpenMS::Math::mean().

void remove_overlapping_features ( std::vector< SpectrumT > &  picked_chroms,
double  best_left,
double  best_right 
)
inline

Remove overlapping features.

Remove features that are within the current seed (between best_left and best_right) or overlap with it. An overlapping feature is defined as a feature that has either of its borders within the border of the current peak

Directly adjacent features are allowed, e.g. they can share one border.

References OpenMS::Constants::k.

SpectrumT resampleChromatogram_ ( const SpectrumT &  chromatogram,
SpectrumT &  master_peak_container,
double  best_left,
double  best_right 
)
inlineprotected

use the master container from above to resample a chromatogram at those points stored in the master container

References LinearResamplerAlign::raster().

void updateMembers_ ( )
protectedvirtual

Synchronize members with param class.

Reimplemented from DefaultParamHandler.

Member Data Documentation

String background_subtraction_
protected
bool compute_peak_quality_
protected
double min_peak_width_
protected
double min_qual_
protected
bool recalculate_peaks_
protected
double recalculate_peaks_max_z_
protected
int stop_after_feature_
protected
double stop_after_intensity_ratio_
protected

OpenMS / TOPP release 2.0.0 Documentation generated on Sat May 16 2015 16:13:57 using doxygen 1.8.9.1