]> git.donarmstrong.com Git - mothur.git/blob - decalc.h
Thallinger changes to cluster command.
[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                 set<int> getPos() {  return h;  }
31                 void setMask(string m); 
32                 void runMask(Sequence*);
33                 void trimSeqs(Sequence*, Sequence*, map<int, int>&);
34                 void removeObviousOutliers(vector< vector<float> >&);
35                 vector<float> calcFreq(vector<Sequence*>, string);
36                 vector<int> findWindows(Sequence*, int, int, int&, int);
37                 vector<float> calcObserved(Sequence*, Sequence*, vector<int>, int);
38                 vector<float>  calcExpected(vector<float>, float);
39                 vector<float>  findQav(vector<int>, int, vector<float>);  
40                 float calcDE(vector<float>, vector<float>);
41                 float calcDist(Sequence*, Sequence*, int, int);
42                 float getCoef(vector<float>, vector<float>);
43                 vector< vector<float> > getQuantiles(vector<Sequence*>, vector<int>, int, vector<float>, int, int, int);
44                 
45         private:
46                 float findAverage(vector<float> myVector);
47                 string seqMask;
48                 set<int> h;
49
50 };
51
52 /***********************************************************************/
53
54 #endif