1 #ifndef FILTERSEQSCOMMAND_H
\r
2 #define FILTERSEQSCOMMAND_H
\r
5 * filterseqscommand.h
\r
8 * Created by Thomas Ryabin on 5/4/09.
\r
9 * Copyright 2009 Schloss Lab UMASS Amherst. All rights reserved.
\r
13 #include "command.hpp"
\r
14 #include "filters.h"
\r
17 class FilterSeqsCommand : public Command {
\r
20 FilterSeqsCommand(string);
\r
21 FilterSeqsCommand();
\r
22 ~FilterSeqsCommand() {};
\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
32 void help() { m->mothurOut(getHelpString()); }
\r
36 unsigned long long start;
\r
37 unsigned long long end;
\r
38 linePair(unsigned long long i, unsigned long long j) : start(i), end(j) {}
\r
41 vector<linePair*> lines;
\r
42 vector<int> processIDS;
\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
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
62 int driverMPIRun(int, int, MPI_File&, MPI_File&, vector<unsigned long long>&);
\r
63 int MPICreateFilter(int, int, Filters&, MPI_File&, vector<unsigned long long>&);
\r