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 52 53 54 55 56 57 58 59 60
|
#ifndef CLUSTERCLASSIC_H
#define CLUSTERCLASSIC_H
#include "mothurout.h"
#include "listvector.hpp"
#include "rabundvector.hpp"
#include "nameassignment.hpp"
#include "counttable.h"
/*
* clusterclassic.h
* Mothur
*
* Created by westcott on 10/29/10.
* Copyright 2010 Schloss Lab. All rights reserved.
*
*/
class ClusterClassic {
public:
ClusterClassic(float, string, bool);
void readPhylipFile(string, NameAssignment*);
void readPhylipFile(string, CountTable*);
void update(double&);
double getSmallDist() { return smallDist; }
int getNSeqs() { return nseqs; }
ListVector* getListVector() { return list; }
RAbundVector* getRAbundVector() { return rabund; }
string getTag() { return tag; }
void setMapWanted(bool m);
map<string, int> getSeqtoBin() { return seq2Bin; }
private:
double getSmallCell();
void clusterBins();
void clusterNames();
void updateMap();
void print();
RAbundVector* rabund;
ListVector* list;
vector< vector<float> > dMatrix;
int smallRow;
int smallCol, nseqs;
double smallDist;
bool mapWanted, sim;
double cutoff, aboveCutoff;
map<string, int> seq2Bin;
string method, tag;
MothurOut* m;
};
#endif
|