#include "command.hpp"
#include "filters.h"
+#include "mpi.h"
class Sequence;
class FilterSeqsCommand : public Command {
void help();
private:
+ struct linePair {
+ int start;
+ int num;
+ linePair(long int i, long int j) : start(i), num(j) {}
+ };
+ vector<linePair*> lines;
+ vector<int> processIDS;
+
string vertical, filter, fasta, hard, outputDir, filterFileName;
vector<string> fastafileNames;
- int alignmentLength;
+ int alignmentLength, processors;
+ vector<int> bufferSizes;
+ vector<string> outputNames;
char trump;
bool abort;
float soft;
int numSeqs;
- Filters F;
-
- vector<int> a, t, g, c, gap;
-
+ string createFilter();
+ int filterSequences();
+ int createProcessesCreateFilter(Filters&, string);
+ int createProcessesRunFilter(string, string);
+ int driverCreateFilter(Filters&, string, linePair*);
+ int driverRunFilter(string, string, string, linePair*);
+ int driverMPIRun(istringstream&, MPI_File&);
+ int MPICreateFilter(Filters&, string);
+ int setLines(string);
+ int parseBuffer(string, vector<string>&);
+
};
#endif