]> git.donarmstrong.com Git - mothur.git/blob - filterseqscommand.h
added citation function to commands
[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         \r
30         int execute(); \r
31         void help() { m->mothurOut(getHelpString()); }  \r
32         \r
33 private:\r
34         struct linePair {\r
35                 unsigned long int start;\r
36                 unsigned long int end;\r
37                 linePair(unsigned long int i, unsigned long int j) : start(i), end(j) {}\r
38         };\r
39 \r
40         vector<linePair*> lines;\r
41         vector<int> processIDS;\r
42 \r
43         string vertical, filter, fasta, hard, outputDir, filterFileName;\r
44         vector<string> fastafileNames;  \r
45         int alignmentLength, processors;\r
46         vector<int> bufferSizes;\r
47         vector<string> outputNames;\r
48 \r
49         char trump;\r
50         bool abort;\r
51         float soft;\r
52         int numSeqs;\r
53         \r
54         string createFilter();\r
55         int filterSequences();\r
56         int createProcessesCreateFilter(Filters&, string);\r
57         int createProcessesRunFilter(string, string);\r
58         int driverRunFilter(string, string, string, linePair*);\r
59         int driverCreateFilter(Filters& F, string filename, linePair* line);\r
60         #ifdef USE_MPI\r
61         int driverMPIRun(int, int, MPI_File&, MPI_File&, vector<unsigned long int>&);\r
62         int MPICreateFilter(int, int, Filters&, MPI_File&, vector<unsigned long int>&); \r
63         #endif\r
64         \r
65 };\r
66 \r
67 #endif\r