OpenMS
Loading...
Searching...
No Matches
Contaminants.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: 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
18namespace OpenMS
19{
26 class OPENMS_DLLAPI Contaminants : public QCBase
27 {
28 public:
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
const String & getName() const override
returns the name of the metric
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.
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
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
const std::vector< Contaminants::ContaminantsSummary > & getResults()
returns results
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:82
Stores and handles combinations of enum values, e.g. a set of flags as bits flipped in an UInt64.
Definition FlagSet.h:28
Represents a single spectrum match (candidate) for a specific tandem mass spectrum (MS/MS).
Definition PeptideHit.h:52
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
int64_t Int64
Signed integer type (64bit)
Definition Types.h:40
Main OpenMS namespace.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19