-
Notifications
You must be signed in to change notification settings - Fork 3
/
cmd_query.h
53 lines (46 loc) · 1.42 KB
/
cmd_query.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#ifndef cmd_query_H
#define cmd_query_H
#include <string>
#include <cstdlib>
#include <cstdint>
#include <iostream>
#include "query.h"
#include "commands.h"
class QueryCommand: public Command
{
public:
static constexpr double defaultQueryThreshold = 0.7; // 70%
public:
QueryCommand(const std::string& name): Command(name) {}
virtual ~QueryCommand();
virtual void short_description (std::ostream& s);
virtual void usage (std::ostream& s, const std::string& message="");
virtual void debug_help (std::ostream& s);
virtual void parse (int _argc, char** _argv);
virtual int execute (void);
virtual void read_queries (void);
virtual void sort_matches_by_kmer_counts (void);
virtual void print_matches(std::ostream& out) const;
virtual void print_matches_with_kmer_counts(std::ostream& out) const;
virtual void print_kmer_hit_counts(std::ostream& out) const;
std::string treeFilename;
std::vector<std::string> queryFilenames;
std::vector<double> queryThresholds;
std::string matchesFilename;
double generalQueryThreshold;
bool adjustKmerCounts;
bool sortByKmerCounts;
bool onlyLeaves;
bool distinctKmers;
bool useFileManager;
bool checkConsistency; // only meaningful if useFileManager is false
bool justReportKmerCounts;
bool countAllKmerHits;
bool reportNodesExamined;
bool collectNodeStats;
bool reportTime;
bool backwardCompatibleStyle;
bool completeKmerCounts;
std::vector<Query*> queries;
};
#endif // cmd_query_H