There can be only one (filename convention)
[mussa.git] / seqcomp.cpp
diff --git a/seqcomp.cpp b/seqcomp.cpp
new file mode 100644 (file)
index 0000000..ea0f3e6
--- /dev/null
@@ -0,0 +1,97 @@
+//  This file is part of the Mussa source distribution.
+//  http://mussa.caltech.edu/
+//  Contact author: Tristan  De Buysscher, tristan@caltech.edu
+
+// This program and all associated source code files are Copyright (C) 2005
+// the California Institute of Technology, Pasadena, CA, 91125 USA.  It is
+// under the GNU Public License; please see the included LICENSE.txt
+// file for more information, or contact Tristan directly.
+
+
+#include "flp.hh"
+#include "sequence.hh"
+#include <time.h>
+#include <iomanip>
+
+using namespace std;
+
+int main(int argc, char **argv) 
+{
+  Sequence seqA, seqB;
+  FLPs analysis;
+  string seqA_file, seqB_file, output_file;
+  string ana_type;
+  int window, threshold;
+  int seqA_len, seqB_len;
+
+  time_t t1, t2, begin, end;
+  double setuptime, comp1time, comp2time, sorttime, savetime, totaltime;
+
+  begin = time(NULL);
+
+  cout << "fee fie foe fum" << endl;
+
+  ana_type = * ++argv;
+  seqA_file = * ++argv;
+  seqB_file = * ++argv;
+  window = atoi(* ++argv);
+  threshold = atoi(* ++argv);
+  output_file = * ++argv;
+
+  t1 = time(NULL);
+  seqA.load_fasta(seqA_file, 1, 0, 0);
+  seqA_len = seqA.len();
+  //cout << setw(60) << seqA.hdr() << "\n";
+
+  seqB.load_fasta(seqB_file, 1, 0, 0);
+  seqB_len = seqB.len();
+  //cout << seqB.hdr() << "\n";
+
+
+  cout << "Length: Seq A = " << seqA_len;
+  cout << "; Seq B = " << seqB_len << "\n";
+
+  analysis.setup(ana_type, window, threshold, seqA_len, seqB_len);
+
+  t2 = time(NULL);
+  setuptime = difftime(t2, t1);
+
+  t1 = time(NULL);
+  analysis.seqcomp(seqA.seq(), seqB.seq(), false);
+  t2 = time(NULL);
+  comp1time = difftime(t2, t1);
+
+  t1 = time(NULL);
+  analysis.seqcomp(seqA.seq(), seqB.rev_comp(), true);
+  t2 = time(NULL);
+  comp2time = difftime(t2, t1);
+  /*
+  t1 = time(NULL);
+  analysis.sort();
+  t2 = time(NULL);
+  sorttime = difftime(t2, t1);
+  */
+  t1 = time(NULL);
+  analysis.save(output_file);
+  t2 = time(NULL);
+  savetime = difftime(t2, t1);
+
+  end = time(NULL);
+  totaltime = difftime(end, begin);
+
+  cout << "setup\tcomp\trc_comp\tsave\ttotal\n";
+  cout << setuptime << "\t"; 
+  cout << comp1time << "\t";
+  cout << comp2time << "\t";
+  //cout << sorttime << "\t";
+  cout << savetime << "\t";
+  cout << totaltime << "\n";
+}
+
+/*
+      cout << "fee\n";
+      cout << "fie\n";
+      cout << "foe  ";
+      cout << "fum\n";
+*/