]> git.donarmstrong.com Git - mothur.git/blobdiff - filters.h
added modify names parameter to set.dir
[mothur.git] / filters.h
index 4c396070a911000018710a3b652f2f81439e1db7..21bc8bb5eec729d7b3f59d06d2a6cc6aff09080a 100644 (file)
--- a/filters.h
+++ b/filters.h
@@ -19,7 +19,7 @@
 class Filters {
 
 public:
-       Filters() {};
+       Filters() { m = MothurOut::getInstance(); };
        ~Filters(){};
                
        string getFilter()                      {       return filter;          }
@@ -28,6 +28,8 @@ public:
        void setSoft(float s)           {               soft = s;               }
        void setTrump(float t)          {               trump = t;              }
        void setNumSeqs(int num)        {       numSeqs = num;          }
+       vector<int> a, t, g, c, gap;
+       
        
        void initialize() {
                a.assign(alignmentLength, 0);
@@ -44,6 +46,14 @@ public:
                        if(a[i] < threshold && t[i] < threshold && g[i] < threshold && c[i] < threshold){       filter[i] = 0;  }
                }
        }
+
+       void mergeFilter(string newFilter){
+               for(int i=0;i<alignmentLength;i++){
+                       if(newFilter[i] == '0'){
+                               filter[i] = 0;
+                       }
+               }
+       }
        
        void doVertical() {
 
@@ -67,7 +77,7 @@ public:
 
        void doHard(string hard) {
                ifstream fileHandle;
-               openInputFile(hard, fileHandle);
+               m->openInputFile(hard, fileHandle);
        
                fileHandle >> filter;
        
@@ -89,10 +99,10 @@ public:
                
 protected:
        string filter;
-       vector<int> a, t, g, c, gap;
        int alignmentLength, numSeqs;
        float soft;
        char trump;
+       MothurOut* m;
 
 };