All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
IDDecoyProbability.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: Timo Sachsenberg$
6 // $Authors: Andreas Bertsch$
7 // --------------------------------------------------------------------------
8 
9 #pragma once
10 
16 
17 #include <vector>
18 
19 namespace OpenMS
20 {
32  class OPENMS_DLLAPI IDDecoyProbability :
33  public DefaultParamHandler
34  {
35 public:
36 
39 
42 
44  ~IDDecoyProbability() override;
45 
48 
56  const PeptideIdentificationList & fwd_ids,
57  const PeptideIdentificationList & rev_ids);
58 
60 
61 protected:
62 
68  {
70  max_intensity(0),
71  diff_score(0),
72  min_score(0),
73  max_score(0),
74  max_intensity_bin(0)
75  {
76  }
77 
79  max_intensity(rhs.max_intensity),
80  diff_score(rhs.diff_score),
81  min_score(rhs.min_score),
82  max_score(rhs.max_score),
83  max_intensity_bin(rhs.max_intensity_bin)
84  {
85  }
86 
88  {
89  if (this != &rhs)
90  {
91  max_intensity = rhs.max_intensity;
92  diff_score = rhs.diff_score;
93  min_score = rhs.min_score;
94  max_score = rhs.max_score;
95  max_intensity_bin = rhs.max_intensity_bin;
96  }
97  return *this;
98  }
99 
101  double diff_score;
102  double min_score;
103  double max_score;
105  };
106 
107  // normalizes histograms
108  void normalizeBins_(const std::vector<double> & scores, std::vector<double> & binned, Transformation_ & trafo);
109 
110  // returns the probability of given score with the transformations of reverse and forward searches and the results of the fits
112  const Transformation_ & gamma_trafo,
113  const Math::GaussFitter::GaussFitResult & result_gauss,
114  const Transformation_ & gauss_trafo,
115  double score);
116 
117 
118  void generateDistributionImage_(const std::vector<double> & ids, const String & formula, const String & filename);
119 
120  void generateDistributionImage_(const std::vector<double> & all_ids, const Transformation_ & all_trans, const String & fwd_formula, const String & rev_formula, const String & filename);
121 
122 
123  void apply_(PeptideIdentificationList & ids, const std::vector<double> & rev_scores, const std::vector<double> & fwd_scores, const std::vector<double> & all_scores);
124 
125  };
126 
127 } // namespace OpenMS
128 
A base class for all classes handling default parameters.
Definition: DefaultParamHandler.h:66
IDDecoyProbability calculates probabilities using decoy approach.
Definition: IDDecoyProbability.h:34
IDDecoyProbability()
Default constructor.
void apply(PeptideIdentificationList &ids)
void apply(PeptideIdentificationList &prob_ids, const PeptideIdentificationList &fwd_ids, const PeptideIdentificationList &rev_ids)
Converts the forward and reverse identification into probabilities.
void generateDistributionImage_(const std::vector< double > &all_ids, const Transformation_ &all_trans, const String &fwd_formula, const String &rev_formula, const String &filename)
IDDecoyProbability(const IDDecoyProbability &rhs)
Copy constructor.
void normalizeBins_(const std::vector< double > &scores, std::vector< double > &binned, Transformation_ &trafo)
~IDDecoyProbability() override
Destructor.
void apply_(PeptideIdentificationList &ids, const std::vector< double > &rev_scores, const std::vector< double > &fwd_scores, const std::vector< double > &all_scores)
void generateDistributionImage_(const std::vector< double > &ids, const String &formula, const String &filename)
double getProbability_(const Math::GammaDistributionFitter::GammaDistributionFitResult &result_gamma, const Transformation_ &gamma_trafo, const Math::GaussFitter::GaussFitResult &result_gauss, const Transformation_ &gauss_trafo, double score)
IDDecoyProbability & operator=(const IDDecoyProbability &rhs)
assignment operator
Container for peptide identifications from multiple spectra.
Definition: PeptideIdentificationList.h:66
A more convenient string class.
Definition: String.h:34
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition: Types.h:97
Main OpenMS namespace.
Definition: openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19
struct to be used to store a transformation (used for fitting)
Definition: IDDecoyProbability.h:68
Transformation_()
Definition: IDDecoyProbability.h:69
double diff_score
Definition: IDDecoyProbability.h:101
double max_intensity
Definition: IDDecoyProbability.h:100
Transformation_ & operator=(const Transformation_ &rhs)
Definition: IDDecoyProbability.h:87
double min_score
Definition: IDDecoyProbability.h:102
Size max_intensity_bin
Definition: IDDecoyProbability.h:104
Transformation_(const Transformation_ &rhs)
Definition: IDDecoyProbability.h:78
double max_score
Definition: IDDecoyProbability.h:103
struct to represent the parameters of a gamma distribution
Definition: GammaDistributionFitter.h:40
struct of parameters of a Gaussian distribution
Definition: GaussFitter.h:40