- //all of this is elsewhere already!
- numSeqs=count(istreambuf_iterator<char>(fastaFile),istreambuf_iterator<char>(), '>'); // count the number of
- fastaFile.seekg(0); // sequences
-
- templateSequences.resize(numSeqs);
-
- string seqName, sequence;
- for(int i=0;i<numSeqs;i++){
- fastaFile >> seqName;
- seqName = seqName.substr(1);
- char letter;
- string aligned;
-
- while(fastaFile && (letter=fastaFile.get()) != '>'){
- if(isprint(letter)){
- letter = toupper(letter);
- if(letter == 'U'){letter = 'T';}
- aligned += letter;
- }
- }
- templateSequences[i] = Sequence(seqName, aligned);
- fastaFile.putback(letter);
- }
-
- fastaFile.close();
- //all of this is elsewhere already!
-
- cout << "DONE." << endl; cout.flush();