X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=trimseqscommand.h;h=21a5d41e759c761a3302340319c857544ffc313e;hb=fe5bbb79f9434df947347881c47b430112f4253e;hp=fefe53490cc4b0c1275a006c0946f022c24e366a;hpb=5e350c02c92aa01b42b16baf84efbc24166f60a1;p=mothur.git diff --git a/trimseqscommand.h b/trimseqscommand.h index fefe534..21a5d41 100644 --- a/trimseqscommand.h +++ b/trimseqscommand.h @@ -13,53 +13,67 @@ #include "mothur.h" #include "command.hpp" #include "sequence.hpp" +#include "qualityscores.h" +#include "groupmap.h" class TrimSeqsCommand : public Command { public: TrimSeqsCommand(string); + TrimSeqsCommand(); ~TrimSeqsCommand(); + vector getRequiredParameters(); + vector getValidParameters(); + vector getRequiredFiles(); + map > getOutputFiles() { return outputTypes; } int execute(); void help(); private: - + + GroupMap* groupMap; + struct linePair { - int start; - int num; - linePair(long int i, int j) : start(i), num(j) {} + unsigned long int start; + unsigned long int end; + linePair(unsigned long int i, unsigned long int j) : start(i), end(j) {} }; - void getOligos(vector&); - bool stripQualThreshold(Sequence&, ifstream&); - bool cullQualAverage(Sequence&, ifstream&); - int stripBarcode(Sequence&, int&); - int stripForward(Sequence&, int&); - bool stripReverse(Sequence&); + void getOligos(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&); bool compareDNASeq(string, string); - int countDiffs(string, string);//, int, int&, int); + int countDiffs(string, string); + map > outputTypes; bool abort; - string fastaFile, oligoFile, qFileName, outputDir; + string fastaFile, oligoFile, qFileName, groupfile, outputDir; bool flip, allFiles, qtrim; - int numFPrimers, numRPrimers, maxAmbig, maxHomoP, minLength, maxLength, qThreshold, qAverage, processors, tdiffs, bdiffs, pdiffs, comboStarts; + int numFPrimers, numRPrimers, maxAmbig, maxHomoP, minLength, maxLength, processors, tdiffs, bdiffs, pdiffs, comboStarts; + int qWindowSize, qWindowStep, keepFirst, removeLast; + double qRollAverage, qThreshold, qWindowAverage, qAverage; vector revPrimer, outputNames; set filesToRemove; map barcodes; vector groupVector; map primers; map combos; + map groupToIndex; vector processIDS; //processid vector lines; vector qLines; - int driverCreateTrim(string, string, string, string, string, vector, linePair*, linePair*); - int createProcessesCreateTrim(string, string, string, string, string, vector); - int setLines(string, vector&); + 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 setLines(string, string, vector&, vector&); };