OpenMS
NuXLFDR.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: Timo Sachsenberg $
6 // $Authors: Timo Sachsenberg $
7 // --------------------------------------------------------------------------
8 
9 #pragma once
10 
17 #include <vector>
18 
19 namespace OpenMS
20 {
21 
23 class OPENMS_DLLAPI NuXLFDR
24 {
25  public:
26  explicit NuXLFDR(size_t report_top_hits);
27 
28  // split by meta value "NuXL:isXL" == 0
31  PeptideIdentificationList& xl_pi) const;
32 
34  const PeptideIdentificationList& xl_pi,
35  PeptideIdentificationList& peptide_ids) const;
36 
37  // calculate PSM-level q-values (irrespective of XL/non-XL class)
38  void QValueAtPSMLevel(PeptideIdentificationList& peptide_ids) const;
39 
40  // calculate PSM-level q-values for XL and non-XL class separately.
43  PeptideIdentificationList& xl_pi) const;
44 
45  // calculate separate FDRs, filter decoys, write PSM and protein reports
47  const std::vector<ProteinIdentification>& protein_ids,
48  const PeptideIdentificationList& peptide_ids,
50  double peptide_PSM_qvalue_threshold,
51  double peptide_peptide_qvalue_threshold,
53  std::vector<double> xl_PSM_qvalue_thresholds,
54  std::vector<double> xl_peptidelevel_qvalue_thresholds,
55  const String& out_idxml,
56  int decoy_factor) const;
57 
58  private:
60 };
61 
62 }
63 
64 
adapted FDR calculation for NA cross-links
Definition: NuXLFDR.h:24
void splitIntoPeptidesAndXLs(const PeptideIdentificationList &peptide_ids, PeptideIdentificationList &pep_pi, PeptideIdentificationList &xl_pi) const
void QValueAtPSMLevel(PeptideIdentificationList &peptide_ids) const
NuXLFDR(size_t report_top_hits)
void calculatePeptideAndXLQValueAtPSMLevel(const PeptideIdentificationList &peptide_ids, PeptideIdentificationList &pep_pi, PeptideIdentificationList &xl_pi) const
void calculatePeptideAndXLQValueAndFilterAtPSMLevel(const std::vector< ProteinIdentification > &protein_ids, const PeptideIdentificationList &peptide_ids, PeptideIdentificationList &pep, double peptide_PSM_qvalue_threshold, double peptide_peptide_qvalue_threshold, PeptideIdentificationList &xl_pi, std::vector< double > xl_PSM_qvalue_thresholds, std::vector< double > xl_peptidelevel_qvalue_thresholds, const String &out_idxml, int decoy_factor) const
size_t report_top_hits_
Definition: NuXLFDR.h:59
void mergePeptidesAndXLs(const PeptideIdentificationList &pep_pi, const PeptideIdentificationList &xl_pi, PeptideIdentificationList &peptide_ids) const
Container for peptide identifications from multiple spectra.
Definition: PeptideIdentificationList.h:66
A more convenient string class.
Definition: String.h:34
Main OpenMS namespace.
Definition: openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19