]> git.donarmstrong.com Git - mothur.git/blob - trimseqscommand.h
9b02be9ef5ec0f5a50d0563ab87a7f7d053bdadc
[mothur.git] / trimseqscommand.h
1 #ifndef TRIMSEQSCOMMAND_H
2 #define TRIMSEQSCOMMAND_H
3
4 /*
5  *  trimseqscommand.h
6  *  Mothur
7  *
8  *  Created by Pat Schloss on 6/6/09.
9  *  Copyright 2009 Patrick D. Schloss. All rights reserved.
10  *
11  */
12
13 #include "mothur.h"
14 #include "command.hpp"
15 #include "sequence.hpp"
16
17 class TrimSeqsCommand : public Command {
18 public:
19         TrimSeqsCommand(string);
20         ~TrimSeqsCommand();
21         int execute();
22         void help();
23         
24 private:
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);
35
36         bool abort;
37         string fastaFile, oligoFile, qFileName, outputDir;
38         
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;
44 };
45
46 #endif