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

The MRMFeatureFinder finds and scores peaks of transitions that co-elute. More...

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

Inheritance diagram for MRMFeatureFinderScoring:
DefaultParamHandler ProgressLogger

Public Types

typedef OpenSwath::LightTransition TransitionType
 Type definitions. More...
 
typedef OpenSwath::LightTargetedExperiment TargetedExpType
 
typedef OpenSwath::LightCompound PeptideType
 
typedef OpenSwath::LightProtein ProteinType
 
typedef OpenSwath::LightModification ModificationType
 
typedef MRMTransitionGroup< MSChromatogram, TransitionTypeMRMTransitionGroupType
 
typedef std::map< String, MRMTransitionGroupTypeTransitionGroupMapType
 
- Public Types inherited from ProgressLogger
enum  LogType { CMD, GUI, NONE }
 Possible log types. More...
 

Public Member Functions

 MRMFeatureFinderScoring ()
 Constructor. More...
 
 ~MRMFeatureFinderScoring ()
 Destructor. More...
 
void scorePeakgroups (MRMTransitionGroupType &transition_group, TransformationDescription &trafo, std::vector< OpenSwath::SwathMap > swath_maps, FeatureMap &output, bool ms1only=false)
 Score all peak groups of a transition group. More...
 
void setStrictFlag (bool f)
 Set the flag for strict mapping. More...
 
void setMS1Map (OpenSwath::SpectrumAccessPtr ms1_map)
 Add an MS1 map containing spectra. More...
 
void mapExperimentToTransitionList (OpenSwath::SpectrumAccessPtr input, OpenSwath::LightTargetedExperiment &transition_exp, TransitionGroupMapType &transition_group_map, TransformationDescription trafo, double rt_extraction_window)
 Map the chromatograms to the transitions. More...
 
void pickExperiment (PeakMap &chromatograms, FeatureMap &output, TargetedExperiment &transition_exp, TransformationDescription trafo, PeakMap &swath_map)
 Picker and prepare functions. More...
 
void pickExperiment (OpenSwath::SpectrumAccessPtr input, FeatureMap &output, OpenSwath::LightTargetedExperiment &transition_exp, TransformationDescription trafo, std::vector< OpenSwath::SwathMap > swath_maps, TransitionGroupMapType &transition_group_map)
 Pick features in one experiment containing chromatogram. More...
 
void prepareProteinPeptideMaps_ (const OpenSwath::LightTargetedExperiment &transition_exp)
 Prepares the internal mappings of peptides and proteins. 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...
 
- 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

void splitTransitionGroupsDetection_ (MRMTransitionGroupType &transition_group, MRMTransitionGroupType &transition_group_detection)
 Splits combined transition groups into detection transition groups. More...
 
void splitTransitionGroupsIdentification_ (MRMTransitionGroupType &transition_group, MRMTransitionGroupType &transition_group_identification, MRMTransitionGroupType &transition_group_identification_decoy)
 Splits combined transition groups into identification transition groups. More...
 
OpenSwath_Scores scoreIdentification_ (MRMTransitionGroupType &transition_group_identification, OpenSwathScoring &scorer, const size_t feature_idx, const std::vector< std::string > native_ids_detection, const double sn_win_len_, const unsigned int sn_bin_count_, bool write_log_messages, std::vector< OpenSwath::SwathMap > swath_maps)
 Provides scoring for target and decoy identification against detecting transitions. More...
 
void updateMembers_ ()
 Synchronize members with param class. More...
 

Private Attributes

double rt_extraction_window_
 
double quantification_cutoff_
 
int stop_report_after_feature_
 
bool write_convex_hull_
 
bool strict_
 
double rt_normalization_factor_
 
int add_up_spectra_
 
double spacing_for_spectra_resampling_
 
double uis_threshold_sn_
 
double uis_threshold_peak_area_
 
std::map< OpenMS::String, const PeptideType * > PeptideRefMap_
 
OpenSwath_Scores_Usage su_
 
OpenMS::DIAScoring diascoring_
 
OpenMS::SONARScoring sonarscoring_
 
OpenMS::EmgScoring emgscoring_
 
OpenSwath::SpectrumAccessPtr ms1_map_
 

Additional Inherited Members

- Protected Member Functions inherited from DefaultParamHandler
void defaultsToParam_ ()
 Updates the parameters after the defaults have been set in the constructor. 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 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...
 
- 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

The MRMFeatureFinder finds and scores peaks of transitions that co-elute.

It does so using an internal peakpicker for each chromatogram and then creating consensus / meta-peaks (MRMFeatures) that contain the information of all corresponding chromatograms at the peak-position. It then goes on to score those MRMFeatures using different criteria described in the MRMScoring class.

