]> git.donarmstrong.com Git - mothur.git/blob - secondarystructurecommand.h
c1cc057cd190cd4570b57d9bcc9f622a8f6bf0f4
[mothur.git] / secondarystructurecommand.h
1 #ifndef SECONDARYSTRUCTURECHECKERCOMMAND_H
2 #define SECONDARYSTRUCTURECHECKERCOMMAND_H
3
4 /*
5  *  secondarystructurecommand.h
6  *  Mothur
7  *
8  *  Created by westcott on 9/18/09.
9  *  Copyright 2009 Schloss Lab. All rights reserved.
10  *
11  */
12  
13 #include "command.hpp"
14
15 /**************************************************************************************************/
16
17 struct statData {
18         int pound;
19         int tilde;
20         int dash;
21         int plus;
22         int equal;
23         int loop;
24         int total;
25         statData() : pound(0), loop(0), tilde(0), dash(0), plus(0), equal(0), total(0) {};      
26 };
27
28 /**************************************************************************************************/
29
30
31 class AlignCheckCommand : public Command {
32         
33         public:
34         
35                 AlignCheckCommand(string);      
36                 AlignCheckCommand();
37                 ~AlignCheckCommand(){}
38                 vector<string> getRequiredParameters();
39                 vector<string> getValidParameters();
40                 vector<string> getRequiredFiles();
41                 map<string, vector<string> > getOutputFiles() { return outputTypes; }
42                 int execute();
43                 void help();    
44                 
45         private:
46                 vector<int> structMap;
47                 string mapfile, fastafile, outputDir;
48                 bool abort;
49                 int seqLength, haderror;
50                 vector<string> outputNames;
51                 map<string, vector<string> > outputTypes;
52                 
53                 void readMap();
54                 statData getStats(string sequence);
55 };
56
57 /**************************************************************************************************/
58 #endif
59