]> git.donarmstrong.com Git - mothur.git/blob - filterseqscommand.h
some changes while testing 1.9
[mothur.git] / filterseqscommand.h
1 #ifndef FILTERSEQSCOMMAND_H\r
2 #define FILTERSEQSCOMMAND_H\r
3 \r
4 /*\r
5  *  filterseqscommand.h\r
6  *  Mothur\r
7  *\r
8  *  Created by Thomas Ryabin on 5/4/09.\r
9  *  Copyright 2009 Schloss Lab UMASS Amherst. All rights reserved.\r
10  *\r
11  */\r
12 \r
13 #include "command.hpp"\r
14 #include "filters.h"\r
15 \r
16 class Sequence;\r
17 class FilterSeqsCommand : public Command {\r
18 \r
19 public:\r
20         FilterSeqsCommand(string);\r
21         ~FilterSeqsCommand() {};\r
22         int execute();  \r
23         void help();\r
24         \r
25 private:\r
26         struct linePair {\r
27                 int start;\r
28                 int num;\r
29                 linePair(long int i, long int j) : start(i), num(j) {}\r
30         };\r
31         vector<linePair*> lines;\r
32         vector<int> processIDS;\r
33 \r
34         string vertical, filter, fasta, hard, outputDir, filterFileName;\r
35         vector<string> fastafileNames;  \r
36         int alignmentLength, processors;\r
37         vector<int> bufferSizes;\r
38         vector<string> outputNames;\r
39 \r
40         char trump;\r
41         bool abort;\r
42         float soft;\r
43         int numSeqs;\r
44         \r
45         string createFilter();\r
46         int filterSequences();\r
47         int createProcessesCreateFilter(Filters&, string);\r
48         int createProcessesRunFilter(string, string);\r
49         int driverRunFilter(string, string, string, linePair*);\r
50         int driverCreateFilter(Filters& F, string filename, linePair* line);\r
51         #ifdef USE_MPI\r
52         int driverMPIRun(int, int, MPI_File&, MPI_File&, vector<long>&);\r
53         int MPICreateFilter(int, int, Filters&, MPI_File&, vector<long>&);      \r
54         #endif\r
55         int setLines(string);\r
56         \r
57         \r
58 };\r
59 \r
60 #endif\r