dba2de624f665a3a45b809165788ecb0744a1ff2
[mussa.git] / mussa_nway.hh
1 //                        ----------------------------------------
2 //                         ----------  mussa_nway.hh  -----------
3 //                        ----------------------------------------
4
5 #include "flp.hh"
6
7
8 class Nway_Paths
9 {
10   friend class ConnView;
11   friend class SeqView;
12   private:
13     int species_num;
14     int threshold;
15     int win_size;
16     int soft_thres;
17
18     double ent_thres;
19     vector<char *> c_sequences;
20
21     list<vector<int> > pathz;
22     list<vector<int> > refined_pathz;
23
24
25
26   public:
27     Nway_Paths();
28     void setup(int sp_num, int w, int t);
29     void setup_ent(double new_entropy_thres, vector<string> some_Seqs);
30     void set_soft_thres(int soft_thres);
31
32     void radiate_path_search(vector<vector<FLPs> > all_comparisons);
33     void trans_path_search(vector<vector<FLPs> > all_comparisons);
34     void entropy_path_search(vector<vector<FLPs> > all_comparisons);
35     double path_entropy(vector<int> path);
36
37   // old recursive transitive nway ... has issues checking all links?
38     void find_paths_r(vector<vector<FLPs> > all_comparisons);
39     void path_search(vector<vector<FLPs> > all_comparisons, vector<int> path, int depth);
40
41     void simple_refine();
42     void save(string save_file_path);
43     string load(string load_file_path);
44     void add_path(vector<int> loaded_path);
45     int seq_num();
46
47     void find_paths(vector<vector<FLPs> > all_comparisons);
48     void refine();
49
50     void save_old(string save_file_path);
51     void print();
52 };