#include "mothur.h"
#include "command.hpp"
-#include "globaldata.hpp"
+#include "sequence.hpp"
class TrimSeqsCommand : public Command {
public:
- TrimSeqsCommand();
+ TrimSeqsCommand(string);
~TrimSeqsCommand();
int execute();
+ void help();
private:
- void getOligos();
- bool stripBarcode(Sequence&, string&);
+ void getOligos(vector<ofstream*>&, vector<ofstream*>&);
+ bool stripQualThreshold(Sequence&, ifstream&);
+ bool cullQualAverage(Sequence&, ifstream&);
+ bool stripBarcode(Sequence&, int&);
bool stripForward(Sequence&);
bool stripReverse(Sequence&);
+ bool cullLength(Sequence&);
+ bool cullHomoP(Sequence&);
+ bool cullAmbigs(Sequence&);
+ bool compareDNASeq(string, string);
+
+ bool abort;
+ string fastaFile, oligoFile, qFileName;
- GlobalData* globaldata;
-
- int totalBarcodeCount, matchBarcodeCount;
- int totalFPrimerCount, matchFPrimerCount;
- int totalRPrimerCount, matchRPrimerCount;
-
-
- bool oligos, flip;
- int forwardPrimerMismatch, reversePrimerMismatch, barcodeMismatch;
- int numFPrimers, numRPrimers;
+ bool flip, allFiles;
+ int numFPrimers, numRPrimers, maxAmbig, maxHomoP, minLength, maxLength, qThreshold, qAverage;
vector<string> forPrimer, revPrimer;
- map<string, string> barcodes;
-
+ map<string, int> barcodes;
+ vector<string> groupVector;
};
#endif