]> git.donarmstrong.com Git - mothur.git/blobdiff - seqerrorcommand.h
paralellized seq.error and dist.shared added some error checks to libshuff and dist...
[mothur.git] / seqerrorcommand.h
index e8ca96a6328ee56cf56ff1e9a1869107b359896f..cb715ce05bc1edad8f2790cd78b67a356eafd7c3 100644 (file)
@@ -43,33 +43,64 @@ class SeqErrorCommand : public Command {
 public:
        SeqErrorCommand(string);
        SeqErrorCommand();
-       ~SeqErrorCommand();
-       vector<string> getRequiredParameters();
-       vector<string> getValidParameters();
-       vector<string> getRequiredFiles();
-       map<string, vector<string> > getOutputFiles() { return outputTypes; }
-       int execute();
-       void help();
+       ~SeqErrorCommand() {}
+       
+       vector<string> setParameters();
+       string getCommandName()                 { return "seq.error";                           }
+       string getCommandCategory()             { return "Sequence Processing";         }
+       string getHelpString(); 
+       string getCitation() { return "http://www.mothur.org/wiki/Seq.error"; }
+       
+       int execute(); 
+       void help() { m->mothurOut(getHelpString()); }  
        
 private:
        bool abort;
+       
+       struct linePair {
+               unsigned long int start;
+               unsigned long int end;
+               linePair(unsigned long int i, unsigned long int j) : start(i), end(j) {}
+       };
+       
+       vector<int> processIDS;   //processid
+       vector<linePair> lines;
+       vector<linePair> qLines;
+       vector<linePair> rLines;
 
        void getReferences();
        map<string,int> getWeights();
        Compare getErrors(Sequence, Sequence);
-       void printErrorHeader();
-       void printErrorData(Compare);
+       void printErrorHeader(ofstream&);
+       void printErrorData(Compare, int, ofstream&, ofstream&);
+       void printSubMatrix();
+       void printErrorFRFile(map<char, vector<int> >, map<char, vector<int> >);
+       void printErrorQuality(map<char, vector<int> >);
+       void printQualityFR(vector<vector<int> >, vector<vector<int> >);
        
-       string queryFileName, referenceFileName, qualFileName, reportFileName, namesFileName, errorSummaryFileName, errorSeqFileName, outputDir;
+       int setLines(string, string, string, vector<unsigned long int>&, vector<unsigned long int>&, vector<unsigned long int>&);
+       int driver(string, string, string, string, string, string, linePair, linePair, linePair);
+       int createProcesses(string, string, string, string, string, string);
+
+       string queryFileName, referenceFileName, qualFileName, reportFileName, namesFileName, outputDir;
        double threshold;
-       int numRefs;
-       ofstream errorSummaryFile, errorSeqFile;
+       bool ignoreChimeras, filter;
+       int numRefs, processors;
+       int maxLength, totalBases, totalMatches;
+       //ofstream errorSummaryFile, errorSeqFile;
        vector<string> outputNames;
-       map<string, vector<string> > outputTypes;
        
        vector<Sequence> referenceSeqs;
        vector<vector<int> > substitutionMatrix;
-       int a,t,g,c,gap,n;
+       vector<vector<int> > qualForwardMap;
+       vector<vector<int> > qualReverseMap;
+       vector<int> misMatchCounts;
+       map<char, vector<int> > qScoreErrorMap;
+       map<char, vector<int> > errorForward;
+       map<char, vector<int> > errorReverse;
+       map<string, int> weights;
+       vector<string> megaAlignVector;
+
 };
 
 #endif