X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=trimseqscommand.h;h=40c221a0ec61c051099d081f15dd87bea135a163;hb=1c898913f53fe4c6574102896b967d9347d1b42a;hp=93e8c776918ec9fa2d6f661d7c178380a4f47d66;hpb=6e81846c8e5b2614f6b06643a9f558fb0e6669fa;p=mothur.git diff --git a/trimseqscommand.h b/trimseqscommand.h index 93e8c77..40c221a 100644 --- a/trimseqscommand.h +++ b/trimseqscommand.h @@ -14,26 +14,41 @@ #include "command.hpp" #include "sequence.hpp" #include "qualityscores.h" +#include "groupmap.h" class TrimSeqsCommand : public Command { public: TrimSeqsCommand(string); - ~TrimSeqsCommand(); - int execute(); - void help(); + TrimSeqsCommand(); + ~TrimSeqsCommand(){} + + vector setParameters(); + string getCommandName() { return "trim.seqs"; } + string getCommandCategory() { return "Sequence Processing"; } + string getHelpString(); + string getCitation() { return "http://www.mothur.org/wiki/Trim.seqs"; } + + int execute(); + void help() { m->mothurOut(getHelpString()); } private: - + + GroupMap* groupMap; + struct linePair { unsigned long int start; unsigned long int end; linePair(unsigned long int i, unsigned long int j) : start(i), end(j) {} }; - - void getOligos(vector&, vector&); + + void getOligos(vector >&, vector >&, vector >&); int stripBarcode(Sequence&, QualityScores&, int&); int stripForward(Sequence&, QualityScores&, int&); bool stripReverse(Sequence&, QualityScores&); + + bool keepFirstTrim(Sequence&, QualityScores&); + bool removeLastTrim(Sequence&, QualityScores&); + bool cullLength(Sequence&); bool cullHomoP(Sequence&); bool cullAmbigs(Sequence&); @@ -41,11 +56,11 @@ private: int countDiffs(string, string); bool abort; - string fastaFile, oligoFile, qFileName, outputDir; + string fastaFile, oligoFile, qFileName, groupfile, nameFile, outputDir; bool flip, allFiles, qtrim; int numFPrimers, numRPrimers, maxAmbig, maxHomoP, minLength, maxLength, processors, tdiffs, bdiffs, pdiffs, comboStarts; - int qWindowSize, qWindowStep; + int qWindowSize, qWindowStep, keepFirst, removeLast; double qRollAverage, qThreshold, qWindowAverage, qAverage; vector revPrimer, outputNames; set filesToRemove; @@ -53,15 +68,19 @@ private: vector groupVector; map primers; map combos; - + map groupToIndex; + vector primerNameVector; //needed here? + vector barcodeNameVector; //needed here? + map groupCounts; + map nameMap; + vector processIDS; //processid vector lines; vector qLines; - int driverCreateTrim(string, string, string, string, string, string, string, vector, vector, linePair*, linePair*); - int createProcessesCreateTrim(string, string, string, string, string, string, string, vector, vector); + int driverCreateTrim(string, string, string, string, string, string, string, string, string, vector >, vector >, vector >, linePair*, linePair*); + int createProcessesCreateTrim(string, string, string, string, string, string, string, string, string, vector >, vector >, vector >); int setLines(string, string, vector&, vector&); - }; #endif