private static List<String> getPhylaHeaders(String firstLine) throws Exception
	{
		List<String> list = new ArrayList<String>();
		
		String[] splits = firstLine.split("\t");
		
		for( int x=0; x < splits.length; x++)
		{
			if( splits[x].startsWith("k__") && splits[x].indexOf("unclassified") ==-1 )
			{
				StringTokenizer sToken = new StringTokenizer(splits[x] , ".");
				sToken.nextToken();
				String val = sToken.nextToken();
				
				if( val.trim().length() ==0 )
					val = sToken.nextToken();
				
				if( ! val.startsWith("p__"))
					throw new Exception("Parsing error " + splits[x] + " " + val);

				val = val.replace("p__", "");
				
				// just for k__Bacteria.p__.Thermi. which is a column header in the spreadsheet
				if( val.trim().length() ==0 )
					val = sToken.nextToken();
				
				list.add(val);
			}
			else
			{
				list.add(null);
			}
		}
		
		return list;
	}