OpenMS
FLASHTnTAlgorithm.h
Go to the documentation of this file.
1 // Copyright (c) 2002-2024, The OpenMS Team -- EKU Tuebingen, ETH Zurich, and FU Berlin
2 // SPDX-License-Identifier: BSD-3-Clause
3 //
4 // --------------------------------------------------------------------------
5 // $Maintainer: Kyowon Jeong $
6 // $Authors: Kyowon Jeong $
7 // --------------------------------------------------------------------------
8 
9 #pragma once
10 
17 #include <boost/dynamic_bitset.hpp>
18 #include <iomanip>
19 #include <iostream>
20 
21 namespace OpenMS
22 {
28 class OPENMS_DLLAPI FLASHTnTAlgorithm : public DefaultParamHandler, public ProgressLogger
29 {
30 public:
33 
35  ~FLASHTnTAlgorithm() override = default;
36 
39 
42 
45 
47 
56  void run(const MSExperiment& map, const std::vector<FASTAFile::FASTAEntry>& fasta_entry);
57  void getProteoformHitsMatchedBy(const FLASHHelperClasses::Tag& tag, std::vector<ProteinHit>& hits) const;
58  void getTags(std::vector<FLASHHelperClasses::Tag>& tags) const;
59  void getProteoforms(std::vector<ProteinHit>& hits) const
60  {
61  for (const auto& hit : proteoform_hits_)
62  {
63  hits.push_back(hit);
64  }
65  }
66 
67 protected:
68  void updateMembers_() override;
71 
72 private:
73  Param tagger_param_, extender_param_;
74  double decoy_factor_ = 0, prsm_fdr_ = 1, pro_fdr_ = 1;
75  bool keep_decoy_ = false;
76  bool keep_underdetermined_ = true;
77  bool multiple_hits_per_spec_ = false;
78  std::vector<ProteinHit> proteoform_hits_;
79  std::vector<FLASHHelperClasses::Tag> tags_;
80  std::map<int, std::vector<int>> matching_hits_indices_;
81  bool areConsistent_(const ProteinHit& a, const ProteinHit& b, double tol) const;
83 };
84 } // namespace OpenMS
A base class for all classes handling default parameters.
Definition: DefaultParamHandler.h:66
Sequence tag. No mass gap is allowed in the seq. The mass gap containing tag should be enumerated int...
Definition: FLASHHelperClasses.h:224
Definition: FLASHTnTAlgorithm.h:29
std::vector< ProteinHit > proteoform_hits_
Definition: FLASHTnTAlgorithm.h:78
~FLASHTnTAlgorithm() override=default
destructor
FLASHTnTAlgorithm(const FLASHTnTAlgorithm &)
copy constructor
std::map< int, std::vector< int > > matching_hits_indices_
Definition: FLASHTnTAlgorithm.h:80
Param extender_param_
Definition: FLASHTnTAlgorithm.h:73
void setDefaultParams_()
implemented for DefaultParamHandler
void getProteoforms(std::vector< ProteinHit > &hits) const
Definition: FLASHTnTAlgorithm.h:59
void markRepresentativeProteoformHits_(double tol)
void run(const MSExperiment &map, const std::vector< FASTAFile::FASTAEntry > &fasta_entry)
Find sequence tags from mzs and intensities then store them in tags.
FLASHTnTAlgorithm & operator=(const FLASHTnTAlgorithm &other)
assignment operator
bool areConsistent_(const ProteinHit &a, const ProteinHit &b, double tol) const
void getProteoformHitsMatchedBy(const FLASHHelperClasses::Tag &tag, std::vector< ProteinHit > &hits) const
FLASHTnTAlgorithm(FLASHTnTAlgorithm &&other)=default
move constructor
void getTags(std::vector< FLASHHelperClasses::Tag > &tags) const
std::vector< FLASHHelperClasses::Tag > tags_
Definition: FLASHTnTAlgorithm.h:79
void updateMembers_() override
This method is used to update extra member variables at the end of the setParameters() method.
FLASHTnTAlgorithm()
constructor
In-Memory representation of a mass spectrometry run.
Definition: MSExperiment.h:46
Management and storage of parameters / INI files.
Definition: Param.h:44
Base class for all classes that want to report their progress.
Definition: ProgressLogger.h:27
Representation of a protein hit.
Definition: ProteinHit.h:34
FLASHIda C++ to C# (or vice versa) bridge functions The functions here are called in C# to invoke fun...
Definition: openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19