public static void writeResults( File outFile, HashMap<String, HashMap<String, Integer>> outerMap ) throws Exception
	{
		HashSet<String> samples = new HashSet<String>();
		List<Holder> nodes = new ArrayList<Holder>();
		
		for( String s : outerMap.keySet() )
		{
			Holder h= new Holder();
			h.nodeName = s;
			samples.addAll(outerMap.get(s).keySet());
			
			for( int i : outerMap.get(s).values() )
			{
				h.totalNumOfSequences += i;
			}
			
			//if( h.totalNumOfSequences >= 10 && numSamples >= 15)
				nodes.add(h);
		}
		 
		List<String> sampleList = new ArrayList<String>(samples);
		Collections.sort(sampleList);
		Collections.sort(nodes);
		
		BufferedWriter writer = new BufferedWriter(new FileWriter(outFile));
		
		writer.write("samples");
		
		for( Holder h : nodes)
			writer.write("\t" + h.nodeName);
		
		writer.write("\n");
		
		for( String s : sampleList)
		{
			//todo:  Remove this hack...
			writer.write(s.replaceAll("/users/afodor/etreetest/gastro454DataSet/", ""));
			
			for(Holder h : nodes)
			{
				Integer val = null;
				
				HashMap<String, Integer> innerMap = outerMap.get(h.nodeName);
				
				if(  innerMap != null )
					val= innerMap.get(s);
				
				if( val == null)
					writer.write("\t0");
				else
					writer.write("\t" + val);
			}
			
			writer.write("\n");
		}
		
		writer.flush();  writer.close();
	}