public:
ScreenSeqsCommand(string);
+ ScreenSeqsCommand();
~ScreenSeqsCommand();
+ vector<string> getRequiredParameters();
+ vector<string> getValidParameters();
+ vector<string> getRequiredFiles();
+ map<string, vector<string> > getOutputFiles() { return outputTypes; }
int execute();
void help();
struct linePair {
unsigned long int start;
- int numSeqs;
- linePair(unsigned long int i, int j) : start(i), numSeqs(j) {}
+ unsigned long int end;
+ linePair(unsigned long int i, unsigned long int j) : start(i), end(j) {}
};
+
vector<int> processIDS; //processid
vector<linePair*> lines;
int screenGroupFile(set<string>);
int screenAlignReport(set<string>);
- int driver(linePair*, string, string, string, string, set<string>&);
- int createProcesses(string, string, string, string, set<string>&);
+ int driver(linePair*, string, string, string, set<string>&);
+ int createProcesses(string, string, string, set<string>&);
#ifdef USE_MPI
- int driverMPI(int, int, MPI_File&, MPI_File&, MPI_File&, MPI_File&, vector<long>&, set<string>&);
+ int driverMPI(int, int, MPI_File&, MPI_File&, MPI_File&, vector<unsigned long int>&, set<string>&);
#endif
bool abort;
string fastafile, namefile, groupfile, alignreport, outputDir;
- int startPos, endPos, maxAmbig, maxHomoP, minLength, maxLength, processors;
+ int startPos, endPos, maxAmbig, maxHomoP, minLength, maxLength, processors, criteria;
vector<string> outputNames;
+ vector<string> optimize;
+ map<string, vector<string> > outputTypes;
+
+ int getSummary(vector<unsigned long int>&);
+ int createProcessesCreateSummary(vector<int>&, vector<int>&, vector<int>&, vector<int>&, vector<int>&, string);
+ int driverCreateSummary(vector<int>&, vector<int>&, vector<int>&, vector<int>&, vector<int>&, string, linePair*);
};
#endif