5 * Created by Pat Schloss on 12/16/08.
6 * Copyright 2008 Patrick D. Schloss. All rights reserved.
17 #include "sequence.hpp"
18 #include "database.hpp"
20 /**************************************************************************************************/
22 Database::Database(string fastaFileName){
24 ifstream fastaFile(fastaFileName.c_str());
26 cerr << "Error: Could not open " << fastaFileName << endl;
29 cout << endl << "Reading in the " << fastaFileName << " template sequences...\t"; cout.flush();
31 numSeqs=count(istreambuf_iterator<char>(fastaFile),istreambuf_iterator<char>(), '>');
34 templateSequences.resize(numSeqs);
36 string seqName, sequence;
37 for(int i=0;i<numSeqs;i++){
38 templateSequences[i] = new Sequence();
41 templateSequences[i]->setName(seqName);
46 while(fastaFile && (letter=fastaFile.get()) != '>'){
48 letter = toupper(letter);
52 templateSequences[i]->setAligned(aligned);
53 templateSequences[i]->setUnaligned(aligned);
54 fastaFile.putback(letter);
58 cout << "DONE." << endl; cout.flush();
62 /**************************************************************************************************/