/***********************************************************************/
-SequenceDB::SequenceDB() {}
+SequenceDB::SequenceDB() { m = MothurOut::getInstance(); }
/***********************************************************************/
//the clear function free's the memory
SequenceDB::~SequenceDB() { clear(); }
SequenceDB::SequenceDB(ifstream& filehandle) {
try{
- string name, sequence, line;
- sequence = "";
- int c;
- string temp;
-
-
+
//read through file
- while ((c = filehandle.get()) != EOF) {
- name = ""; sequence = "";
- //is this a name
- if (c == '>') {
- name = readName(filehandle);
- sequence = readSequence(filehandle);
- }else { mothurOut("Error fasta in your file. Please correct."); mothurOutEndLine(); }
-
+ while (!filehandle.eof()) {
//input sequence info into sequencedb
- Sequence newSequence(name, sequence);
- data.push_back(newSequence);
+ Sequence newSequence(filehandle);
+
+ if (newSequence.getName() != "") { data.push_back(newSequence); }
//takes care of white space
- gobble(filehandle);
+ m->gobble(filehandle);
}
filehandle.close();
}
catch(exception& e) {
- errorOut(e, "SequenceDB", "SequenceDB");
+ m->errorOut(e, "SequenceDB", "SequenceDB");
exit(1);
}
}
return name;
}
catch(exception& e) {
- errorOut(e, "SequenceDB", "readName");
+ m->errorOut(e, "SequenceDB", "readName");
exit(1);
}
}
return sequence;
}
catch(exception& e) {
- errorOut(e, "SequenceDB", "readSequence");
+ m->errorOut(e, "SequenceDB", "readSequence");
exit(1);
}
}
data[index] = Sequence(data[index].getName(), newUnaligned);
}
catch(exception& e) {
- errorOut(e, "SequenceDB", "set");
+ m->errorOut(e, "SequenceDB", "set");
exit(1);
}
}
data[index] = newSeq;
}
catch(exception& e) {
- errorOut(e, "SequenceDB", "set");
+ m->errorOut(e, "SequenceDB", "set");
exit(1);
}
}
data.resize(newSize);
}
catch(exception& e) {
- errorOut(e, "SequenceDB", "resize");
+ m->errorOut(e, "SequenceDB", "resize");
exit(1);
}
}
data.clear();
}
catch(exception& e) {
- errorOut(e, "SequenceDB", "clear");
+ m->errorOut(e, "SequenceDB", "clear");
exit(1);
}
}
}
}
catch(exception& e) {
- errorOut(e, "SequenceDB", "print");
+ m->errorOut(e, "SequenceDB", "print");
exit(1);
}
}
data.push_back(newSequence);
}
catch(exception& e) {
- errorOut(e, "SequenceDB", "push_back");
+ m->errorOut(e, "SequenceDB", "push_back");
exit(1);
}
}