1 #include "mussa_gui_conn.hh"
6 ConnView::setup(string name, int sq_num, int win_len,
7 vector<Sequence> *some_seqs,
8 Nway_Paths *some_paths)
19 for(i = 0; i < seq_num; ++i)
22 seq_lens.push_back(a_seq.len());
25 x_scale_factor = (float) seq_lens[0] / x_max;
26 cout << "scale factor is " << x_scale_factor << endl;
27 y_seq_incre = (y_max-20) / (seq_num - 1);
32 ConnView::scale_paths()
35 list<vector<int> >::iterator pathz_i;
41 for(pathz_i = P->pathz.begin(); pathz_i != P->pathz.end(); ++pathz_i)
44 for(i2 = 0; i2 < seq_num; i2++)
45 a_path[i2] = (int) (a_path[i2] / x_scale_factor);
46 scaled_pathz.push_back(a_path);
56 list<vector<int> >::iterator i;
61 fl_line_style(FL_SOLID, 1, NULL);
63 for(i = scaled_pathz.begin(); i != scaled_pathz.end(); ++i)
67 for(i2 = seq_num - 1; i2 > 0; i2--)
70 // ugh, and xor...only want blue if one of the nodes is rc
71 if ( ((a_path[i2] < 0) || (a_path[i2-1] < 0)) &&
72 !((a_path[i2] < 0) && (a_path[i2-1] < 0)) )
75 fl_line((int)abs(a_path[i2]),y_loc,(int)abs(a_path[i2-1]),y_loc + y_seq_incre);
82 fl_line_style(FL_SOLID, 3, NULL);
84 for(i2 = seq_num - 1; i2 >= 0; i2--)
86 x_loc = (int)(seq_lens[i2] / x_scale_factor);
87 fl_line(0,y_loc,x_loc,y_loc);
97 Fl_Window *seq_window = new Fl_Window(x_max, y_max, "Mussa Sequence");
98 Fl_Scroll *scroll_seq = new Fl_Scroll(0, 0, x_max, y_max);
102 SeqView *seq_box = new SeqView(0, 0, seq_box_x, y_max-20);
103 seq_box->setup(ana_name, seq_num, window, S, P, seq_lens);