private static HashMap<String, Holder> getHolders() throws Exception
	{
		HashMap<String, Holder> map = new HashMap<String, Holder>();
		
		BufferedReader reader= new BufferedReader(new FileReader(new File(ConfigReader.getSaccharineRatDir() + 
				File.separator + "mergedMapBrayCurtisPCOA.txt")));
		
		reader.readLine();
		
		for(String s = reader.readLine(); s != null; s = reader.readLine())
		{
			StringTokenizer sToken = new StringTokenizer(s, "\t");
			
			sToken.nextToken();sToken.nextToken();sToken.nextToken();
			
			String tissue = sToken.nextToken();
			sToken.nextToken();sToken.nextToken();sToken.nextToken();
			
			String phenotype =sToken.nextToken();
			String cage = sToken.nextToken();
			
			for( int x=0; x < 15; x++)
				sToken.nextToken();
			
			String key = cage + "_" + tissue;
			
			Holder h = map.get(key);
			
			if( h == null)
			{
				h = new Holder();
				h.cage = cage;
				h.tissueType = tissue;
				h.phenotype = phenotype;
				map.put(key,h);
			}
			else
			{
				if( ! h.cage.equals(cage))
					throw new Exception ("NO");
				

				if( ! h.tissueType.equals(tissue))
					throw new Exception ("NO");
				
				if( ! h.phenotype.equals(phenotype))
					throw new Exception ("NO");
			}
			
			h.n++;
			
			for( int x=0; x < NUM_AXES; x++)
				h.data.set(x, h.data.get(x) + Double.parseDouble(sToken.nextToken()));
			
			if( sToken.hasMoreTokens())
				throw new Exception("No");
		}
		
		reader.close();
		
		return map;
	}