X-Git-Url: https://git.donarmstrong.com/?p=mothur.git;a=blobdiff_plain;f=chimeraslayer.h;h=7bf663afeadeb3517daf4f9bfa25135fbf872cab;hp=cac96eb158a721ac5fe3d5c68a82d61979fd99e8;hb=cf9987b67aa49777a4c91c2d21f96e58bf17aa82;hpb=64581f6d0e63e67d4e119601bea695ebb3f52a13 diff --git a/chimeraslayer.h b/chimeraslayer.h index cac96eb..7bf663a 100644 --- a/chimeraslayer.h +++ b/chimeraslayer.h @@ -15,6 +15,8 @@ #include "maligner.h" #include "slayer.h" + + //***********************************************************************/ //This class was modeled after the chimeraSlayer written by the Broad Institute /***********************************************************************/ @@ -22,37 +24,38 @@ class ChimeraSlayer : public Chimera { public: - ChimeraSlayer(string, string, bool, string, int, int, int, int, float, int, int, int, int, int, int, int, int, bool); - ChimeraSlayer(string, string, bool, string, string, int, int, int, int, float, int, int, int, int, int, int, int, int, bool); + 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(); int getChimeras(Sequence*); - Sequence* print(ostream&, ostream&); - Sequence* print(ostream&, ostream&, data_results, data_results); + 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); + Sequence print(MPI_File&, MPI_File&); + Sequence print(MPI_File&, MPI_File&, data_results, data_results, bool&); #endif private: - Sequence* querySeq; + Sequence querySeq; Sequence trimQuery; - DeCalculator* decalc; - map spotMap; + DeCalculator decalc; Database* databaseRight; Database* databaseLeft; - vector userTemplate; //when template=self, the query file is sorted from most abundance to least abundant - //userTemplate grows as the query file is processed by adding sequences that are not chimeric - set namesOfChimericSeqs; //only used when template=self - + 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; + string chimeraFlags, searchMethod, fastafile, blastlocation; bool realign, trimChimera; int window, numWanted, kmerSize, match, misMatch, minSim, minCov, minBS, minSNP, parents, iters, increment; float divR; @@ -62,7 +65,10 @@ class ChimeraSlayer : public Chimera { string getBlock(data_struct, string); string getBlock(data_results, data_results, bool, bool, string); //int readNameFile(string); - int getTemplate(Sequence*); + vector getTemplate(Sequence, vector&); + vector getRefSeqs(Sequence, vector&, vector&); + vector getBlastSeqs(Sequence, vector&, int); + vector getKmerSeqs(Sequence, vector&, int); };