1 #ifndef PRECLUSTERCOMMAND_H
2 #define PRECLUSTERCOMMAND_H
9 * Created by westcott on 12/21/09.
10 * Copyright 2009 Schloss Lab. All rights reserved.
15 #include "command.hpp"
16 #include "sequence.hpp"
18 /************************************************************/
25 seqPNode(int n, Sequence s, string nm) : numIdentical(n), seq(s), names(nm), active(1) {}
28 /************************************************************/
30 class PreClusterCommand : public Command {
33 PreClusterCommand(string);
35 ~PreClusterCommand(){}
37 vector<string> setParameters();
38 string getCommandName() { return "pre.cluster"; }
39 string getCommandCategory() { return "Sequence Processing"; }
40 string getHelpString();
43 void help() { m->mothurOut(getHelpString()); }
48 string fastafile, namefile, outputDir;
49 vector<seqPNode> alignSeqs; //maps the number of identical seqs to a sequence
50 map<string, string> names; //represents the names file first column maps to second column
51 map<string, int> sizes; //this map a seq name to the number of identical seqs in the names file
52 map<string, int>::iterator itSize;
53 // map<string, bool> active; //maps sequence name to whether it has already been merged or not.
54 vector<string> outputNames;
55 map<string, vector<string> > outputTypes;
59 //int readNamesFASTA();
60 int calcMisMatches(string, string);
61 void printData(string, string); //fasta filename, names file name
64 /************************************************************/