*/
#include "command.hpp"
-#include "globaldata.hpp"
-#include "sequence.hpp"
+#include "filters.h"
+#include "mpi.h"
+class Sequence;
class FilterSeqsCommand : public Command {
public:
void help();
private:
- void doHard();
- void doTrump(Sequence);
- void doVertical();
- void doSoft();
- void getFreqs(Sequence);
- string vertical, filter, fastafile, hard;
- int alignmentLength;
+ struct linePair {
+ int start;
+ int numSeqs;
+ linePair(long int i, int j) : start(i), numSeqs(j) {}
+ };
+ vector<linePair*> lines;
+
+
+ string vertical, filter, fasta, hard, outputDir, filterFileName;
+ vector<string> fastafileNames;
+ int alignmentLength, processors;
char trump;
bool abort;
float soft;
int numSeqs;
- OptionParser* parser;
- map<string, string> parameters;
- map<string, string>::iterator it;
- GlobalData* globaldata;
- vector<int> a, t, g, c, gap;
-
+ string createFilter();
+ int createProcessesCreateFilter(Filters&, string);
+ int driverCreateFilter(Filters&, string, linePair*);
};
#endif