]> git.donarmstrong.com Git - mothur.git/blobdiff - chimera.h
created mothurOut class to handle logfiles
[mothur.git] / chimera.h
index 41615733392988ceacec5531b908349157804ce5..f6a5180975b134d7c5928dca4343e0a1f62074da 100644 (file)
--- a/chimera.h
+++ b/chimera.h
@@ -45,6 +45,7 @@ struct results {
        int nastRegionStart;
        int nastRegionEnd;
        string parent;
+       string parentAligned;
        float queryToParent;
        float queryToParentLocal;
        float divR;
@@ -53,6 +54,7 @@ struct results {
 struct SeqDist {
        Sequence* seq;
        float dist;
+       int index;
 };
 //********************************************************************************************************************
 //sorts lowest to highest
@@ -86,11 +88,11 @@ class Chimera {
 
        public:
        
-               Chimera(){};
-               Chimera(string);
-               Chimera(string, bool);
-               Chimera(string, string);
-               virtual ~Chimera(){};
+               Chimera(){ m = MothurOut::getInstance(); }
+               Chimera(string) { m = MothurOut::getInstance(); }
+               Chimera(string, bool, string) { m = MothurOut::getInstance(); }
+               Chimera(string, string) { m = MothurOut::getInstance(); }
+               virtual ~Chimera(){     for (int i = 0; i < templateSeqs.size(); i++) { delete templateSeqs[i];  } };
                virtual void setFilter(bool f)                  {       filter = f;                     }
                virtual void setCorrection(bool c)              {       correction = c;         }
                virtual void setProcessors(int p)               {       processors = p;         }
@@ -109,9 +111,9 @@ class Chimera {
                virtual void setMinBS(int b)                    {       minBS = b;                      }
                virtual void setMinSNP(int s)                   {       minSNP = s;                     }
                virtual void setIters(int i)                    {       iters = i;                      }
-               virtual void setTemplateSeqs(vector<Sequence*> t)       {       templateSeqs = t;       }
                virtual bool getUnaligned()                             {       return unaligned;                       }
-               virtual void setTemplateFile(string t)  {   templateFileName = t;       }
+               virtual void setTemplateFile(string t)  {   templateFileName = t;       templateSeqs = readSeqs(t);  }
+               virtual int getLength()                                 {   return length;      }
                
                virtual void setCons(string){};
                virtual void setQuantiles(string){};
@@ -119,23 +121,24 @@ class Chimera {
                virtual vector<Sequence*> readSeqs(string);
                virtual vector< vector<float> > readQuantiles();
                virtual void setMask(string);
-               virtual void runFilter(Sequence*);
-               virtual void createFilter(vector<Sequence*>);
+               virtual map<int, int> runFilter(Sequence*);
+               virtual string createFilter(vector<Sequence*>, float);
                
                virtual void printHeader(ostream&){};
                virtual int getChimeras(Sequence*){ return 0; }
                virtual int getChimeras(){ return 0; }
-               virtual void print(ostream&){}; 
+               virtual void print(ostream&, ostream&){};       
                
                
        protected:
                
                vector<Sequence*> templateSeqs;
                bool filter, correction, svg, unaligned;
-               int processors, window, increment, numWanted, kmerSize, match, misMatch, minSim, minCov, minBS, minSNP, parents, iters;
+               int processors, window, increment, numWanted, kmerSize, match, misMatch, minSim, minCov, minBS, minSNP, parents, iters, length;
                float divR;
                string seqMask, quanfile, filterString, name, outputDir, templateFileName;
                Sequence* getSequence(string);  //find sequence from name       
+               MothurOut* m;
 };
 
 /***********************************************************************/