10 #include <experimental/filesystem>
17 namespace fs = std::experimental::filesystem;
21 std::map<fs::path, uint> indexFiles;
23 std::string indexSetName;
24 std::string kmerSetName;
25 std::string outputFileName;
28 uint maxOccurences = 100000;
30 uint readLength = 100;
31 bool pairedReads =
false;
32 bool indexRevComp =
false;
33 bool countAsPairs =
false;
34 bool revCompSearch =
false;
53 void init(
const KSCmdLineArg& KSProps);
55 void loadKmers(
const fs::path& kmerFile);
56 void addResultsFutures(std::map<std::string, ft::KmerClass> & indexResults,
ft::KmerClass &tmpResult, uint offset);
57 void parallelSearch(
const fs::path &indexPath,
long long offset);
58 void processIndexResults(
const std::map<std::string, ft::KmerClass>& indexResult);
59 void processResults();
66 bool checkForKmer(
const std::string& testKmer)
const;
69 void addKmer(
const std::string &kmer);
72 int calculateKmerCount(
const KmerClass& kmer);
93 std::map<fs::path, uint> _indexSet;
94 std::unordered_map<std::string, ft::KmerClass> _kmerSet;
95 std::vector<std::map<std::string, ft::KmerClass>> _searchResults;
97 void createKmer(
const std::string& kmer);
105 #endif // DIRECTSEARCH_H