need to actualy yield the read back
more efficient version that only clears the buffer when needed and allows for larger buffers
even more efficient version that just loads up one array covering an entire chromosome as a buffer... max memory will be ~ 250-500MB (chr1 is ~250Mb)