]> git.donarmstrong.com Git - mothur.git/blobdiff - chimeraslayer.h
working on chimera change to add trim feature, fixed bug in print of distance file...
[mothur.git] / chimeraslayer.h
index 617ba7ee9557eb6ad54f65b4aa99f323fd5afd86..1e03d9281e7a194f34bde73065c1916f66bec469 100644 (file)
@@ -15,7 +15,9 @@
 #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);
+               ChimeraSlayer(string, string, bool, string, string, string, int, int, int, int, float, int, int, int, int, int, int, int, int, bool);
+
                ~ChimeraSlayer();
                
-               void getChimeras();
-               void print(ostream&);
-               
-               void setCons(string){};
-               void setQuantiles(string q) {};
+               int getChimeras(Sequence*);
+               Sequence* print(ostream&, ostream&);
+               void printHeader(ostream&);
+               int doPrep();
                
+               #ifdef USE_MPI
+               Sequence* print(MPI_File&, MPI_File&);
+               #endif
                
        private:
+               Sequence* querySeq;
+               Sequence* trimQuery;
                DeCalculator* decalc;
-               Maligner* maligner;
-               Slayer* slayer;
-               vector<linePair*> lines;
-               vector<Sequence*> querySeqs;
-               vector<Sequence*> templateSeqs;
-                               
-               string fastafile, templateFile;
+               map<int, int>  spotMap;
+               Database* databaseRight;
+               Database* databaseLeft;
+               map<string, vector<string> > nameMapRank;  //sequence name to rank so you can construct a template of the abundant sequences if the user uses itself as template
+               
+               vector<data_struct>  chimeraResults;
+               string chimeraFlags, searchMethod, fastafile, includeAbunds;
+               bool realign, trimChimera;
+               int window, numWanted, kmerSize, match, misMatch, minSim, minCov, minBS, minSNP, parents, iters, increment;
+               float divR;
+       
+               void printBlock(data_struct, string, ostream&);
+               string getBlock(data_struct, string);
+               int readNameFile(string);
+               vector<Sequence*> getTemplate(Sequence*);
                
-               Sequence* getSequence(string);  //find sequence from name
-                       
-                               
 };
 
 /************************************************************************/