Mac binaries
[jabaws.git] / website / archive / binaries / mac / src / clustalw / src / tree / AlignmentSteps.h
diff --git a/website/archive/binaries/mac/src/clustalw/src/tree/AlignmentSteps.h b/website/archive/binaries/mac/src/clustalw/src/tree/AlignmentSteps.h
new file mode 100644 (file)
index 0000000..4dbd1a4
--- /dev/null
@@ -0,0 +1,51 @@
+/**
+ * Author: Mark Larkin
+ * 
+ * Copyright (c) 2007 Des Higgins, Julie Thompson and Toby Gibson.  
+ */
+/**
+ * The AlignmentSteps class is used to hold the progressive alignment steps that have
+ * been calculated from the guide tree.
+ *
+ * Note: I have pushed an empty vector onto steps, so that the steps will match up
+ * with the old sets array.
+ *
+ ***************************************************************************************/
+#ifndef ALIGNMENTSTEPS_H
+#define ALIGNMENTSTEPS_H
+
+#include <vector>
+#include <string>
+#include <iostream>
+
+using namespace std;
+
+namespace clustalw
+{
+
+class AlignmentSteps
+{
+    public:
+        /* Functions */
+        AlignmentSteps() : numSteps(0){steps.push_back(vector<int>());}; // Empty vector 
+        void saveSet(int n, int *groups);
+        void saveSet(vector<int>* groups);
+        int getNumSteps();
+        string getNextStep();
+        void printAlignSteps();
+        const vector<vector<int> >* getSteps(){return &steps;};
+        vector<int>* getStep(int i){return &steps[i];};
+        void clear();
+        /* Attributes */
+
+    private:
+        /* Functions */
+        
+        /* Attributes */
+        vector<vector<int> > steps;
+        int numSteps;
+};
+
+}
+#endif