X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=trimseqscommand.h;h=93e8c776918ec9fa2d6f661d7c178380a4f47d66;hb=b20d7d9b1b0eeeaedb78d8fdf26833fd212d2e81;hp=0a34ff303e618839e3fd80583e91f9ab10305ff8;hpb=64eee3a595ae53817f52807d7393b22e74e31f56;p=mothur.git diff --git a/trimseqscommand.h b/trimseqscommand.h index 0a34ff3..93e8c77 100644 --- a/trimseqscommand.h +++ b/trimseqscommand.h @@ -12,33 +12,56 @@ #include "mothur.h" #include "command.hpp" -#include "globaldata.hpp" +#include "sequence.hpp" +#include "qualityscores.h" class TrimSeqsCommand : public Command { public: - TrimSeqsCommand(); + TrimSeqsCommand(string); ~TrimSeqsCommand(); int execute(); + void help(); private: - void getOligos(); - bool stripBarcode(Sequence&, string&); - bool stripForward(Sequence&); - bool stripReverse(Sequence&); + + 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&); + int stripBarcode(Sequence&, QualityScores&, int&); + int stripForward(Sequence&, QualityScores&, int&); + bool stripReverse(Sequence&, QualityScores&); + bool cullLength(Sequence&); + bool cullHomoP(Sequence&); + bool cullAmbigs(Sequence&); + bool compareDNASeq(string, string); + int countDiffs(string, string); + + bool abort; + string fastaFile, oligoFile, qFileName, outputDir; - GlobalData* globaldata; + bool flip, allFiles, qtrim; + int numFPrimers, numRPrimers, maxAmbig, maxHomoP, minLength, maxLength, processors, tdiffs, bdiffs, pdiffs, comboStarts; + int qWindowSize, qWindowStep; + double qRollAverage, qThreshold, qWindowAverage, qAverage; + vector revPrimer, outputNames; + set filesToRemove; + map barcodes; + vector groupVector; + map primers; + map combos; - int totalBarcodeCount, matchBarcodeCount; - int totalFPrimerCount, matchFPrimerCount; - int totalRPrimerCount, matchRPrimerCount; + 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 setLines(string, string, vector&, vector&); - bool oligos, flip; - int forwardPrimerMismatch, reversePrimerMismatch, barcodeMismatch; - int numFPrimers, numRPrimers; - vector forPrimer, revPrimer; - map barcodes; - }; #endif