public static HashMap<String, List<RawDesignMatrixParser>> getByLastTwoTokens() throws Exception
	{
		List<String> headers = getTaxaIds();
		HashMap<String, List<RawDesignMatrixParser>> map = new HashMap<String, List<RawDesignMatrixParser>>();
		
		BufferedReader reader = new BufferedReader(new FileReader(ConfigReader.getMbqcDir() + File.separator + 
				"dropbox" + File.separator + 
				"raw_design_matrix.txt"));
		
		reader.readLine();
		
		for(String s = reader.readLine(); s != null; s = reader.readLine())
		{
			String[] splits = s.split("\t");
		
			StringTokenizer sToken = new StringTokenizer(splits[0], ".");
			sToken.nextToken();
			String key = sToken.nextToken() + "." + sToken.nextToken();
			
			List<RawDesignMatrixParser> list = map.get(key);
			
			if( list == null)
			{
				list= new ArrayList<RawDesignMatrixParser>();
				map.put(key, list);
			}
			
			list.add(new RawDesignMatrixParser(splits,headers));
			
		}
		
		for(String s : map.keySet())
		{
			List<RawDesignMatrixParser> list = map.get(s);
			String mbqcID = null;
			String wetlabSequencigID = null;
			
			for(RawDesignMatrixParser rdmp : list)
			{
				if(mbqcID ==null)
					mbqcID = rdmp.mbqcID;
				
				if( wetlabSequencigID == null)
					wetlabSequencigID = rdmp.extractionWetlab;
				
				if( ! mbqcID.equals(rdmp.mbqcID))
					throw new Exception("No");
				
				if( ! wetlabSequencigID.equals(rdmp.extractionWetlab))
					throw new Exception("No");
			}
		}
		
		return map;
	}