]> git.donarmstrong.com Git - mothur.git/blob - parsesffcommand.h
9dfa083369d2241b428709119e2c2508bd667867
[mothur.git] / parsesffcommand.h
1 #ifndef PARSESFFCOMMAND_H
2 #define PARSESFFCOMMAND_H
3
4 /*
5  *  parsesffcommand.h
6  *  Mothur
7  *
8  *  Created by Pat Schloss on 2/6/10.
9  *  Copyright 2010 Patrick D. Schloss. All rights reserved.
10  *
11  */
12
13
14 #include "command.hpp"
15
16 class ParseSFFCommand : public Command {
17 public:
18         ParseSFFCommand(string);
19         ParseSFFCommand();
20         ~ParseSFFCommand();
21         vector<string> getRequiredParameters();
22         vector<string> getValidParameters();
23         vector<string> getRequiredFiles();
24         map<string, vector<string> > getOutputFiles() { return outputTypes; }
25         int execute();
26         void help();    
27         
28 private:
29
30         int parseHeaderLineToInt(ifstream&);
31         vector<float> parseHeaderLineToFloatVector(ifstream&, int);
32         vector<int> parseHeaderLineToIntVector(ifstream&, int);
33         string parseHeaderLineToString(ifstream&);
34         void screenFlow(vector<float>, int&);
35         string flow2seq(vector<float>, int);
36         bool screenSeq(string&, int&);
37         bool compareDNASeq(string, string);
38         void getOligos(vector<ofstream*>&);
39         
40         
41         string sffFile;
42         string oligoFile;
43
44         int minLength;
45         int numFPrimers, numRPrimers, numBarcodes;
46         vector<string> forPrimer, revPrimer;
47         map<string, int> barcodes;
48         vector<string> groupVector;
49         vector<string> outputNames;
50         map<string, vector<string> > outputTypes;
51
52 //      string stripSeqQual(string, int, int);
53 //      string stripQualQual(string, int, int);
54         
55         string outputDir;
56         bool abort;
57 };
58
59 #endif
60
61