OpenMS  2.8.0
OpenSwathScores.h
Go to the documentation of this file.
1 // --------------------------------------------------------------------------
2 // OpenMS -- Open-Source Mass Spectrometry
3 // --------------------------------------------------------------------------
4 // Copyright The OpenMS Team -- Eberhard Karls University Tuebingen,
5 // ETH Zurich, and Freie Universitaet Berlin 2002-2021.
6 //
7 // This software is released under a three-clause BSD license:
8 // * Redistributions of source code must retain the above copyright
9 // notice, this list of conditions and the following disclaimer.
10 // * Redistributions in binary form must reproduce the above copyright
11 // notice, this list of conditions and the following disclaimer in the
12 // documentation and/or other materials provided with the distribution.
13 // * Neither the name of any author or any participating institution
14 // may be used to endorse or promote products derived from this software
15 // without specific prior written permission.
16 // For a full list of authors, refer to the file AUTHORS.
17 // --------------------------------------------------------------------------
18 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 // ARE DISCLAIMED. IN NO EVENT SHALL ANY OF THE AUTHORS OR THE CONTRIBUTING
22 // INSTITUTIONS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
23 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
25 // OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
26 // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
27 // OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
28 // ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 //
30 // --------------------------------------------------------------------------
31 // $Maintainer: Hannes Roest $
32 // $Authors: Hannes Roest $
33 // --------------------------------------------------------------------------
34 
35 #pragma once
36 
37 #include <OpenMS/OpenMSConfig.h>
38 #include <OpenMS/CONCEPT/Types.h>
39 
41 #include <vector>
42 
43 namespace OpenMS
44 {
45 
50  struct OPENMS_DLLAPI OpenSwath_Scores_Usage
51  {
52  bool use_coelution_score_ = true;
53  bool use_shape_score_ = true;
54  bool use_rt_score_ = true;
55  bool use_library_score_ = true;
56  bool use_elution_model_score_ = true;
57  bool use_intensity_score_ = true;
58  bool use_total_xic_score_ = true;
59  bool use_total_mi_score_ = true;
60  bool use_nr_peaks_score_ = true;
61  bool use_sn_score_ = true;
62  bool use_mi_score_ = true;
63  bool use_dia_scores_ = true;
64  bool use_sonar_scores = true;
65  bool use_im_scores = true;
66  bool use_ms1_correlation = true;
67  bool use_ms1_fullscan = true;
68  bool use_ms1_mi = true;
69  bool use_uis_scores = true;
70  bool use_ionseries_scores = true;
71  bool use_ms2_isotope_scores = true;
72  };
73 
82  struct OPENMS_DLLAPI OpenSwath_Scores
83  {
84  double elution_model_fit_score = 0;
85  double library_corr = 0;
86  double library_norm_manhattan = 0;
87  double library_rootmeansquare = 0;
88  double library_sangle = 0;
89  double norm_rt_score = 0;
90 
91  double isotope_correlation = 0;
92  double isotope_overlap = 0;
93  double massdev_score = 0;
94  double xcorr_coelution_score = 0;
95  double xcorr_shape_score = 0;
96 
97  double yseries_score = 0;
98  double bseries_score = 0;
99  double log_sn_score = 0;
100 
101  double weighted_coelution_score = 0;
102  double weighted_xcorr_shape = 0;
103  double weighted_massdev_score = 0;
104 
105  double ms1_xcorr_coelution_score = -1;
106  double ms1_xcorr_coelution_contrast_score = 0;
107  double ms1_xcorr_coelution_combined_score = 0;
108  double ms1_xcorr_shape_score = -1;
109  double ms1_xcorr_shape_contrast_score = 0;
110  double ms1_xcorr_shape_combined_score = 0;
111  double ms1_ppm_score = 0;
112  double ms1_isotope_correlation = 0;
113  double ms1_isotope_overlap = 0;
114  double ms1_mi_score = -1;
115  double ms1_mi_contrast_score = 0;
116  double ms1_mi_combined_score = 0;
117 
118  double sonar_sn = 0;
119  double sonar_diff = 0;
120  double sonar_trend = 0;
121  double sonar_rsq = 0;
122  double sonar_shape = 0;
123  double sonar_lag = 0;
124 
125  double im_xcorr_coelution_score = 0;
126  double im_xcorr_shape_score = 0;
127  double im_delta_score = 0;
128  double im_ms1_delta_score = 0;
129  double im_drift = 0;
130  double im_drift_weighted = 0;
131  double im_ms1_contrast_coelution = 0;
132  double im_ms1_contrast_shape = 0;
133  double im_ms1_sum_contrast_coelution = 0;
134  double im_ms1_sum_contrast_shape = 0;
135 
136  double library_manhattan = 0;
137  double library_dotprod = 0;
138  double intensity = 0;
139  double total_xic = 0;
140  double nr_peaks = 0;
141  double sn_ratio = 0;
142  double mi_score = 0;
143  double weighted_mi_score = 0;
144 
145  double rt_difference = 0;
146  double normalized_experimental_rt = 0;
147  double raw_rt_score = 0;
148 
149  double dotprod_score_dia = 0;
150  double manhatt_score_dia = 0;
151 
152  OpenSwath_Scores() = default;
153 
154  double get_quick_lda_score(double library_corr_,
155  double library_norm_manhattan_,
156  double norm_rt_score_,
157  double xcorr_coelution_score_,
158  double xcorr_shape_score_,
159  double log_sn_score_) const;
160 
171  double calculate_lda_prescore(const OpenSwath_Scores& scores) const;
172 
182 
190  double calculate_swath_lda_prescore(const OpenSwath_Scores& scores) const;
191 
192  };
193 
194  struct OPENMS_DLLAPI OpenSwath_Ind_Scores
195  {
196  int ind_num_transitions = 0;
197  std::vector<OpenMS::String> ind_transition_names;
198  std::vector<double> ind_isotope_correlation;
199  std::vector<double> ind_isotope_overlap;
200  std::vector<double> ind_massdev_score;
201  std::vector<double> ind_xcorr_coelution_score;
202  std::vector<double> ind_xcorr_shape_score;
203  std::vector<double> ind_log_sn_score;
204  std::vector<double> ind_area_intensity;
205  std::vector<double> ind_total_area_intensity;
206  std::vector<double> ind_intensity_score;
207  std::vector<double> ind_apex_intensity;
208  std::vector<double> ind_total_mi;
209  std::vector<double> ind_log_intensity;
210  std::vector<double> ind_intensity_ratio;
211  std::vector<double> ind_mi_ratio;
212  std::vector<double> ind_mi_score;
213 
214  OpenSwath_Ind_Scores() = default;
215 
216  };
217 
218 }
219 
220 
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:47
A structure to store which scores should be used by the OpenSWATH Algorithm.
Definition: OpenSwathScores.h:51
Definition: OpenSwathScores.h:195
std::vector< double > ind_isotope_overlap
Definition: OpenSwathScores.h:199
std::vector< OpenMS::String > ind_transition_names
Definition: OpenSwathScores.h:197
std::vector< double > ind_xcorr_shape_score
Definition: OpenSwathScores.h:202
std::vector< double > ind_xcorr_coelution_score
Definition: OpenSwathScores.h:201
std::vector< double > ind_massdev_score
Definition: OpenSwathScores.h:200
std::vector< double > ind_intensity_ratio
Definition: OpenSwathScores.h:210
std::vector< double > ind_total_mi
Definition: OpenSwathScores.h:208
std::vector< double > ind_log_intensity
Definition: OpenSwathScores.h:209
std::vector< double > ind_total_area_intensity
Definition: OpenSwathScores.h:205
std::vector< double > ind_apex_intensity
Definition: OpenSwathScores.h:207
std::vector< double > ind_log_sn_score
Definition: OpenSwathScores.h:203
std::vector< double > ind_mi_ratio
Definition: OpenSwathScores.h:211
std::vector< double > ind_mi_score
Definition: OpenSwathScores.h:212
std::vector< double > ind_isotope_correlation
Definition: OpenSwathScores.h:198
std::vector< double > ind_area_intensity
Definition: OpenSwathScores.h:204
std::vector< double > ind_intensity_score
Definition: OpenSwathScores.h:206
A structure to hold the different scores computed by OpenSWATH.
Definition: OpenSwathScores.h:83
double calculate_swath_lda_prescore(const OpenSwath_Scores &scores) const
A full LDA model using DIA and non-DIA scores.
double calculate_lda_single_transition(const OpenSwath_Scores &scores) const
A scoring model for peak groups with a single transition.
double calculate_lda_prescore(const OpenSwath_Scores &scores) const
A quick LDA model based non-DIA scores.
double get_quick_lda_score(double library_corr_, double library_norm_manhattan_, double norm_rt_score_, double xcorr_coelution_score_, double xcorr_shape_score_, double log_sn_score_) const