X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=seqerrorcommand.h;h=cc904ec7f246aed91970b41cf52e39b7d32b896b;hb=2bb9267aa4b4ecdf8488b06605cc9f3f36fa4332;hp=a47f182e1157fc8c76e247451a520b7b696f530f;hpb=e150b0b0664caec517485ee6d69dcdade6dcae77;p=mothur.git diff --git a/seqerrorcommand.h b/seqerrorcommand.h index a47f182..cc904ec 100644 --- a/seqerrorcommand.h +++ b/seqerrorcommand.h @@ -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 processIDS; //processid + vector lines; + vector qLines; + vector rLines; void getReferences(); map 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 >, map >); void printErrorQuality(map >); void printQualityFR(vector >, vector >); + + int setLines(string, string, string, vector&, vector&, vector&); + 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 outputNames; vector referenceSeqs; vector > substitutionMatrix; + vector > qualForwardMap; + vector > qualReverseMap; + vector misMatchCounts; + map > qScoreErrorMap; + map > errorForward; + map > errorReverse; + map weights; + vector megaAlignVector; + }; #endif