]> git.donarmstrong.com Git - mothur.git/blob - filterseqscommand.h
added command descriptions
[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         ~FilterSeqsCommand() {};\r
23         \r
24         vector<string> setParameters();\r
25         string getCommandName()                 { return "filter.seqs";                 }\r
26         string getCommandCategory()             { return "Sequence Processing"; }\r
27         string getHelpString(); \r
28         string getCitation() { return "http://www.mothur.org/wiki/Filter.seqs"; }\r
29         string getDescription()         { return "removes columns from alignments based on a criteria defined by the user"; }\r
30         \r
31         int execute(); \r
32         void help() { m->mothurOut(getHelpString()); }  \r
33         \r
34 private:\r
35         struct linePair {\r
36                 unsigned long int start;\r
37                 unsigned long int end;\r
38                 linePair(unsigned long int i, unsigned long int j) : start(i), end(j) {}\r
39         };\r
40 \r
41         vector<linePair*> lines;\r
42         vector<int> processIDS;\r
43 \r
44         string vertical, filter, fasta, hard, outputDir, filterFileName;\r
45         vector<string> fastafileNames;  \r
46         int alignmentLength, processors;\r
47         vector<int> bufferSizes;\r
48         vector<string> outputNames;\r
49 \r
50         char trump;\r
51         bool abort;\r
52         float soft;\r
53         int numSeqs;\r
54         \r
55         string createFilter();\r
56         int filterSequences();\r
57         int createProcessesCreateFilter(Filters&, string);\r
58         int createProcessesRunFilter(string, string);\r
59         int driverRunFilter(string, string, string, linePair*);\r
60         int driverCreateFilter(Filters& F, string filename, linePair* line);\r
61         #ifdef USE_MPI\r
62         int driverMPIRun(int, int, MPI_File&, MPI_File&, vector<unsigned long int>&);\r
63         int MPICreateFilter(int, int, Filters&, MPI_File&, vector<unsigned long int>&); \r
64         #endif\r
65         \r
66 };\r
67 \r
68 #endif\r