//for each sequence
for (int i = 0; i < seqs.size(); i++) {
+ if (m->control_pressed) { return filterString; }
+
string seqAligned = seqs[i]->getAligned();
for (int j = 0; j < seqAligned.length(); j++) {
//zero out spot where all sequences have blanks
int numColRemoved = 0;
for(int i = 0;i < seqs[0]->getAligned().length(); i++){
+
+ if (m->control_pressed) { return filterString; }
+
if(gaps[i] == seqs.size()) { filterString[i] = '0'; numColRemoved++; }
else if (((a[i] < threshold) && (t[i] < threshold) && (g[i] < threshold) && (c[i] < threshold))) { filterString[i] = '0'; numColRemoved++; }
//cout << "a = " << a[i] << " t = " << t[i] << " g = " << g[i] << " c = " << c[i] << endl;
}
- mothurOut("Filter removed " + toString(numColRemoved) + " columns."); mothurOutEndLine();
+ m->mothurOut("Filter removed " + toString(numColRemoved) + " columns."); m->mothurOutEndLine();
return filterString;
}
catch(exception& e) {
- errorOut(e, "Chimera", "createFilter");
+ m->errorOut(e, "Chimera", "createFilter");
exit(1);
}
}
return maskMap;
}
catch(exception& e) {
- errorOut(e, "Chimera", "runFilter");
+ m->errorOut(e, "Chimera", "runFilter");
exit(1);
}
}
vector<Sequence*> Chimera::readSeqs(string file) {
try {
- mothurOut("Reading sequences... "); cout.flush();
+ m->mothurOut("Reading sequences... "); cout.flush();
ifstream in;
openInputFile(file, in);
+
vector<Sequence*> container;
int count = 0;
length = 0;
//read in seqs and store in vector
while(!in.eof()){
+ if (m->control_pressed) { return container; }
+
Sequence* current = new Sequence(in); gobble(in);
if (count == 0) { length = current->getAligned().length(); count++; } //gets first seqs length
}
in.close();
- mothurOut("Done."); mothurOutEndLine();
+ m->mothurOut("Done."); m->mothurOutEndLine();
return container;
}
catch(exception& e) {
- errorOut(e, "Chimera", "readSeqs");
+ m->errorOut(e, "Chimera", "readSeqs");
exit(1);
}
}
}
}
catch(exception& e) {
- errorOut(e, "Chimera", "setMask");
+ m->errorOut(e, "Chimera", "setMask");
exit(1);
}
}
}
catch(exception& e) {
- errorOut(e, "Chimera", "readQuantiles");
+ m->errorOut(e, "Chimera", "readQuantiles");
exit(1);
}
}
}
}
- if(spot == -1) { mothurOut("Error: Could not find sequence."); mothurOutEndLine(); return NULL; }
+ if(spot == -1) { m->mothurOut("Error: Could not find sequence."); m->mothurOutEndLine(); return NULL; }
temp = new Sequence(templateSeqs[spot]->getName(), templateSeqs[spot]->getAligned());
return temp;
}
catch(exception& e) {
- errorOut(e, "Chimera", "getSequence");
+ m->errorOut(e, "Chimera", "getSequence");
exit(1);
}
}