X-Git-Url: https://git.donarmstrong.com/?p=mothur.git;a=blobdiff_plain;f=chimeraslayer.h;h=7bf663afeadeb3517daf4f9bfa25135fbf872cab;hp=a305b5bfd09601220b15a44fd0ad18ee6b42a09d;hb=cf9987b67aa49777a4c91c2d21f96e58bf17aa82;hpb=58cc09a375d1e1afceef3b036574ff21394ccc4d diff --git a/chimeraslayer.h b/chimeraslayer.h index a305b5b..7bf663a 100644 --- a/chimeraslayer.h +++ b/chimeraslayer.h @@ -15,40 +15,61 @@ #include "maligner.h" #include "slayer.h" -/***********************************************************************/ + + +//***********************************************************************/ //This class was modeled after the chimeraSlayer written by the Broad Institute /***********************************************************************/ - class ChimeraSlayer : public Chimera { public: - ChimeraSlayer(string, string); + ChimeraSlayer(string, string, bool, string, int, int, int, int, float, int, int, int, int, int, int, int, int, bool, string, int); + ChimeraSlayer(string, string, bool, map&, string, int, int, int, int, float, int, int, int, int, int, int, int, int, bool, string, int); + ChimeraSlayer(string, string, bool, map&, string, int, int, int, int, float, int, int, int, int, int, int, int, int, bool, string, int, bool); + ~ChimeraSlayer(); - void getChimeras(); - void print(ostream&); - - void setCons(string){}; - void setQuantiles(string q) {}; + int getChimeras(Sequence*); + Sequence print(ostream&, ostream&); + Sequence print(ostream&, ostream&, data_results, data_results); + void printHeader(ostream&); + int doPrep(); + int getNumNoParents() { return numNoParents; } + data_results getResults() { return printResults; } + #ifdef USE_MPI + Sequence print(MPI_File&, MPI_File&); + Sequence print(MPI_File&, MPI_File&, data_results, data_results, bool&); + #endif private: - DeCalculator* decalc; - Maligner* maligner; - Slayer* slayer; - vector lines; - vector querySeqs; - vector templateSeqs; - - vector< vector > chimeraResults; - vector chimeraFlags; - - string fastafile, templateFile; + Sequence querySeq; + Sequence trimQuery; + DeCalculator decalc; + Database* databaseRight; + Database* databaseLeft; + map priority; //for template=self, seqname, seqAligned, abundance + set chimericSeqs; //for template=self, so we don't add chimeric sequences to the userTemplate set + int numNoParents, threadID; + + vector chimeraResults; + data_results printResults; + string chimeraFlags, searchMethod, fastafile, blastlocation; + bool realign, trimChimera; + int window, numWanted, kmerSize, match, misMatch, minSim, minCov, minBS, minSNP, parents, iters, increment; + float divR; + + void printBlock(data_struct, string, ostream&); + void printBlock(data_results, data_results, bool, bool, string, ostream&); + string getBlock(data_struct, string); + string getBlock(data_results, data_results, bool, bool, string); + //int readNameFile(string); + vector getTemplate(Sequence, vector&); + vector getRefSeqs(Sequence, vector&, vector&); + vector getBlastSeqs(Sequence, vector&, int); + vector getKmerSeqs(Sequence, vector&, int); - Sequence* getSequence(string); //find sequence from name - - }; /************************************************************************/