X-Git-Url: https://git.donarmstrong.com/?p=mothur.git;a=blobdiff_plain;f=pintail.h;h=92c399889c3be0aa0e552fe296612eb336bc8168;hp=aada728413ffbfc9cd3cde1bedb5d07ea492e985;hb=df7e3ff9f68ef157b0328a2d353c3258c5d45d89;hpb=c4fb347858dd8cfea4d2933f429fff4130dca65b diff --git a/pintail.h b/pintail.h index aada728..92c3998 100644 --- a/pintail.h +++ b/pintail.h @@ -24,59 +24,59 @@ class Pintail : public Chimera { public: - Pintail(string, string); + Pintail(string, string, bool, int, string, string, string, int, int, string); //fastafile, templatefile, filter, processors, mask, conservation, quantile, window, increment, outputDir) ~Pintail(); - void getChimeras(); - void print(ostream&); + int getChimeras(Sequence*); + Sequence print(ostream&, ostream&); void setCons(string c) { consfile = c; } void setQuantiles(string q) { quanfile = q; } + #ifdef USE_MPI + Sequence print(MPI_File&, MPI_File&); + #endif private: Dist* distcalculator; DeCalculator* decalc; - int iters; - string fastafile, templateFile, consfile; + int iters, window, increment, processors; + string fastafile, quanfile, consfile; - - vector lines; vector templateLines; - vector querySeqs; - vector templateSeqs; - - vector bestfit; //bestfit[0] matches queryseqs[0]... + Sequence* querySeq; + + Sequence* bestfit; //closest match to query in template - vector< vector > obsDistance; //obsDistance[0] is the vector of observed distances for queryseqs[0]... - vector< vector > expectedDistance; //expectedDistance[0] is the vector of expected distances for queryseqs[0]... - vector deviation; //deviation[0] is the percentage of mismatched pairs over the whole seq between querySeqs[0] and its best match. - vector< vector > windowsForeachQuery; // windowsForeachQuery[0] is a vector containing the starting spot in queryseqs[0] aligned sequence for each window. + vector obsDistance; //obsDistance is the vector of observed distances for query + vector expectedDistance; //expectedDistance is the vector of expected distances for query + float deviation; //deviation is the percentage of mismatched pairs over the whole seq between query and its best match. + vector windowsForeachQuery; // windowsForeachQuery is a vector containing the starting spot in query aligned sequence for each window. //this is needed so you can move by bases and not just spots in the alignment - vector windowSizes; //windowSizes[0] = window size of querySeqs[0] + int windowSizes; //windowSizes = window size of query vector windowSizesTemplate; //windowSizesTemplate[0] = window size of templateSeqs[0] - vector< map > trimmed; //trimmed[0] = start and stop of trimmed sequences for querySeqs[0] + map trimmed; //trimmed = start and stop of trimmed sequences for query map::iterator it; - vector< vector > Qav; //Qav[0] is the vector of average variablility for queryseqs[0]... - vector seqCoef; //seqCoef[0] is the coeff for queryseqs[0]... - vector DE; //DE[0] is the deviaation for queryseqs[0]... + vector Qav; //Qav is the vector of average variablility for query + float seqCoef; //seqCoef is the coeff for query + float DE; //DE is the deviaation for query vector probabilityProfile; vector< vector > 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 > 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 > h; - + vector< vector > 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... + set h; + string mergedFilterString; + vector< vector > readQuantiles(); vector readFreq(); - vector findPairs(int, int); + Sequence* findPairs(Sequence*); - void createProcessesSpots(); - void createProcessesPairs(); - void createProcesses(); void createProcessesQuan(); + int doPrep(); + void printQuanFile(string, string); };