#include "chimera.h"
#include "dist.h"
+#include "decalc.h"
+/***********************************************************/
//This class was created using the algorythms described in the
// "At Least 1 in 20 16S rRNA Sequence Records Currently Held in the Public Repositories is Estimated To Contain Substantial Anomalies" paper
//by Kevin E. Ashelford 1, Nadia A. Chuzhanova 3, John C. Fry 1, Antonia J. Jones 2 and Andrew J. Weightman 1.
private:
- struct linePair {
- int start;
- int end;
- linePair(int i, int j) : start(i), end(j) {}
- linePair(){}
- };
-
Dist* distcalculator;
+ DeCalculator* decalc;
int iters;
- string fastafile, templateFile, consfile, quanfile;
+ string fastafile, templateFile, consfile;
+
vector<linePair*> lines;
vector<linePair*> templateLines;
vector<Sequence*> querySeqs;
vector<Sequence*> templateSeqs;
- vector<Sequence> bestfit; //bestfit[0] matches queryseqs[0]...
+ vector<Sequence*> bestfit; //bestfit[0] matches queryseqs[0]...
vector< vector<float> > obsDistance; //obsDistance[0] is the vector of observed distances for queryseqs[0]...
vector< vector<float> > expectedDistance; //expectedDistance[0] is the vector of expected distances for queryseqs[0]...
vector<float> DE; //DE[0] is the deviaation for queryseqs[0]...
vector<float> probabilityProfile;
vector< vector<float> > quantiles; //quantiles[0] is the vector of deviations with ceiling score of 1, quantiles[1] is the vector of deviations with ceiling score of 2...
+ vector< vector<quanMember> > quantilesMembers; //quantiles[0] is the vector of deviations with ceiling score of 1, quantiles[1] is the vector of deviations with ceiling score of 2...
+ vector< set<int> > h;
- void trimSeqs(Sequence*, Sequence, map<int, int>&);
- vector<float> readFreq();
- vector< vector<float> > readQuantiles();
- vector< vector<float> > getQuantiles(int, int);
- vector<float> calcFreq(vector<Sequence*>);
- vector<Sequence> findPairs(int, int);
- vector<int> findWindows(Sequence*, int, int, int&);
- vector<float> calcObserved(Sequence*, Sequence, vector<int>, int);
- vector<float> calcExpected(vector<float>, float);
- vector<float> findQav(vector<int>, int);
- float calcDE(vector<float>, vector<float>);
- float calcDist(Sequence*, Sequence, int, int);
- float getCoef(vector<float>, vector<float>);
-
+ vector<float> readFreq();
+ vector<Sequence*> findPairs(int, int);
+
void createProcessesSpots();
+ void createProcessesPairs();
void createProcesses();
void createProcessesQuan();
-
-
};
/***********************************************************/