private FastqRead readNext() throws IOException { is.mark(10); if (is.read() == -1) return null; else is.reset(); byte[] name = readName(); byte[] bases = readBases(); // skip scores defintion line: '+', new line: is.skip(1 + 1); byte[] scores = Utils.readFully(is, bases.length); // skip new line byte at the end of scores line: is.skip(1); return new FastqRead(bases.length, name, true, indexInSegment, bases, scores); }