1 #ifndef ANOSIMCOMMAND_H
2 #define ANOSIMCOMMAND_H
8 * Created by westcott on 2/14/11.
9 * Copyright 2011 Schloss Lab. All rights reserved.
14 #include "command.hpp"
15 #include "inputdata.h"
16 #include "sharedrabundvector.h"
17 #include "validcalculator.h"
18 #include "readphylipvector.h"
22 class AnosimCommand : public Command {
25 AnosimCommand(string);
28 vector<string> getRequiredParameters();
29 vector<string> getValidParameters();
30 vector<string> getRequiredFiles();
31 map<string, vector<string> > getOutputFiles() { return outputTypes; }
39 linePair(int i, int j) : start(i), num(j) {}
41 vector<linePair> lines;
43 GlobalData* globaldata;
45 map<string, vector<string> > outputTypes;
47 vector< vector<double> > matrix;
48 bool abort, allLines, pickedGroups;
49 set<string> labels; //holds labels to be used
50 string format, groups, label, outputDir, inputDir, designfile, sets, phylipfile, calc, sharedfile;
51 vector<string> Groups, outputNames, Sets;
52 vector< vector<string> > namesOfGroupCombos;
53 int iters, processors;
54 vector<Calculator*> calculators;
56 int driver(int, int, vector<SharedRAbundVector*>, string);
57 int driver(int, int, vector<string>, string, vector< vector<double> >&);
58 int process(vector<SharedRAbundVector*>);
59 int calcAnosim(ofstream&, int, vector<string>);
60 double calcWithinBetween(vector<seqDist>&, vector<string>, double&);
61 vector<seqDist> convertToRanks();