]> git.donarmstrong.com Git - mothur.git/blobdiff - seqerrorcommand.h
added sequence name to error string in fastq.info. Changed np_shannon to npshannon.
[mothur.git] / seqerrorcommand.h
index a47f182e1157fc8c76e247451a520b7b696f530f..cc904ec7f246aed91970b41cf52e39b7d32b896b 100644 (file)
@@ -13,6 +13,7 @@
 #include "mothur.h"
 #include "command.hpp"
 #include "sequence.hpp"
+#include "referencedb.h"
 
 struct Compare {
        int AA, AT, AG, AC,     TA, TT, TG, TC, GA, GT, GG, GC, CA, CT, CG, CC, NA, NT, NG, NC, Ai, Ti, Gi, Ci, Ni, dA, dT, dG, dC;
@@ -50,33 +51,60 @@ public:
        string getCommandCategory()             { return "Sequence Processing";         }
        string getHelpString(); 
        string getCitation() { return "http://www.mothur.org/wiki/Seq.error"; }
+       string getDescription()         { return "seq.error"; }
+
        
        int execute(); 
        void help() { m->mothurOut(getHelpString()); }  
        
 private:
        bool abort;
+       ReferenceDB* rdb;
+       
+       struct linePair {
+               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
+       vector<linePair> lines;
+       vector<linePair> qLines;
+       vector<linePair> rLines;
 
        void getReferences();
        map<string,int> getWeights();
        Compare getErrors(Sequence, Sequence);
-       void printErrorHeader();
-       void printErrorData(Compare, int);
+       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> >);
+       
+       int setLines(string, string, string, vector<unsigned long long>&, vector<unsigned long long>&, vector<unsigned long long>&);
+       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;
-       bool ignoreChimeras;
-       int numRefs;
-       int maxLength;
-       ofstream errorSummaryFile, errorSeqFile;
+       bool ignoreChimeras, save;
+       int numRefs, processors;
+       int maxLength, totalBases, totalMatches;
+       //ofstream errorSummaryFile, errorSeqFile;
        vector<string> outputNames;
        
        vector<Sequence> referenceSeqs;
        vector<vector<int> > substitutionMatrix;
+       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