X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=summaryqualcommand.h;h=b9edc5148ca5f7a834433815204b40f9ea317db4;hb=541bab1dac00688b4c3a8c4a95ab464412663c50;hp=31390b4296ff7659fdfb2946d3f37ff33b2877b7;hpb=f687723a8357916e86a05116978e6869b039ce36;p=mothur.git diff --git a/summaryqualcommand.h b/summaryqualcommand.h index 31390b4..b9edc51 100644 --- a/summaryqualcommand.h +++ b/summaryqualcommand.h @@ -25,8 +25,9 @@ public: vector setParameters(); string getCommandName() { return "summary.qual"; } string getCommandCategory() { return "Sequence Processing"; } - string getOutputFileNameTag(string, string); + string getHelpString(); + string getOutputPattern(string); string getCitation() { return "http://www.mothur.org/wiki/Summary.qual"; } string getDescription() { return "summarize the quality of a set of sequences"; } @@ -35,7 +36,7 @@ public: private: bool abort; - string qualfile, outputDir, namefile; + string qualfile, outputDir, namefile, countfile; vector outputNames; map nameMap; int processors; @@ -62,20 +63,21 @@ struct seqSumQualData { vector position; vector averageQ; vector< vector > scores; - string filename, namefile; + string filename; unsigned long long start; unsigned long long end; - int count; + int count, numSeqs; MothurOut* m; + bool hasNameMap; map nameMap; ~seqSumQualData(){} - seqSumQualData(string f, MothurOut* mout, unsigned long long st, unsigned long long en, string n, map nam) { + seqSumQualData(string f, MothurOut* mout, unsigned long long st, unsigned long long en, bool n, map nam) { filename = f; m = mout; start = st; end = en; - namefile = n; + hasNameMap = n; nameMap = nam; count = 0; } @@ -99,7 +101,8 @@ static DWORD WINAPI MySeqSumQualThreadFunction(LPVOID lpParam){ in.seekg(pDataArray->start-1); pDataArray->m->gobble(in); } - int count = 0; + pDataArray->count = 0; + pDataArray->numSeqs = 0; for(int i = 0; i < pDataArray->end; i++){ //end is the number of sequences to process if (pDataArray->m->control_pressed) { in.close(); pDataArray->count = 1; return 1; } @@ -109,7 +112,7 @@ static DWORD WINAPI MySeqSumQualThreadFunction(LPVOID lpParam){ if (current.getName() != "") { int num = 1; - if (pDataArray->namefile != "") { + if (pDataArray->hasNameMap) { //make sure this sequence is in the namefile, else error map::iterator it = pDataArray->nameMap.find(current.getName()); @@ -136,11 +139,11 @@ static DWORD WINAPI MySeqSumQualThreadFunction(LPVOID lpParam){ else { pDataArray->scores.at(i)[thisScores[i]] += num; } } - count += num; + pDataArray->numSeqs += num; + pDataArray->count++; } } - pDataArray->count = count; in.close(); return 0;