]> git.donarmstrong.com Git - mothur.git/blob - decalc.h
fixed bug with aligner in database class, worked on chimeras
[mothur.git] / decalc.h
1 #ifndef DECALC_H
2 #define DECALC_H
3 /*
4  *  decalc.h
5  *  Mothur
6  *
7  *  Created by Sarah Westcott on 7/22/09.
8  *  Copyright 2009 Schloss Lab UMASS Amherst. All rights reserved.
9  *
10  */
11
12 #include "mothur.h"
13 #include "sequence.hpp"
14
15 /***********************************************************************/
16
17 //This class was created using the algorythms described in the 
18 // "At Least 1 in 20 16S rRNA Sequence Records Currently Held in the Public Repositories is Estimated To Contain Substantial Anomalies" paper 
19 //by Kevin E. Ashelford 1, Nadia A. Chuzhanova 3, John C. Fry 1, Antonia J. Jones 2 and Andrew J. Weightman 1.
20
21 /***********************************************************************/
22
23 class DeCalculator {
24
25         public:
26                 
27                 DeCalculator() {};
28                 ~DeCalculator() {};
29                 
30                 void setMask(string m); 
31                 void runMask(Sequence*);
32                 void trimSeqs(Sequence*, Sequence, map<int, int>&);
33                 vector<float> calcFreq(vector<Sequence*>, string);
34                 vector<int> findWindows(Sequence*, int, int, int&, int);
35                 vector<float> calcObserved(Sequence*, Sequence, vector<int>, int);
36                 vector<float>  calcExpected(vector<float>, float);
37                 vector<float>  findQav(vector<int>, int, vector<float>);  
38                 float calcDE(vector<float>, vector<float>);
39                 float calcDist(Sequence*, Sequence, int, int);
40                 float getCoef(vector<float>, vector<float>);
41                 vector< vector<float> > getQuantiles(vector<Sequence*>, vector<int>, int, vector<float>, int, int, int);
42                 
43         private:
44                 string seqMask;
45                 set<int> h;
46
47 };
48
49 /***********************************************************************/
50
51 #endif