1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 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
|