private static HashMap<String, List<Integer>> getPhlyaCounts(BufferedReader reader) throws Exception
	{
		HashMap<String, List<Integer>> map = new HashMap<String, List<Integer>>();
		
		
		for(String s= reader.readLine(); s != null;  s= reader.readLine())
		{
			StringTokenizer sToken = new StringTokenizer(s, "\t");
			String key = getPhylaOrNull(sToken.nextToken());
			
			if( key != null)
			{
				List<Integer> newList = new ArrayList<Integer>();
				
				while( sToken.hasMoreTokens())
					newList.add(new Integer(sToken.nextToken()));
				
				List<Integer> oldList = map.get(key);
				
				if( oldList != null)
				{
					if( oldList.size() != newList.size())
						throw new Exception("No");
					
					for( int x=0; x < oldList.size(); x++)
						newList.set(x, newList.get(x) + oldList.get(x));
				}
				
				map.put(key, newList);
			}
		}
		
		return map;
	}