class Filters {
public:
- Filters() {};
+ Filters() { m = MothurOut::getInstance(); };
~Filters(){};
string getFilter() { return filter; }
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() {
void doHard(string hard) {
ifstream fileHandle;
- openInputFile(hard, fileHandle);
+ m->openInputFile(hard, fileHandle);
fileHandle >> filter;
fileHandle.close();
+
+ if (filter.length() != alignmentLength) { m->mothurOut("[ERROR]: Sequences are not all the same length as the filter, please correct.\n"); m->control_pressed = true; }
}
void getFreqs(Sequence seq) {
int alignmentLength, numSeqs;
float soft;
char trump;
+ MothurOut* m;
};