Internally, all peak group detection is performed in MRMTransitionGroupPicker which segments the data and determines consensus peaks across traces (MRMFeatures). All scoring is delegated to the OpenSwathScoring class which implements i) chromatographic scores, ii) library based scores and iii) full spectrum (DIA) scores. These scores are retrieved from the OpenSwathScoring class and added to the MRMFeatures found in this algorithm. Note that the OpenSwathScoring is a facade that can be used to communicate with the underlying actual scoring engines and assembles the scores inside a scoring object called OpenSwath_Scores where they are easy to retrieve.

Parameters of this class are:

NameTypeDefaultRestrictionsDescription
stop_report_after_feature int-1  Stop reporting after feature (ordered by quality; -1 means do not stop).
rt_extraction_window float-1  Only extract RT around this value (-1 means extract over the whole range, a value of 500 means to extract around +/- 500 s of the expected elution). For this to work, the TraML input file needs to contain normalized RT values.
rt_normalization_factor float1  The normalized RT is expected to be between 0 and 1. If your normalized RT has a different range, pass this here (e.g. it goes from 0 to 100, set this value to 100)
quantification_cutoff float0 min: 0Cutoff in m/z below which peaks should not be used for quantification any more
write_convex_hull stringfalse true, falseWhether to write out all points of all features into the featureXML
add_up_spectra int1 min: 1Add up spectra around the peak apex (needs to be a non-even integer)
spacing_for_spectra_resampling float0.005 min: 0If spectra are to be added, use this spacing to add them up
uis_threshold_sn int-1  S/N threshold to consider identification transition (set to -1 to consider all)
uis_threshold_peak_area int0  Peak area threshold to consider identification transition (set to -1 to consider all)
TransitionGroupPicker:stop_after_feature int-1  Stop finding after feature (ordered by intensity; -1 means do not stop).
TransitionGroupPicker:stop_after_intensity_ratio float0.0001  Stop after reaching intensity ratio
TransitionGroupPicker:min_peak_width float-1  Minimal peak width (s), discard all peaks below this value (-1 means no action).
TransitionGroupPicker: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.
TransitionGroupPicker:recalculate_peaks stringfalse true, falseTries 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.
TransitionGroupPicker:use_precursors stringfalse true, falseUse precursor chromatogram for peak picking
TransitionGroupPicker: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).
TransitionGroupPicker:minimal_quality float-10000  Only if compute_peak_quality is set, this parameter will not consider peaks below this quality threshold
TransitionGroupPicker:resample_boundary float15  For computing peak quality, how many extra seconds should be sample left and right of the actual peak
TransitionGroupPicker:compute_peak_quality stringfalse true, falseTries 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.
TransitionGroupPicker: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.
TransitionGroupPicker:PeakPickerMRM:sgolay_polynomial_order int3  Order of the polynomial that is fitted.
TransitionGroupPicker:PeakPickerMRM:gauss_width float50  Gaussian width in seconds, estimated peak size.
TransitionGroupPicker:PeakPickerMRM:use_gauss stringtrue false, trueUse Gaussian filter for smoothing (alternative is Savitzky-Golay filter)
TransitionGroupPicker:PeakPickerMRM:peak_width float-1  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.
TransitionGroupPicker: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.
TransitionGroupPicker:PeakPickerMRM:sn_win_len float1000  Signal to noise window length.
TransitionGroupPicker:PeakPickerMRM:sn_bin_count int30  Signal to noise bin count.
TransitionGroupPicker:PeakPickerMRM:write_sn_log_messages stringtrue true, falseWrite out log messages of the signal-to-noise estimator in case of sparse windows or median in rightmost histogram bin
TransitionGroupPicker:PeakPickerMRM:remove_overlapping_peaks stringfalse false, trueTry to remove overlapping peaks during peak picking
TransitionGroupPicker:PeakPickerMRM:method stringcorrected legacy, corrected, crawdadWhich method to choose for chromatographic peak-picking (OpenSWATH legacy on raw data, corrected picking on smoothed chromatogram or Crawdad on smoothed chromatogram).
DIAScoring:dia_extraction_window float0.05 min: 0DIA extraction window in Th.
DIAScoring:dia_centroided stringfalse true, falseUse centroded DIA data.
DIAScoring:dia_byseries_intensity_min float300 min: 0DIA b/y series minimum intensity to consider.
DIAScoring:dia_byseries_ppm_diff float10 min: 0DIA b/y series minimal difference in ppm to consider.
DIAScoring:dia_nr_isotopes int4 min: 0DIA nr of isotopes to consider.
DIAScoring:dia_nr_charges int4 min: 0DIA nr of charges to consider.
DIAScoring:peak_before_mono_max_ppm_diff float20 min: 0DIA maximal difference in ppm to count a peak at lower m/z when searching for evidence that a peak might not be monoisotopic.
EMGScoring:interpolation_step float0.2  Sampling rate for the interpolation of the model function.
EMGScoring:tolerance_stdev_bounding_box float3  Bounding box has range [minimim of data, maximum of data] enlarged by tolerance_stdev_bounding_box times the standard deviation of the data.
EMGScoring:max_iteration int500  Maximum number of iterations using by Levenberg-Marquardt algorithm.
EMGScoring:statistics:mean float1  Centroid position of the model.
EMGScoring:statistics:variance float1  Variance of the model.
Scores:use_shape_score stringtrue true, falseUse the shape score (this score measures the similarity in shape of the transitions using a cross-correlation)
Scores:use_coelution_score stringtrue true, falseUse the coelution score (this score measures the similarity in coelution of the transitions using a cross-correlation)
Scores:use_rt_score stringtrue true, falseUse the retention time score (this score measure the difference in retention time)
Scores:use_library_score stringtrue true, falseUse the library score
Scores:use_elution_model_score stringtrue true, falseUse the elution model (EMG) score (this score fits a gaussian model to the peak and checks the fit)
Scores:use_intensity_score stringtrue true, falseUse the intensity score
Scores:use_nr_peaks_score stringtrue true, falseUse the number of peaks score
Scores:use_total_xic_score stringtrue true, falseUse the total XIC score
Scores:use_sn_score stringtrue true, falseUse the SN (signal to noise) score
Scores:use_dia_scores stringtrue true, falseUse the DIA (SWATH) scores. If turned off, will not use fragment ion spectra for scoring.
Scores:use_ms1_correlation stringfalse true, falseUse the correlation scores with the MS1 elution profiles
Scores:use_sonar_scores stringfalse true, falseUse the scores for SONAR scans (scanning swath)
Scores:use_ms1_fullscan stringfalse true, falseUse the full MS1 scan at the peak apex for scoring (ppm accuracy of precursor and isotopic pattern)
Scores:use_uis_scores stringfalse true, falseUse UIS scores for peptidoform identification

