//==============================================================================
// 215 Assignment 3 Starter File: 215 Assign 3 Starter.cpp
// Spring 2006
//
// Finding Palindromes (Inverted Repeats)
//==============================================================================

#include "215 Assign 3 Starter.h"

//==============================================================================
// BuildMegaVector
//
// PRE:  'infile' has been successfully opened and contains FASTA format DNA info;
//       'sequence' is a vector of characters that starts empty.
// POST:  Rips the entire sequence of nucleotides into the sequence vector,
//        skipping the header info at the top of the file and stripping out newline
//        characters.

void BuildMegaVector( ifstream& infile, vector<char>& sequence )
{
	int length;
	char *buffer;
	int i;

	 // get length of file:
	infile.seekg ( 0, ios::end );
	length = infile.tellg();
	infile.seekg ( 0, ios::beg );

	// allocate memory:
	buffer = new char [length];

	// read data as a block:
	infile.read (buffer,length);

	// skip first line first
	i=0;
	while ( buffer[i] != '\n' )
		i++;
	i++;

	// copy into vector everything but newlines
	for ( ; i<length; i++ )
		if ( buffer[i] != '\n' )
			sequence.push_back( buffer[i] );

} // end BuildMegaVector




