]> git.donarmstrong.com Git - mothur.git/blob - qualityscores.h
fix trim.seqs / qualscores bug
[mothur.git] / qualityscores.h
1 #ifndef QUALITYSCORES
2 #define QUALITYSCORES
3
4 /*
5  *  qualityscores.h
6  *  Mothur
7  *
8  *  Created by Pat Schloss on 7/12/10.
9  *  Copyright 2010 Schloss Lab. All rights reserved.
10  *
11  */
12
13
14 #include "mothur.h"
15 #include "mothurout.h"
16 #include "sequence.hpp"
17
18 /**************************************************************************************************/
19
20 class QualityScores {
21 public:
22         QualityScores();
23         QualityScores(ifstream&);
24         string getName();
25         
26         vector<int> getQualityScores() { return qScores; }
27         void printQScores(ofstream&);
28         void trimQScores(int, int);
29         void flipQScores();
30         bool stripQualThreshold(Sequence&, double);
31         bool stripQualRollingAverage(Sequence&, double);
32         bool stripQualWindowAverage(Sequence&, int, int, double);
33         bool cullQualAverage(Sequence&, double);
34         void updateQScoreErrorMap(map<char, vector<int> >&, string, int, int, int);
35         void updateForwardMap(vector<vector<int> >&, int, int, int);
36         void updateReverseMap(vector<vector<int> >&, int, int, int);
37         
38 private:
39         
40         double calculateAverage();
41         MothurOut* m;
42         vector<int> qScores;
43         
44         string seqName;
45         int seqLength;
46 };
47         
48 /**************************************************************************************************/
49
50 #endif