]> git.donarmstrong.com Git - mothur.git/blobdiff - screenseqscommand.h
working on windows paralellization, added trimOligos class to be used by trim.flows...
[mothur.git] / screenseqscommand.h
index 81b915efcbf97e4b91bfca3bf27353da8f9ea8e9..87c8beef870b82a95f79bfddcdacba8ab2a1d47e 100644 (file)
@@ -17,20 +17,25 @@ class ScreenSeqsCommand : public Command {
 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
@@ -39,22 +44,24 @@ private:
        int screenNameGroupFile(set<string>);
        int screenGroupFile(set<string>);
        int screenAlignReport(set<string>);
+       int screenQual(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;
        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*);       
 };