X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=seqerrorcommand.h;h=cc904ec7f246aed91970b41cf52e39b7d32b896b;hb=8dd3c225255d7084e3aff8740aa4f1f1cabb367a;hp=a012d68e614e82c18a59fe79c115e213a614d35b;hpb=fe5bbb79f9434df947347881c47b430112f4253e;p=mothur.git diff --git a/seqerrorcommand.h b/seqerrorcommand.h index a012d68..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; @@ -43,31 +44,67 @@ class SeqErrorCommand : public Command { public: SeqErrorCommand(string); SeqErrorCommand(); - ~SeqErrorCommand(); - vector getRequiredParameters(); - vector getValidParameters(); - vector getRequiredFiles(); - map > getOutputFiles() { return outputTypes; } - int execute(); - void help(); + ~SeqErrorCommand() {} + + vector setParameters(); + string getCommandName() { return "seq.error"; } + 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); + void printErrorHeader(ofstream&); + void printErrorData(Compare, int, ofstream&, ofstream&); + void printSubMatrix(); + void printErrorFRFile(map >, map >); + void printErrorQuality(map >); + void printQualityFR(vector >, vector >); - string queryFileName, referenceFileName, qualFileName, reportFileName, namesFileName, errorSummaryFileName, errorSeqFileName, outputDir; + 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; - int numRefs; - ofstream errorSummaryFile, errorSeqFile; + bool ignoreChimeras, save; + int numRefs, processors; + int maxLength, totalBases, totalMatches; + //ofstream errorSummaryFile, errorSeqFile; vector outputNames; - map > outputTypes; vector referenceSeqs; + vector > substitutionMatrix; + vector > qualForwardMap; + vector > qualReverseMap; + vector misMatchCounts; + map > qScoreErrorMap; + map > errorForward; + map > errorReverse; + map weights; + vector megaAlignVector; + }; #endif