]> git.donarmstrong.com Git - mothur.git/blob - libshuff.h
created mothurOut class to handle logfiles
[mothur.git] / libshuff.h
1 #ifndef LIBSHUFF
2 #define LIBSHUFF
3
4 /*
5  *  libshuff.h
6  *  Mothur
7  *
8  *  Created by Pat Schloss on 4/8/09.
9  *  Copyright 2009 Patrick D. Schloss. All rights reserved.
10  *
11  */
12
13 #include "fullmatrix.h"
14
15 class Libshuff {
16         
17 public:
18         Libshuff(FullMatrix*, int, float, float);
19         virtual vector<vector<double> > evaluateAll() = 0;
20         virtual float evaluatePair(int,int) = 0;
21         void randomizeGroups(int, int);
22         void resetGroup(int);
23         vector<vector<vector<double> > > getSavedMins();
24
25 protected:
26         void initializeGroups(FullMatrix*);
27         vector<double> getMinX(int);
28         vector<double> getMinXY(int, int);
29         
30         vector<vector<vector<double> > > savedMins;
31         
32         
33         FullMatrix* matrix;
34         vector<int> groupSizes;
35         vector<string> groupNames;
36         vector<vector<int> > groups;
37         vector<vector<int> > savedGroups;
38         vector<double> minX;
39         vector<double> minXY;
40         float cutOff;
41         int iters;
42         float stepSize;
43         
44         int numGroups;
45         MothurOut* m;
46 };
47
48 #endif