X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=pcrseqscommand.h;h=9fc40419411ff2535f01eb150699b30227225a3b;hb=98ca1e6ab30ab49e4a78bb6012d34c9c2db22702;hp=03092bca2a70da8428e77f5599e6ab200c2b8960;hpb=91a27e0483827c06c21c4fe89558923bbfe86573;p=mothur.git diff --git a/pcrseqscommand.h b/pcrseqscommand.h index 03092bc..9fc4041 100644 --- a/pcrseqscommand.h +++ b/pcrseqscommand.h @@ -15,6 +15,7 @@ #include "trimoligos.h" #include "alignment.hpp" #include "needlemanoverlap.hpp" +#include "counttable.h" class PcrSeqsCommand : public Command { public: @@ -25,7 +26,9 @@ public: vector setParameters(); string getCommandName() { return "pcr.seqs"; } string getCommandCategory() { return "Sequence Processing"; } + string getHelpString(); + string getOutputPattern(string); string getCitation() { return "http://www.mothur.org/wiki/Pcr.seqs"; } string getDescription() { return "pcr.seqs"; } @@ -44,8 +47,8 @@ private: vector lines; bool getOligos(vector >&, vector >&, vector >&); bool abort, keepprimer, keepdots; - string fastafile, oligosfile, taxfile, groupfile, namefile, ecolifile, outputDir, nomatch; - int start, end, pdiffs, processors, length; + string fastafile, oligosfile, taxfile, groupfile, namefile, countfile, ecolifile, outputDir, nomatch; + int start, end, processors, length; vector revPrimer, outputNames; vector primers; @@ -54,6 +57,7 @@ private: int readName(set&); int readGroup(set); int readTax(set); + int readCount(set); bool readOligos(); bool readEcoli(); int driverPcr(string, string, string, set&, linePair); @@ -315,11 +319,11 @@ static DWORD WINAPI MyPcrThreadFunction(LPVOID lpParam){ pDataArray->m->mothurOut("[ERROR]: seqs are not the same length as ecoli seq. When using ecoli option your sequences must be aligned and the same length as the ecoli sequence.\n"); pDataArray->m->control_pressed = true; break; }else { if (pDataArray->keepdots) { - currSeq.filterToPos(start); - currSeq.filterFromPos(end); + currSeq.filterToPos(pDataArray->start); + currSeq.filterFromPos(pDataArray->end); }else { - string seqString = currSeq.getAligned().substr(0, end); - seqString = seqString.substr(start); + string seqString = currSeq.getAligned().substr(0, pDataArray->end); + seqString = seqString.substr(pDataArray->start); currSeq.setAligned(seqString); } } @@ -331,17 +335,17 @@ static DWORD WINAPI MyPcrThreadFunction(LPVOID lpParam){ if (pDataArray->end != -1) { if (pDataArray->end > currSeq.getAligned().length()) { pDataArray->m->mothurOut("[ERROR]: end is longer than your sequence length, aborting.\n"); pDataArray->m->control_pressed = true; break; } else { - if (pDataArray->keepdots) { currSeq.filterFromPos(end); } + if (pDataArray->keepdots) { currSeq.filterFromPos(pDataArray->end); } else { - string seqString = currSeq.getAligned().substr(0, end); + string seqString = currSeq.getAligned().substr(0, pDataArray->end); currSeq.setAligned(seqString); } } } if (pDataArray->start != -1) { - if (pDataArray->keepdots) { currSeq.filterToPos(start); } + if (pDataArray->keepdots) { currSeq.filterToPos(pDataArray->start); } else { - string seqString = currSeq.getAligned().substr(start); + string seqString = currSeq.getAligned().substr(pDataArray->start); currSeq.setAligned(seqString); } }