1 #ifndef FILTERSEQSCOMMAND_H
2 #define FILTERSEQSCOMMAND_H
8 * Created by Thomas Ryabin on 5/4/09.
9 * Copyright 2009 Schloss Lab UMASS Amherst. All rights reserved.
13 #include "command.hpp"
18 class FilterSeqsCommand : public Command {
21 FilterSeqsCommand(string);
22 ~FilterSeqsCommand() {};
30 linePair(long int i, long int j) : start(i), num(j) {}
32 vector<linePair*> lines;
33 vector<int> processIDS;
35 string vertical, filter, fasta, hard, outputDir, filterFileName;
36 vector<string> fastafileNames;
37 int alignmentLength, processors;
38 vector<int> bufferSizes;
39 vector<string> outputNames;
46 string createFilter();
47 int filterSequences();
48 int createProcessesCreateFilter(Filters&, string);
49 int createProcessesRunFilter(string, string);
50 int driverCreateFilter(Filters&, string, linePair*);
51 int driverRunFilter(string, string, string, linePair*);
52 int driverMPIRun(istringstream&, MPI_File&);
53 int MPICreateFilter(Filters&, string);
55 int parseBuffer(string, vector<string>&);