public static HashMap<Integer, List<Double>> getMap() throws Exception
	{
		HashMap<Integer, List<Double>> map = new HashMap<Integer, List<Double>>();
		
		BufferedReader reader = new BufferedReader(new FileReader(
				new File(ConfigReader.getChinaDir() + File.separator + 
						"metabolites" + File.separator + 
						"for_anthony.txt")));
		
		String[] splits = reader.readLine().split("\t");
		
		int startIndex = getIndex(splits, "As_water");
		int endIndex = getIndex( splits, "As_Toenail");
		
		for(String s= reader.readLine(); s != null; s = reader.readLine())
		{
			TabReader tReader = new TabReader(s);
			
			Integer id = Integer.parseInt(tReader.nextToken());
			for( int x=1;x  < startIndex; x++)
				tReader.nextToken();
			
			List<Double> list = new ArrayList<Double>();
			
			for( int x= startIndex; x <= endIndex; x++)
			{
				String token = tReader.nextToken();
				
				if( token.trim().length() > 0 )
					list.add(Double.parseDouble(token));
				else
					list.add(null);
				
			}
			
			List<Double> oldList = map.get(id);
			
			if( oldList == null)
			{
				map.put(id, list);
			}
			else
			{
				if( ! oldList.equals(list))
				{
					System.out.println(oldList);
					System.out.println(list);
					throw new Exception("No");

				}
			}
		}
		
		reader.close();
		return map;
	}