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();
int getChimeras(Sequence*);
- void print(ostream&);
+ 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, consfile;
+ int iters, window, increment, processors;
+ string fastafile, quanfile, consfile;
vector<linePair*> templateLines;
- Sequence*querySeq;
+ Sequence* querySeq;
Sequence* bestfit; //closest match to query in template
vector<int> 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
- int windowSizes; //windowSizes = window size of query
+ int windowSizes; //windowSizes = window size of query
vector<int> windowSizesTemplate; //windowSizesTemplate[0] = window size of templateSeqs[0]
map<int, int> trimmed; //trimmed = start and stop of trimmed sequences for query
float DE; //DE is the deviaation for query
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< vector<float> > 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<int> h;
string mergedFilterString;
-
+ vector< vector<float> > readQuantiles();
vector<float> readFreq();
Sequence* findPairs(Sequence*);
void createProcessesQuan();
- void doPrep();
+ int doPrep();
+ void printQuanFile(string, string);
};