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();
+ ~ScreenSeqsCommand() {}
+
+ vector<string> setParameters();
+ string getCommandName() { return "screen.seqs"; }
+ string getCommandCategory() { return "Sequence Processing"; }
+ string getHelpString();
+ string getCitation() { return "http://www.mothur.org/wiki/Screen.seqs"; }
+ string getDescription() { return "enables you to keep sequences that fulfill certain user defined criteria"; }
+
+ int execute();
+ void help() { m->mothurOut(getHelpString()); }
+
private:
struct linePair {
- unsigned long int start;
- unsigned long int end;
- linePair(unsigned long int i, unsigned long int j) : start(i), end(j) {}
+ unsigned long long start;
+ unsigned long long end;
+ linePair(unsigned long long i, unsigned long long j) : start(i), end(j) {}
};
vector<int> processIDS; //processid
int screenNameGroupFile(set<string>);
int screenGroupFile(set<string>);
int screenAlignReport(set<string>);
+ int screenQual(set<string>);
+ int screenTaxonomy(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&, vector<unsigned long int>&, set<string>&);
+ int driverMPI(int, int, MPI_File&, MPI_File&, MPI_File&, vector<unsigned long long>&, set<string>&);
#endif
bool abort;
- string fastafile, namefile, groupfile, alignreport, outputDir;
+ string fastafile, namefile, groupfile, alignreport, outputDir, qualfile, taxonomy;
int startPos, endPos, maxAmbig, maxHomoP, minLength, maxLength, processors, criteria;
vector<string> outputNames;
vector<string> optimize;
- map<string, vector<string> > outputTypes;
+ map<string, int> nameMap;
+ int readNames();
- int getSummary(vector<unsigned long int>&);
+ int getSummary(vector<unsigned long long>&);
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*);
};