ad541ec96d7421186ffde640397f0f918784d389
[mussa.git] / seqcomp.cc
1 #include "flp.hh"
2 #include <time.h>
3 #include <iomanip>
4
5 int main(int argc, char **argv) 
6 {
7   Sequence seqA, seqB;
8   FLPs analysis;
9   string seqA_file, seqB_file, output_file;
10   string ana_type;
11   int window, threshold;
12   int seqA_len, seqB_len;
13
14   time_t t1, t2, begin, end;
15   double setuptime, comp1time, comp2time, sorttime, savetime, totaltime;
16
17   begin = time(NULL);
18
19   cout << "fee fie foe fum" << endl;
20
21   ana_type = * ++argv;
22   seqA_file = * ++argv;
23   seqB_file = * ++argv;
24   window = atoi(* ++argv);
25   threshold = atoi(* ++argv);
26   output_file = * ++argv;
27
28   t1 = time(NULL);
29  
30   seqA.load_fasta(seqA_file, 1, 0, 0);
31   seqA_len = seqA.len();
32   //cout << setw(60) << seqA.hdr() << "\n";
33
34   seqB.load_fasta(seqB_file, 1, 0, 0);
35   seqB_len = seqB.len();
36   //cout << seqB.hdr() << "\n";
37
38
39   cout << "Length: Seq A = " << seqA_len;
40   cout << "; Seq B = " << seqB_len << "\n";
41
42   analysis.setup(ana_type, window, threshold, seqA_len, seqB_len);
43
44   t2 = time(NULL);
45   setuptime = difftime(t2, t1);
46
47   t1 = time(NULL);
48   analysis.seqcomp(seqA.seq(), seqB.seq(), false);
49   t2 = time(NULL);
50   comp1time = difftime(t2, t1);
51
52   t1 = time(NULL);
53   analysis.seqcomp(seqA.seq(), seqB.rev_comp(), true);
54   t2 = time(NULL);
55   comp2time = difftime(t2, t1);
56   /*
57   t1 = time(NULL);
58   analysis.sort();
59   t2 = time(NULL);
60   sorttime = difftime(t2, t1);
61   */
62   t1 = time(NULL);
63   analysis.file_save(output_file);
64   t2 = time(NULL);
65   savetime = difftime(t2, t1);
66
67   end = time(NULL);
68   totaltime = difftime(end, begin);
69
70   cout << "setup\tcomp\trc_comp\tsave\ttotal\n";
71   cout << setuptime << "\t"; 
72   cout << comp1time << "\t";
73   cout << comp2time << "\t";
74   //cout << sorttime << "\t";
75   cout << savetime << "\t";
76   cout << totaltime << "\n";
77 }
78
79 /*
80       cout << "fee\n";
81       cout << "fie\n";
82       cout << "foe  ";
83       cout << "fum\n";
84 */