1 #ifndef CLUSTERFRAGMENTSCOMMAND_H
2 #define CLUSTERFRAGMENTSCOMMAND_H
5 * clusterfragmentscommand.h
8 * Created by westcott on 9/23/10.
9 * Copyright 2010 Schloss Lab. All rights reserved.
14 #include "command.hpp"
15 #include "sequence.hpp"
17 /************************************************************/
25 seqRNode(int n, Sequence s, string nm, int l) : numIdentical(n), seq(s), names(nm), active(1), length(l) {}
28 /************************************************************/
30 class ClusterFragmentsCommand : public Command {
33 ClusterFragmentsCommand(string);
34 ClusterFragmentsCommand();
35 ~ClusterFragmentsCommand();
36 vector<string> getRequiredParameters();
37 vector<string> getValidParameters();
38 vector<string> getRequiredFiles();
39 map<string, vector<string> > getOutputFiles() { return outputTypes; }
45 string fastafile, namefile, outputDir;
46 vector<seqRNode> alignSeqs;
47 map<string, string> names; //represents the names file first column maps to second column
48 map<string, int> sizes; //this map a seq name to the number of identical seqs in the names file
49 map<string, int>::iterator itSize;
50 vector<string> outputNames;
51 map<string, vector<string> > outputTypes;
55 void printData(string, string); //fasta filename, names file name
59 /************************************************************/