private static QueryToBitScore walkToNextLine(BufferedReader reader) throws Exception
	{
		String s= reader.readLine();
		QueryToBitScore queryToScore = null;
		
		while( s != null)
		{
			s = s.trim();
			if(s.startsWith("# Query"))
			{
				StringTokenizer sToken = new StringTokenizer(s);
				sToken.nextToken(); sToken.nextToken();
				queryToScore = new QueryToBitScore();
				queryToScore.query = sToken.nextToken();
				
				if(sToken.hasMoreTokens())
					throw new Exception("Unexpected token " + sToken.nextToken());
			}
			else if( s.endsWith("0 hits found"))
			{
				queryToScore.bitScore =0;
				return queryToScore;
			}
			else if( s.endsWith("hits found"))
			{
				s = reader.readLine();
				StringTokenizer sToken = new StringTokenizer(s);
				
				if( ! sToken.nextToken().equals(queryToScore.query))
					throw new Exception("Expecting query " + queryToScore.query + " " +s);
				
				for( int x=0; x < 10; x++)
					sToken.nextToken();
				
				queryToScore.bitScore = Float.parseFloat(sToken.nextToken());
				
				if( sToken.hasMoreTokens())
					throw new Exception("Unexpected token " + sToken.nextToken());
				
				return queryToScore;
			}
			
			s = reader.readLine();
		}
		
		return queryToScore;
	}