private static void normalizeMap( HashMap<String, Holder> map ) throws Exception
	{
		// key is sampleID
		HashMap<String, Double> countMap = new HashMap<String, Double>();
		
		for( String taxaId : map.keySet())
		{
			addCountsToMap(countMap, map.get(taxaId).caseMap, taxaId);
			addCountsToMap(countMap, map.get(taxaId).controlMap, taxaId);
		}
		
		for( String taxaId : map.keySet())
		{
			for(String s : map.get(taxaId).caseMap.keySet())
			{
				double oldVal = map.get(taxaId).caseMap.get(s);
				oldVal = oldVal / countMap.get(s);
				map.get(taxaId).caseMap.put(s, oldVal);
			}
			
			for(String s : map.get(taxaId).controlMap.keySet())
			{
				double oldVal = map.get(taxaId).controlMap.get(s);
				oldVal = oldVal / countMap.get(s);
				map.get(taxaId).controlMap.put(s, oldVal);
			}
		}
		
		countMap = new HashMap<String, Double>();
		for( String taxaId : map.keySet())
		{
			addCountsToMap(countMap, map.get(taxaId).caseMap, taxaId);
			addCountsToMap(countMap, map.get(taxaId).controlMap, taxaId);
		}
		
		for( Double d : countMap.values())
			if( Math.abs(d - 1) > 0.0001)
				throw new Exception("No");
	}