OpenMS
Contaminants.h
Go to the documentation of this file.
1 // Copyright (c) 2002-2023, The OpenMS Team -- EKU Tuebingen, ETH Zurich, and FU Berlin
2 // SPDX-License-Identifier: BSD-3-Clause
3 //
4 // --------------------------------------------------------------------------
5 // $Maintainer: Chris Bielow $
6 // $Authors: Dominik Schmitz, Chris Bielow$
7 // --------------------------------------------------------------------------
8 
9 #pragma once
10 
14 #include <OpenMS/QC/QCBase.h>
15 #include <unordered_set>
16 
17 
18 namespace OpenMS
19 {
26  class OPENMS_DLLAPI Contaminants : public QCBase
27  {
28  public:
33 
36 
39 
42 
44  std::pair<Int64, Int64> empty_features;
45  };
46 
48  Contaminants() = default;
49 
51  virtual ~Contaminants() = default;
52 
68  void compute(FeatureMap& features, const std::vector<FASTAFile::FASTAEntry>& contaminants);
69 
71  const String& getName() const override;
72 
74  const std::vector<Contaminants::ContaminantsSummary>& getResults();
75 
80  Status requirements() const override;
81 
82  private:
84  const String name_ = "Contaminants";
85 
87  std::vector<Contaminants::ContaminantsSummary> results_;
88 
90  std::unordered_set<String> digested_db_;
91 
103  void compare_(const String& key, PeptideHit& pep_hit, Int64& total, Int64& cont, double& sum_total, double& sum_cont, double intensity);
104  };
105 } // namespace OpenMS
This class is a metric for the QualityControl TOPP tool.
Definition: Contaminants.h:27
std::pair< Int64, Int64 > empty_features
(features without peptideidentification or with peptideidentifications but without hits; all features...
Definition: Contaminants.h:44
double assigned_contaminants_intensity_ratio
(intensity of contaminants in assigned/ intensity of peptides in assigned)
Definition: Contaminants.h:41
double unassigned_contaminants_ratio
(#contaminants in unassigned/ #peptides in unassigned)
Definition: Contaminants.h:35
virtual ~Contaminants()=default
Destructor.
const std::vector< Contaminants::ContaminantsSummary > & getResults()
returns results
void compute(FeatureMap &features, const std::vector< FASTAFile::FASTAEntry > &contaminants)
Checks if the peptides are in the contaminant database.
double assigned_contaminants_ratio
(#contaminants in assigned/ #peptides in assigned)
Definition: Contaminants.h:32
const String & getName() const override
returns the name of the metric
std::unordered_set< String > digested_db_
unordered set that contains the contaminant sequences
Definition: Contaminants.h:90
std::vector< Contaminants::ContaminantsSummary > results_
container that stores results
Definition: Contaminants.h:87
Status requirements() const override
Returns the input data requirements of the compute(...) function.
double all_contaminants_ratio
(#all contaminants/ #peptides in all)
Definition: Contaminants.h:38
Contaminants()=default
Constructor.
void compare_(const String &key, PeptideHit &pep_hit, Int64 &total, Int64 &cont, double &sum_total, double &sum_cont, double intensity)
checks if the peptide is in the contaminant database
structure for storing results
Definition: Contaminants.h:30
A container for features.
Definition: FeatureMap.h:80
Stores and handles combinations of enum values, e.g. a set of flags as bits flipped in an UInt64.
Definition: FlagSet.h:28
Representation of a peptide hit.
Definition: PeptideHit.h:31
This class serves as an abstract base class for all QC classes.
Definition: QCBase.h:29
A more convenient string class.
Definition: String.h:34
OPENMS_INT64_TYPE Int64
Signed integer type (64bit)
Definition: Types.h:44
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:22