The MRMFeatureFinder finds and scores peaks of transitions that co-elute. More...
#include <OpenMS/ANALYSIS/OPENSWATH/MRMFeatureFinderScoring.h>
Public Types | |
typedef MSSpectrum< ChromatogramPeak > | RichPeakChromatogram |
Type definitions. More... | |
typedef OpenSwath::LightTransition | TransitionType |
typedef OpenSwath::LightTargetedExperiment | TargetedExpType |
typedef OpenSwath::LightPeptide | PeptideType |
typedef OpenSwath::LightProtein | ProteinType |
typedef OpenSwath::LightModification | ModificationType |
typedef MRMTransitionGroup< MSSpectrum< ChromatogramPeak >, TransitionType > | MRMTransitionGroupType |
typedef std::map< String, MRMTransitionGroupType > | TransitionGroupMapType |
![]() | |
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, OpenSwath::SpectrumAccessPtr swath_map, FeatureMap &output) |
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 (MSExperiment< Peak1D > &chromatograms, FeatureMap &output, TargetedExperiment &transition_exp, TransformationDescription trafo, MSExperiment< Peak1D > &swath_map) |
Picker and prepare functions. More... | |
void | pickExperiment (OpenSwath::SpectrumAccessPtr input, FeatureMap &output, OpenSwath::LightTargetedExperiment &transition_exp, TransformationDescription trafo, OpenSwath::SpectrumAccessPtr swath_map, TransitionGroupMapType &transition_group_map) |
Pick features in one experiment containing chromatogram. More... | |
void | prepareProteinPeptideMaps_ (OpenSwath::LightTargetedExperiment &transition_exp) |
Prepares the internal mappings of peptides and proteins. More... | |
![]() | |
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 DefaultParamHandler & | operator= (const DefaultParamHandler &rhs) |
Assignment operator. More... | |
virtual bool | operator== (const DefaultParamHandler &rhs) const |
Equality operator. More... | |
void | setParameters (const Param ¶m) |
Sets the parameters. More... | |
const Param & | getParameters () const |
Non-mutable access to the parameters. More... | |
const Param & | getDefaults () const |
Non-mutable access to the default parameters. More... | |
const String & | getName () 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... | |
![]() | |
ProgressLogger () | |
Constructor. More... | |
~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 | 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 | updateMembers_ () |
Synchronize members with param class. More... | |
Additional Inherited Members | |
![]() | |
void | defaultsToParam_ () |
Updates the parameters after the defaults have been set in the constructor. More... | |
![]() | |
static String | logTypeToFactoryName_ (LogType type) |
Return the name of the factory product used for this log type. More... | |
![]() | |
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< String > | subsections_ |
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... | |
![]() | |
LogType | type_ |
time_t | last_invoke_ |
ProgressLoggerImpl * | current_logger_ |
![]() | |
static int | recursion_depth_ |
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:Name | Type | Default | Restrictions | Description |
---|---|---|---|---|
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 | float | 1 | 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 | float | 0 | min: 0 | Cutoff in m/z below which peaks should not be used for quantification any more |
write_convex_hull | string | false | true, false | Whether to write out all points of all features into the featureXML |
add_up_spectra | int | 1 | min: 1 | Add up spectra around the peak apex (needs to be a non-even integer) |
spacing_for_spectra_resampling | float | 0.005 | min: 0 | If spectra are to be added, use this spacing to add them up |
TransitionGroupPicker:stop_after_feature | int | -1 | Stop finding after feature (ordered by intensity; -1 means do not stop). | |
TransitionGroupPicker:stop_after_intensity_ratio | float | 0.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 | string | none | none, smoothed, original | Try 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 | string | false | 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. | |
TransitionGroupPicker:recalculate_peaks_max_z | float | 1 | 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:compute_peak_quality | string | false | 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. | |
TransitionGroupPicker:PeakPickerMRM:sgolay_frame_length | int | 15 | 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 | int | 3 | Order of the polynomial that is fitted. | |
TransitionGroupPicker:PeakPickerMRM:gauss_width | float | 50 | Gaussian width in seconds, estimated peak size. | |
TransitionGroupPicker:PeakPickerMRM:use_gauss | string | true | false, true | Use Gaussian filter for smoothing (alternative is Savitzky-Golay filter) |
TransitionGroupPicker:PeakPickerMRM:peak_width | float | 40 | 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 | float | 1 | min: 0 | Signal-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 | float | 1000 | Signal to noise window length. | |
TransitionGroupPicker:PeakPickerMRM:sn_bin_count | int | 30 | Signal to noise bin count. | |
TransitionGroupPicker:PeakPickerMRM:write_sn_log_messages | string | true | true, false | Write 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 | string | false | false, true | Try to remove overlapping peaks during peak picking |
TransitionGroupPicker:PeakPickerMRM:method | string | legacy | legacy, corrected, crawdad | Which method to choose for chromatographic peak-picking (OpenSWATH legacy, corrected picking or Crawdad). |
DIAScoring:dia_extraction_window | float | 0.05 | min: 0 | DIA extraction window in Th. |
DIAScoring:dia_centroided | string | false | true, false | Use centroded DIA data. |
DIAScoring:dia_byseries_intensity_min | float | 300 | min: 0 | DIA b/y series minimum intensity to consider. |
DIAScoring:dia_byseries_ppm_diff | float | 10 | min: 0 | DIA b/y series minimal difference in ppm to consider. |
DIAScoring:dia_nr_isotopes | int | 4 | min: 0 | DIA nr of isotopes to consider. |
DIAScoring:dia_nr_charges | int | 4 | min: 0 | DIA nr of charges to consider. |
DIAScoring:peak_before_mono_max_ppm_diff | float | 20 | min: 0 | DIA 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 | float | 0.2 | Sampling rate for the interpolation of the model function. | |
EMGScoring:tolerance_stdev_bounding_box | float | 3 | 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 | int | 500 | Maximum number of iterations using by Levenberg-Marquardt algorithm. | |
EMGScoring:statistics:mean | float | 1 | Centroid position of the model. | |
EMGScoring:statistics:variance | float | 1 | Variance of the model. | |
Scores:use_shape_score | string | true | true, false | Use the shape score (this score measures the similarity in shape of the transitions using a cross-correlation) |
Scores:use_coelution_score | string | true | true, false | Use the coelution score (this score measures the similarity in coelution of the transitions using a cross-correlation) |
Scores:use_rt_score | string | true | true, false | Use the retention time score (this score measure the difference in retention time) |
Scores:use_library_score | string | true | true, false | Use the library score |
Scores:use_elution_model_score | string | true | true, false | Use the elution model (EMG) score (this score fits a gaussian model to the peak and checks the fit) |
Scores:use_intensity_score | string | true | true, false | Use the intensity score |
Scores:use_nr_peaks_score | string | true | true, false | Use the number of peaks score |
Scores:use_total_xic_score | string | true | true, false | Use the total XIC score |
Scores:use_sn_score | string | true | true, false | Use the SN (signal to noise) score |
Scores:use_dia_scores | string | true | true, false | Use the DIA (SWATH) scores |
Scores:use_ms1_correlation | string | false | true, false | Use the correlation scores with the MS1 elution profiles |
Scores:use_ms1_fullscan | string | false | true, false | Use the full MS1 scan at the peak apex for scoring (ppm accuracy of precursor and isotopic pattern) |
typedef OpenSwath::LightPeptide PeptideType |
typedef OpenSwath::LightProtein ProteinType |
Type definitions.
typedef std::map<String, MRMTransitionGroupType> TransitionGroupMapType |
Constructor.
Destructor.
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.
input | The input chromatograms |
transition_exp | The transition list describing the experiment |
transition_group_map | Mapping of transition groups |
trafo | Optional transformation of the experimental retention time to the normalized retention time space used in the transition list. |
rt_extraction_window | The used retention time extraction window |
void pickExperiment | ( | MSExperiment< Peak1D > & | chromatograms, |
FeatureMap & | output, | ||
TargetedExperiment & | transition_exp, | ||
TransformationDescription | trafo, | ||
MSExperiment< Peak1D > & | 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.
chromatograms | The input chromatograms |
output | The output features with corresponding scores |
transition_exp | The transition list describing the experiment |
trafo | Optional transformation of the experimental retention time to the normalized retention time space used in the transition list |
swath_map | Optional SWATH-MS (DIA) map corresponding from which the chromatograms were extracted |
Referenced by OpenSwathWorkflow::RTNormalization().
void pickExperiment | ( | OpenSwath::SpectrumAccessPtr | input, |
FeatureMap & | output, | ||
OpenSwath::LightTargetedExperiment & | transition_exp, | ||
TransformationDescription | trafo, | ||
OpenSwath::SpectrumAccessPtr | swath_map, | ||
TransitionGroupMapType & | transition_group_map | ||
) |
Pick features in one experiment containing chromatogram.
input | The input chromatograms |
output | The output features with corresponding scores |
transition_exp | The transition list describing the experiment |
trafo | Optional transformation of the experimental retention time to the normalized retention time space used in the transition list. |
swath_map | Optional SWATH-MS (DIA) map corresponding from which the chromatograms were extracted. Use empty map if no data is available. |
transition_group_map | Output mapping of transition groups |
void prepareProteinPeptideMaps_ | ( | OpenSwath::LightTargetedExperiment & | transition_exp | ) |
Prepares the internal mappings of peptides and proteins.
Calling this method _is_ required before calling scorePeakgroups.
transition_exp | The transition list describing the experiment |
Referenced by OpenSwathWorkflow::scoreAllChromatograms().
void scorePeakgroups | ( | MRMTransitionGroupType & | transition_group, |
TransformationDescription & | trafo, | ||
OpenSwath::SpectrumAccessPtr | swath_map, | ||
FeatureMap & | output | ||
) |
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.
transition_group | The MRMTransitionGroup to be scored (input) |
trafo | Optional transformation of the experimental retention time to the normalized retention time space used in the transition list. |
swath_map | Optional SWATH-MS (DIA) map corresponding from which the chromatograms were extracted. Use empty map if no data is available. |
output | The output features with corresponding scores (the found features will be added to this FeatureMap). |
Referenced by OpenSwathWorkflow::scoreAllChromatograms().
|
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.
ms1_map | The raw mass spectrometric MS1 data |
Referenced by OpenSwathWorkflow::scoreAllChromatograms().
|
inline |
Set the flag for strict mapping.
Referenced by OpenSwathWorkflow::RTNormalization().
|
privatevirtual |
Synchronize members with param class.
Reimplemented from DefaultParamHandler.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
OpenMS / TOPP release 2.0.0 | Documentation generated on Tue Aug 25 2015 05:54:03 using doxygen 1.8.9.1 |