]> git.donarmstrong.com Git - mothur.git/blob - consensusseqscommand.h
fd2f4f535dfa3ca7b4be2c99b2e323a2d4d0b49c
[mothur.git] / consensusseqscommand.h
1 #ifndef CONSENSUSSEQSCOMMAND_H
2 #define CONSENSUSSEQSCOMMAND_H
3
4 /*
5  *  consensusseqscommand.h
6  *  Mothur
7  *
8  *  Created by westcott on 11/23/10.
9  *  Copyright 2010 Schloss Lab. All rights reserved.
10  *
11  */
12
13
14 #include "command.hpp"
15 #include "listvector.hpp"
16
17 class ConsensusSeqsCommand : public Command {
18 public:
19         ConsensusSeqsCommand(string);
20         ConsensusSeqsCommand();
21         ~ConsensusSeqsCommand(){}
22         
23         vector<string> setParameters();
24         string getCommandName()                 { return "consensus.seqs";              }
25         string getCommandCategory()             { return "Sequence Processing"; }
26         string getHelpString(); 
27         string getCitation() { return "http://www.mothur.org/wiki/Consensus.seqs"; }
28         
29         int execute(); 
30         void help() { m->mothurOut(getHelpString()); }  
31         
32 private:
33         
34         bool abort, allLines;
35         string fastafile, listfile, namefile, label, outputDir;
36         set<string> labels;
37         vector<string> outputNames;
38         map<string, string> fastaMap;
39         map<string, string> nameMap;
40         map<string, string> nameFileMap;
41         int cutoff;
42         
43         int readFasta();
44         int readNames();
45         int processList(ListVector*&);
46         string getConsSeq(string, ofstream&, string&, int);
47         char getBase(vector<int>, int);
48 };
49
50 #endif
51
52
53
54