Note:

Member Typedef Documentation

◆ ModificationType

◆ MRMTransitionGroupType

◆ PeptideType

◆ ProteinType

◆ TargetedExpType

◆ TransitionGroupMapType

◆ TransitionType

Type definitions.

Constructor & Destructor Documentation

◆ MRMFeatureFinderScoring()

Constructor.

◆ ~MRMFeatureFinderScoring()

Destructor.

Member Function Documentation

◆ mapExperimentToTransitionList()

void mapExperimentToTransitionList ( OpenSwath::SpectrumAccessPtr  input,
OpenSwath::LightTargetedExperiment transition_exp,
TransitionGroupMapType transition_group_map,
TransformationDescription  trafo,
double  rt_extraction_window 
)

Map the chromatograms to the transitions.

Map an input chromatogram experiment (mzML) and transition list (TraML) onto each other when they share identifiers, e.g. if the transition id is the same as the chromatogram native id.

Parameters
inputThe input chromatograms
transition_expThe transition list describing the experiment
transition_group_mapMapping of transition groups
trafoOptional transformation of the experimental retention time to the normalized retention time space used in the transition list.
rt_extraction_windowThe used retention time extraction window

◆ pickExperiment() [1/2]

void pickExperiment ( PeakMap chromatograms,
FeatureMap output,
TargetedExperiment transition_exp,
TransformationDescription  trafo,
PeakMap swath_map 
)

Picker and prepare functions.

Pick features in one experiment containing chromatogram

Function for for wrapping in Python, only uses OpenMS datastructures and does not return the map.

Parameters
chromatogramsThe input chromatograms
outputThe output features with corresponding scores
transition_expThe transition list describing the experiment
trafoOptional transformation of the experimental retention time to the normalized retention time space used in the transition list
swath_mapOptional SWATH-MS (DIA) map corresponding from which the chromatograms were extracted

◆ pickExperiment() [2/2]

void pickExperiment ( OpenSwath::SpectrumAccessPtr  input,
FeatureMap output,
OpenSwath::LightTargetedExperiment transition_exp,
TransformationDescription  trafo,
std::vector< OpenSwath::SwathMap swath_maps,
TransitionGroupMapType transition_group_map 
)

Pick features in one experiment containing chromatogram.

Parameters
inputThe input chromatograms
outputThe output features with corresponding scores
transition_expThe transition list describing the experiment
trafoOptional transformation of the experimental retention time to the normalized retention time space used in the transition list.
swath_mapOptional SWATH-MS (DIA) map corresponding from which the chromatograms were extracted. Use empty map if no data is available.
transition_group_mapOutput mapping of transition groups

◆ prepareProteinPeptideMaps_()

void prepareProteinPeptideMaps_ ( const OpenSwath::LightTargetedExperiment transition_exp)

Prepares the internal mappings of peptides and proteins.

