From 0ced9c229cf05fa677686df27eca9f167f11a87f Mon Sep 17 00:00:00 2001 From: Michael Andreen Date: Wed, 5 Dec 2007 03:26:53 +0100 Subject: [PATCH] add an option to print the permutation --- src/main.cpp | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index fe58138..16e7de7 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -21,10 +21,11 @@ int main(int argc, char** argv){ Model model(0); bool detectModel = true; bool onlyIdentify = false; + bool printPerm = false; //Parse command line arguments int opt; - while ((opt = getopt(argc, argv, "im:n:h")) != -1) { + while ((opt = getopt(argc, argv, "im:n:hp")) != -1) { switch (opt) { case 'm': model = Model::modelFactory(optarg); @@ -36,6 +37,9 @@ int main(int argc, char** argv){ case 'i': onlyIdentify = true; break; + case 'p': + printPerm = true; + break; case 'h': cout << "Usage: " << argv[0] << " [OPTION] [FILE]" << endl << endl << " -m Specifies which model to use for sorting: Whirl, X, Zipper, FatX or Cloud " @@ -97,9 +101,17 @@ int main(int argc, char** argv){ //Print the result double score = 0; + + GeneOrder temp(go); for (GeneSorter::ActionList::iterator sa = al.begin(); sa != al.end(); ++sa){ - cout << "Action: " << sa->toString() << " model score: " << model.score(*sa,go) << endl; - score += model.score(*sa,go); + cout << "Action: " << sa->toString() << " model score: " << model.score(*sa,temp) << endl; + (*sa)(temp); + score += model.score(*sa,temp); + + if (printPerm){ + copy(temp.begin(), temp.end(), ostream_iterator(cout, " ")); + cout << endl; + } } cout << "Avg score: " << score / al.size() << endl; -- 2.39.2