OpenFlexTyper
kmergenerator.h
1 #ifndef __KMER_GENERATOR_H__
2 #define __KMER_GENERATOR_H__
3 
4 #include <set>
5 #include <string>
6 #include <map>
7 #include "ikmergenerator.h"
8 #include "queryClass.h"
9 #include "ftPropsClass.h"
10 
11 namespace ft {
12 
18 {
19 
20 public:
22  KmerGenerator(const uint& _kmerSize ,
23  const bool& _refOnly ,
24  const SearchType& _searchType ,
25  const uint& _overlap = 0,
26  const uint& _stride = 1,
27  const uint& _maxKmers = 1000000000,
28  const bool& _verbose = false);
29 
31  virtual ~KmerGenerator();
32 
36  virtual std::set<std::string> genSlidingSearchStrings(const std::string& queryString);
37 
41  virtual std::set<std::string> genCenteredSearchStrings(const std::string& queryString);
42 
46  virtual std::set<std::string> genSearchKmers(const ft::QueryClass& queryObj);
47 
52  uint getKmerSize() const;
53  bool getRefOnly() const;
54  SearchType getSearchType() const;
55  uint getOverlap() const;
56  uint getStride() const;
57  uint getMaxKmers() const;
59 
60 private:
66  std::map<std::string, uint> _counter;
67 
68  uint _kmerSize;
69  bool _refOnly;
70  SearchType _searchType;
71  uint _overlap;
72  uint _stride;
73  uint _maxKmers;
74  bool _verbose;
76 
77 };
78 }
79 
80 #endif // kmerGenerator class
ft::KmerGenerator::~KmerGenerator
virtual ~KmerGenerator()
Destructor.
Definition: kmergenerator.cpp:133
ft::QueryClass
A class that contains information for one query ID, Type pair.
Definition: queryClass.h:16
ft::KmerGenerator::genSlidingSearchStrings
virtual std::set< std::string > genSlidingSearchStrings(const std::string &queryString)
Generate search strings (i.e. kmers) for a sliding search.
Definition: kmergenerator.cpp:36
ft::SearchType
std::string SearchType
SearchType declaration.
Definition: ftPropsClass.h:25
ft::KmerGenerator::KmerGenerator
KmerGenerator(const uint &_kmerSize, const bool &_refOnly, const SearchType &_searchType, const uint &_overlap=0, const uint &_stride=1, const uint &_maxKmers=1000000000, const bool &_verbose=false)
Constructor.
Definition: kmergenerator.cpp:10
ft
This namespace contains all the functions to interact with the search.
Definition: directSearch.h:16
ft::KmerGenerator::genSearchKmers
virtual std::set< std::string > genSearchKmers(const ft::QueryClass &queryObj)
Generate search strings (i.e. kmers)
Definition: kmergenerator.cpp:101
ft::KmerGenerator::genCenteredSearchStrings
virtual std::set< std::string > genCenteredSearchStrings(const std::string &queryString)
Generate search strings (i.e. kmers) for a centered search.
Definition: kmergenerator.cpp:65
ft::KmerGenerator
A class that creates the Kmers for a set of input queries.
Definition: kmergenerator.h:18