Calling this method _is_ required before calling scorePeakgroups.

Parameters
transition_expThe transition list describing the experiment

◆ scoreIdentification_()

OpenSwath_Scores scoreIdentification_ ( MRMTransitionGroupType transition_group_identification,
OpenSwathScoring scorer,
const size_t  feature_idx,
const std::vector< std::string >  native_ids_detection,
const double  sn_win_len_,
const unsigned int  sn_bin_count_,
bool  write_log_messages,
std::vector< OpenSwath::SwathMap swath_maps 
)
private

Provides scoring for target and decoy identification against detecting transitions.

The function is used twice, for target and decoy identification transitions. The results are reported analogously to the ones for detecting transitions but must be stored separately.

Parameters
transition_groupContaining all detecting, identifying transitions
transition_group_identificationContaining all detecting and identifying transitions
scorerAn instance of OpenSwathScoring
feature_idxThe index of the current feature
native_ids_detectionThe native IDs of the detecting transitions
sn_win_len_The signal to noise window length
sn_bin_count_The signal to noise bin count
write_log_messagesWhether to write signal to noise log messages a struct of type OpenSwath_Scores containing either target or decoy values

◆ scorePeakgroups()

void scorePeakgroups ( MRMTransitionGroupType transition_group,
TransformationDescription trafo,
std::vector< OpenSwath::SwathMap swath_maps,
FeatureMap output,
bool  ms1only = false 
)

Score all peak groups of a transition group.

Iterate through all features found along the chromatograms of the transition group and score each one individually.

Parameters
transition_groupThe MRMTransitionGroup to be scored (input)
trafoOptional transformation of the experimental retention time to the normalized retention time space used in the transition list.
swath_mapOptional SWATH-MS (DIA) map corresponding from which the chromatograms were extracted. Use empty map if no data is available.
outputThe output features with corresponding scores (the found features will be added to this FeatureMap).
ms1onlyWhether to only do MS1 scoring and skip all MS2 scoring

◆ setMS1Map()

void setMS1Map ( OpenSwath::SpectrumAccessPtr  ms1_map)
inline

Add an MS1 map containing spectra.

For DIA (SWATH-MS), an optional MS1 map can be supplied which can be used to extract precursor ion signal and provides additional scores. If no MS1 map is provided, the respective scores are not calculated.

Parameters
ms1_mapThe raw mass spectrometric MS1 data

◆ setStrictFlag()

void setStrictFlag ( bool  f)
inline

Set the flag for strict mapping.

◆ splitTransitionGroupsDetection_()

void splitTransitionGroupsDetection_ ( MRMTransitionGroupType transition_group,
MRMTransitionGroupType transition_group_detection 
)
private

Splits combined transition groups into detection transition groups.

For standard assays, transition_group_detection is identical to transition_group and the others are empty.

Parameters
transition_groupContaining all detecting, identifying transitions
transition_group_detectionTo be filled with detecting transitions

◆ splitTransitionGroupsIdentification_()

void splitTransitionGroupsIdentification_ ( MRMTransitionGroupType transition_group,
MRMTransitionGroupType transition_group_identification,
MRMTransitionGroupType transition_group_identification_decoy 
)
private

Splits combined transition groups into identification transition groups.

For standard assays, transition_group_identification is empty. When UIS scoring is enabled, it contains the corresponding identification transitions.

Parameters
transition_groupContaining all detecting, identifying transitions
transition_group_identificationTo be filled with identifying transitions
transition_group_identification_decoyTo be filled with identifying decoy transitions

◆ updateMembers_()

void updateMembers_ ( )
privatevirtual

Synchronize members with param class.

Reimplemented from DefaultParamHandler.

Member Data Documentation

◆ add_up_spectra_

int add_up_spectra_
private

◆ diascoring_

OpenMS::DIAScoring diascoring_
private

◆ emgscoring_

OpenMS::EmgScoring emgscoring_
private

◆ ms1_map_

OpenSwath::SpectrumAccessPtr ms1_map_
private

◆ PeptideRefMap_

std::map<OpenMS::String, const PeptideType*> PeptideRefMap_
private

◆ quantification_cutoff_

double quantification_cutoff_
private

◆ rt_extraction_window_

double rt_extraction_window_
private

◆ rt_normalization_factor_

double rt_normalization_factor_
private

◆ sonarscoring_

OpenMS::SONARScoring sonarscoring_
private

◆ spacing_for_spectra_resampling_

double spacing_for_spectra_resampling_
private

◆ stop_report_after_feature_

int stop_report_after_feature_
private

◆ strict_

bool strict_
private

◆ su_

◆ uis_threshold_peak_area_

double uis_threshold_peak_area_
private

◆ uis_threshold_sn_

double uis_threshold_sn_
private

◆ write_convex_hull_

bool write_convex_hull_
private

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