1 #ifndef MGCLUSTERCOMMAND_H
2 #define MGCLUSTERCOMMAND_H
8 * Created by westcott on 12/11/09.
9 * Copyright 2009 Schloss Lab. All rights reserved.
13 #include "command.hpp"
14 #include "readblast.h"
15 #include "sparsematrix.hpp"
16 #include "nameassignment.hpp"
17 #include "globaldata.hpp"
18 #include "cluster.hpp"
21 /**********************************************************************/
23 class MGClusterCommand : public Command {
26 MGClusterCommand(string);
29 vector<string> getRequiredParameters();
30 vector<string> getValidParameters();
31 vector<string> getRequiredFiles();
32 map<string, vector<string> > getOutputFiles() { return outputTypes; }
37 GlobalData* globaldata;
39 NameAssignment* nameMap;
44 vector<seqDist> overlapMatrix;
45 vector<string> outputNames;
46 map<string, vector<string> > outputTypes;
48 string blastfile, method, namefile, overlapFile, distFile, outputDir;
49 ofstream sabundFile, rabundFile, listFile;
52 int precision, length, precisionLength;
53 bool abort, minWanted, hclusterWanted, merge, hard;
55 void printData(ListVector*);
56 ListVector* mergeOPFs(map<string, int>, float);
57 void sortHclusterFiles(string, string);
58 vector<seqDist> getSeqs(ifstream&);
62 /**********************************************************************/