-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathtopology_search.h
24 lines (18 loc) · 1.16 KB
/
topology_search.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#ifndef TOPOLOGY_SEARCH_H
#define TOPOLOGY_SEARCH_H
#include <string>
#include <unordered_map>
#include <unordered_set>
#include "argument_parser.h"
namespace topology_search{
bool check_args(ArgumentParser& user_args);
bool index_link_file(ArgumentParser& user_args, std::unordered_map<int, std::streampos>& index_table);
int utg_to_int(std::string& utg_id);
bool get_split_alignments(ArgumentParser& user_args, std::unordered_set<std::string>& candidates);
bool run_topology_search(ArgumentParser& user_args, std::unordered_map<int, std::streampos>& index_table, std::unordered_set<std::string>& candidates, std::unordered_set<std::string>& result);
bool get_neighbors(std::string& target_utg, std::ifstream& link_file, std::unordered_set<std::string>& neighbor_list, int bin_size, std::unordered_map<int, std::streampos>& index_table);
bool write_final_paf(ArgumentParser& args, std::unordered_set<std::string>& sv_set);
bool direct_neighbors_check(std::unordered_set<std::string>& to_check, std::ifstream& link_file, int bin_size, std::unordered_map<int, std::streampos>& index_table);
std::unordered_set<std::string> load_tumor_unitigs(std::string& utg_path);
}
#endif