OpenMS
Loading...
Searching...
No Matches
MRMFeatureFinderScoring.h
Go to the documentation of this file.
1// Copyright (c) 2002-present, OpenMS Inc. -- EKU Tuebingen, ETH Zurich, and FU Berlin
2// SPDX-License-Identifier: BSD-3-Clause
3//
4// --------------------------------------------------------------------------
5// $Maintainer: Hannes Roest $
6// $Authors: Hannes Roest $
7// --------------------------------------------------------------------------
8
9#pragma once
10
11#define USE_SP_INTERFACE
12
13// Actual scoring
15
18
19// Kernel classes
28
30
31#include <unordered_map>
32
33#ifdef _OPENMP
34#include <omp.h>
35#endif
36
37bool SortDoubleDoublePairFirst(const std::pair<double, double>& left, const std::pair<double, double>& right);
38
39namespace OpenMS
40{
41
64 class OPENMS_DLLAPI MRMFeatureFinderScoring :
66 public ProgressLogger
67 {
68
69public:
71
77 // a transition group holds the chromatographic data and peaks across
78 // multiple chromatograms from the same compound
80 typedef std::map<String, MRMTransitionGroupType> TransitionGroupMapType;
81
83
86
89
91
92
106 void pickExperiment(const PeakMap & chromatograms,
107 FeatureMap& output,
108 const TargetedExperiment& transition_exp,
109 const TransformationDescription& trafo,
110 const PeakMap& swath_map);
111
127 FeatureMap& output,
128 const OpenSwath::LightTargetedExperiment& transition_exp,
129 const TransformationDescription& trafo,
130 const std::vector<OpenSwath::SwathMap>& swath_maps,
131 TransitionGroupMapType& transition_group_map);
132
142
161 const TransformationDescription & trafo,
162 const std::vector<OpenSwath::SwathMap>& swath_maps,
163 FeatureMap& output,
164 bool ms1only = false) const;
165
168 void setStrictFlag(bool f)
169 {
170 strict_ = f;
171 }
172
183 {
184 ms1_map_ = ms1_map;
185 }
186
203 const OpenSwath::LightTargetedExperiment& transition_exp,
204 TransitionGroupMapType& transition_group_map,
206 double rt_extraction_window);
207private:
208
217 MRMTransitionGroupType& transition_group_detection) const;
218
229 MRMTransitionGroupType& transition_group_identification,
230 MRMTransitionGroupType& transition_group_identification_decoy) const;
231
252 MRMTransitionGroupType& transition_group_detection,
253 OpenSwathScoring& scorer,
254 const size_t feature_idx,
255 const std::vector<std::string> & native_ids_detection,
256 const double det_intensity_ratio_score,
257 const double det_mi_ratio_score,
258 const std::vector<OpenSwath::SwathMap>& swath_maps,
259 const double drift_target,
260 RangeMobility& im_range) const;
261
262 void prepareFeatureOutput_(OpenMS::MRMFeature& mrmfeature, bool ms1only, int charge) const;
263
265 void updateMembers_() override;
266
267 // parameters
276
277 // scoring parameters
286
288 unsigned int sn_bin_count_;
290
292
293 // members (unordered_map for O(1) lookup performance)
294 std::unordered_map<OpenMS::String, const PeptideType*> PeptideRefMap_;
298
299 // data
301
302 };
303}
304
305#undef run_identifier
306
bool SortDoubleDoublePairFirst(const std::pair< double, double > &left, const std::pair< double, double > &right)
Scoring of an spectrum at the peak apex of an chromatographic elution peak.
Definition DIAScoring.h:63
A base class for all classes handling default parameters.
Definition DefaultParamHandler.h:66
Scoring of an elution peak using an exponentially modified gaussian distribution model.
Definition EmgScoring.h:35
A container for features.
Definition FeatureMap.h:82
The MRMFeatureFinder finds and scores peaks of transitions that co-elute.
Definition MRMFeatureFinderScoring.h:67
MRMTransitionGroup< MSChromatogram, TransitionType > MRMTransitionGroupType
Definition MRMFeatureFinderScoring.h:79
double merge_spectra_by_peak_width_fraction_
Definition MRMFeatureFinderScoring.h:283
bool strict_
Definition MRMFeatureFinderScoring.h:272
OpenSwath::LightProtein ProteinType
Definition MRMFeatureFinderScoring.h:75
bool apply_im_peak_picking_
Definition MRMFeatureFinderScoring.h:274
void mapExperimentToTransitionList(const OpenSwath::SpectrumAccessPtr &input, const OpenSwath::LightTargetedExperiment &transition_exp, TransitionGroupMapType &transition_group_map, TransformationDescription trafo, double rt_extraction_window)
Map the chromatograms to the transitions.
int add_up_spectra_
Definition MRMFeatureFinderScoring.h:279
double sn_win_len_
Definition MRMFeatureFinderScoring.h:287
double spacing_for_spectra_resampling_
Definition MRMFeatureFinderScoring.h:282
String spectrum_merge_method_type_
Definition MRMFeatureFinderScoring.h:281
OpenMS::EmgScoring emgscoring_
Definition MRMFeatureFinderScoring.h:297
int stop_report_after_feature_
Definition MRMFeatureFinderScoring.h:270
std::unordered_map< OpenMS::String, const PeptideType * > PeptideRefMap_
Definition MRMFeatureFinderScoring.h:294
OpenSwath::LightCompound PeptideType
Definition MRMFeatureFinderScoring.h:74
OpenMS::DIAScoring diascoring_
Definition MRMFeatureFinderScoring.h:296
bool write_convex_hull_
Definition MRMFeatureFinderScoring.h:271
void splitTransitionGroupsIdentification_(const MRMTransitionGroupType &transition_group, MRMTransitionGroupType &transition_group_identification, MRMTransitionGroupType &transition_group_identification_decoy) const
Splits combined transition groups into identification transition groups.
~MRMFeatureFinderScoring() override
Destructor.
OpenSwath::SpectrumAccessPtr ms1_map_
Definition MRMFeatureFinderScoring.h:300
OpenSwath::LightTransition TransitionType
Type definitions.
Definition MRMFeatureFinderScoring.h:72
void pickExperiment(const OpenSwath::SpectrumAccessPtr &input, FeatureMap &output, const OpenSwath::LightTargetedExperiment &transition_exp, const TransformationDescription &trafo, const std::vector< OpenSwath::SwathMap > &swath_maps, TransitionGroupMapType &transition_group_map)
Pick and score features in a single experiment from chromatograms.
void setMS1Map(OpenSwath::SpectrumAccessPtr ms1_map)
Add an MS1 map containing spectra.
Definition MRMFeatureFinderScoring.h:182
double rt_normalization_factor_
Definition MRMFeatureFinderScoring.h:278
OpenSwath_Scores_Usage su_
Definition MRMFeatureFinderScoring.h:295
double uis_threshold_sn_
Definition MRMFeatureFinderScoring.h:284
double quantification_cutoff_
Definition MRMFeatureFinderScoring.h:269
void splitTransitionGroupsDetection_(const MRMTransitionGroupType &transition_group, MRMTransitionGroupType &transition_group_detection) const
Splits combined transition groups into detection transition groups.
void setStrictFlag(bool f)
Set the flag for strict mapping.
Definition MRMFeatureFinderScoring.h:168
unsigned int sn_bin_count_
Definition MRMFeatureFinderScoring.h:288
double uis_threshold_peak_area_
Definition MRMFeatureFinderScoring.h:285
String spectrum_addition_method_
Definition MRMFeatureFinderScoring.h:280
void scorePeakgroups(MRMTransitionGroupType &transition_group, const TransformationDescription &trafo, const std::vector< OpenSwath::SwathMap > &swath_maps, FeatureMap &output, bool ms1only=false) const
Score all peak groups of a transition group.
void pickExperiment(const PeakMap &chromatograms, FeatureMap &output, const TargetedExperiment &transition_exp, const TransformationDescription &trafo, const PeakMap &swath_map)
Picker and prepare functions.
void prepareProteinPeptideMaps_(const OpenSwath::LightTargetedExperiment &transition_exp)
Prepares the internal mappings of peptides and proteins.
OpenSwath_Ind_Scores scoreIdentification_(MRMTransitionGroupType &transition_group_identification, MRMTransitionGroupType &transition_group_detection, OpenSwathScoring &scorer, const size_t feature_idx, const std::vector< std::string > &native_ids_detection, const double det_intensity_ratio_score, const double det_mi_ratio_score, const std::vector< OpenSwath::SwathMap > &swath_maps, const double drift_target, RangeMobility &im_range) const
Provides scoring for target and decoy identification against detecting transitions.
OpenSwath::LightTargetedExperiment TargetedExpType
Definition MRMFeatureFinderScoring.h:73
bool write_log_messages_
Definition MRMFeatureFinderScoring.h:289
void updateMembers_() override
Synchronize members with param class.
bool use_ms1_ion_mobility_
Definition MRMFeatureFinderScoring.h:273
std::map< String, MRMTransitionGroupType > TransitionGroupMapType
Definition MRMFeatureFinderScoring.h:80
double rt_extraction_window_
Definition MRMFeatureFinderScoring.h:268
OpenSwath::LightModification ModificationType
Definition MRMFeatureFinderScoring.h:76
void prepareFeatureOutput_(OpenMS::MRMFeature &mrmfeature, bool ms1only, int charge) const
double im_extra_drift_
Definition MRMFeatureFinderScoring.h:291
String scoring_model_
Definition MRMFeatureFinderScoring.h:275
A multi-chromatogram MRM feature.
Definition MRMFeature.h:26
The representation of a group of transitions in a targeted proteomics experiment.
Definition MRMTransitionGroup.h:42
In-Memory representation of a mass spectrometry run.
Definition MSExperiment.h:49
A class that calls the scoring routines.
Definition OpenSwathScoring.h:44
Base class for all classes that want to report their progress.
Definition ProgressLogger.h:27
A more convenient string class.
Definition String.h:34
A description of a targeted experiment containing precursor and production ions.
Definition TargetedExperiment.h:39
Generic description of a coordinate transformation.
Definition TransformationDescription.h:37
Main OpenMS namespace.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19
A structure to store which scores should be used by the OpenSWATH Algorithm.
Definition OpenSwathScores.h:25
std::shared_ptr< ISpectrumAccess > SpectrumAccessPtr
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:131
A structure to hold the individual scores computed for unique ion signatures (UIS) scores for the Inf...
Definition OpenSwathScores.h:181
Definition RangeManager.h:482
Definition TransitionExperiment.h:268
Definition TransitionExperiment.h:250
Definition TransitionExperiment.h:336
Definition TransitionExperiment.h:356
Definition TransitionExperiment.h:105