private static HashMap<String, HashMap<String, Double>> getMap() throws Exception
	{
		BufferedReader reader = new BufferedReader(new FileReader(ConfigReader.getMbqcDir() + File.separator + 
				"dropbox" + File.separator + 
				"raw_design_matrix.txt"));
		
		HashMap<String, HashMap<String, Double>>  map =new LinkedHashMap<String, HashMap<String,Double>>();
		
		List<String> taxa = new ArrayList<String>();
		String[] headerSplits = reader.readLine().split("\t");
		
		int x=4;
		
		while(headerSplits[x].startsWith("k__"))
		{
			taxa.add(getPhyla(headerSplits[x]));
			x++;
		}
		
		x+=2;
		
		for(String s = reader.readLine(); s!= null; s= reader.readLine())
		{
			//System.out.println(s);
			String[] splits = s.split("\t");
			
			HashMap<String, Double> innerMap = map.get(splits[0]);
			if( innerMap == null)
			{
				innerMap = new HashMap<String, Double>();
				map.put(splits[0], innerMap);
			}

			for(int y=0; y < taxa.size(); y++)
			{
				String thisTaxa = taxa.get(y);
				if( innerMap.containsKey(thisTaxa) )
					throw new Exception("Unexpected duplicate " + s);
				
				if( ! splits[y+4].equals("NA"))
					innerMap.put(thisTaxa, Double.parseDouble(splits[y+4]));
			}
		} 
		
		reader.close();
		return map;
	}