OpenFlexTyper
qkMapClass.h
1 #ifndef QKMAPCLASS_H
2 #define QKMAPCLASS_H
3 
4 #include <set>
5 #include <iostream>
6 #include <unordered_map>
7 #include <future>
8 #include <vector>
9 #include "kmerClass.h"
10 #include "queryClass.h"
11 
12 namespace ft {
13 
18 
19 class QKMap
20 {
21 public:
23  QKMap();
25  virtual ~QKMap();
26 
29  std::map<ft::QIdT, std::set<std::string>> _map;
30 
33  const std::map<ft::QIdT, std::set<std::string>>& getQKMap();
34 
37 
38 
42  std::set<ft::QIdT> retrieveQueries(const ft::KmerClass& kmer);
43 
47  std::set<std::string> retrieveKmers(const ft::QIdT& queryIDT);
48 
52  bool checkForMatch(const ft::QueryClass& query, const ft::KmerClass &kmer) const;
53 
56  bool checkForQuery(const ft::QueryClass& query) const;
57 
61  void addQKPair(const ft::QIdT& qIDT, const std::string& kmer);
62 
63 private:
64 
65 };
66 }
67 #endif // QKMAPCLASS_H
ft::QKMap::retrieveQueries
std::set< ft::QIdT > retrieveQueries(const ft::KmerClass &kmer)
Access functions for _qkMap.
Definition: qkMapClass.cpp:32
ft::KmerClass
A class that contains information for a single Kmer.
Definition: kmerClass.h:17
ft::QueryClass
A class that contains information for one query ID, Type pair.
Definition: queryClass.h:16
ft::QKMap::retrieveKmers
std::set< std::string > retrieveKmers(const ft::QIdT &queryIDT)
retrieve kmers that map to a specific query ID and type
Definition: qkMapClass.cpp:45
ft::QIdT
std::pair< int, QueryType > QIdT
Pair to create a unique ID: (Query Number, Query Type)
Definition: ftPropsClass.h:42
ft::QKMap::QKMap
QKMap()
Constructor.
Definition: qkMapClass.cpp:13
ft
This namespace contains all the functions to interact with the search.
Definition: directSearch.h:16
ft::QKMap::getQKMap
const std::map< ft::QIdT, std::set< std::string > > & getQKMap()
retrieve the qkmap
ft::QKMap
A class that contains the map between queries and kmers.
Definition: qkMapClass.h:20
ft::QKMap::checkForMatch
bool checkForMatch(const ft::QueryClass &query, const ft::KmerClass &kmer) const
see if a query contains a kmer
Definition: qkMapClass.cpp:50
ft::QKMap::_map
std::map< ft::QIdT, std::set< std::string > > _map
Definition: qkMapClass.h:29
ft::QKMap::checkForQuery
bool checkForQuery(const ft::QueryClass &query) const
see if a query is in the qkMap
Definition: qkMapClass.cpp:21
ft::QKMap::addQKPair
void addQKPair(const ft::QIdT &qIDT, const std::string &kmer)
add a query ID, Type and Kmer pair to the QKMap
Definition: qkMapClass.cpp:70
ft::QKMap::~QKMap
virtual ~QKMap()
Destructor.
Definition: qkMapClass.cpp:80