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
23 vector<string> getRequiredParameters();
\r
24 vector<string> getValidParameters();
\r
25 vector<string> getRequiredFiles();
\r
26 map<string, vector<string> > getOutputFiles() { return outputTypes; }
\r
32 unsigned long int start;
\r
33 unsigned long int end;
\r
34 linePair(unsigned long int i, unsigned long int j) : start(i), end(j) {}
\r
37 vector<linePair*> lines;
\r
38 vector<int> processIDS;
\r
40 string vertical, filter, fasta, hard, outputDir, filterFileName;
\r
41 vector<string> fastafileNames;
\r
42 int alignmentLength, processors;
\r
43 vector<int> bufferSizes;
\r
44 vector<string> outputNames;
\r
45 map<string, vector<string> > outputTypes;
\r
52 string createFilter();
\r
53 int filterSequences();
\r
54 int createProcessesCreateFilter(Filters&, string);
\r
55 int createProcessesRunFilter(string, string);
\r
56 int driverRunFilter(string, string, string, linePair*);
\r
57 int driverCreateFilter(Filters& F, string filename, linePair* line);
\r
59 int driverMPIRun(int, int, MPI_File&, MPI_File&, vector<unsigned long int>&);
\r
60 int MPICreateFilter(int, int, Filters&, MPI_File&, vector<unsigned long int>&);
\r