public static HashMap<String, HashSet<Integer>>  getFileLineMap( ) throws Exception
	{
		System.out.println("Reading annotations...");
		HashMap<String, HashSet<Integer>> map = new HashMap<String, HashSet<Integer>>();
		
		BufferedReader reader = new BufferedReader(new FileReader( 
				new File(ConfigReader.getCREOrthologsDir() + 
						File.separator + "mmbgd_2015-01_extended.tab")));
		
		for( int x=0; x< 9; x++)
			reader.readLine();

		int lineNumber = 9;
		for(String s= reader.readLine();  s != null; s = reader.readLine())
		{
			
			TabReader tReader =new TabReader(s);
			
			for( int x=0; x < 8; x++)
				tReader.nextToken();
			
			while(tReader.hasMore())
			{
				String next = tReader.nextToken().trim();
				
				if( next.length() >0)
				{
					StringTokenizer innerTokenizer = new StringTokenizer(next);
					
					while( innerTokenizer.hasMoreTokens())
					{
						String key = new StringTokenizer(innerTokenizer.nextToken(), "(").nextToken();
						
						HashSet<Integer> set = map.get(key);
						
						if( set == null)
						{
							set = new HashSet<Integer>();
							map.put(key, set);
						}
						
						set.add(lineNumber);
					}
				}
			}
			
			lineNumber++;
			
			if( lineNumber % 1000 == 0 )
				System.out.println(lineNumber);
				
		}
		
		reader.close();
		return map;
	}