1 #ifndef TRIMSEQSCOMMAND_H
2 #define TRIMSEQSCOMMAND_H
8 * Created by Pat Schloss on 6/6/09.
9 * Copyright 2009 Patrick D. Schloss. All rights reserved.
14 #include "command.hpp"
15 #include "sequence.hpp"
17 class TrimSeqsCommand : public Command {
19 TrimSeqsCommand(string);
25 void getOligos(vector<ofstream*>&);
26 bool stripQualThreshold(Sequence&, ifstream&);
27 bool cullQualAverage(Sequence&, ifstream&);
28 bool stripBarcode(Sequence&, int&);
29 bool stripForward(Sequence&);
30 bool stripReverse(Sequence&);
31 bool cullLength(Sequence&);
32 bool cullHomoP(Sequence&);
33 bool cullAmbigs(Sequence&);
34 bool compareDNASeq(string, string);
37 string fastaFile, oligoFile, qFileName;
39 bool flip, allFiles, qtrim;
40 int numFPrimers, numRPrimers, maxAmbig, maxHomoP, minLength, maxLength, qThreshold, qAverage;
41 vector<string> forPrimer, revPrimer;
42 map<string, int> barcodes;
43 vector<string> groupVector;