public void writePairedNodeInformation( String filepath ) throws Exception
	{
		BufferedWriter writer = new BufferedWriter(new FileWriter(new File(filepath)));
		
		writer.write("nodeA\tnodeB\tparentA\tparentB\tnodeLevel\tsameParents\tleastCommonDistnace\talignmentDistance\talignmentDistanceMinusPredictedDistance\tnumSequencesA\tnumSequencesB\tmaxTreeSeqsA\tmaxTreeSeqsB\ttotalSeqs\n");
		
		List<ENode> list = getAllNodes();
		
		for( int x=0; x < list.size()-1; x++)
		{
			System.out.println("Writing outer node " + x + " Of " + list.size());
			ENode aNode = list.get(x);
			
			if( aNode.getParent() != null && ! aNode.getParent().getNodeName().equals(ROOT_NAME)) 
				for( int y=x+1; y <list.size(); y++)
				{
					ENode bNode = list.get(y);
					
					if( bNode.getParent() != null && ! bNode.getParent().getNodeName().equals(ROOT_NAME) &&
							aNode.getLevel() == bNode.getLevel()) 
						{
							writer.write( aNode.getNodeName() + "\t" );
							writer.write( bNode.getNodeName() + "\t" );
							writer.write( aNode.getParent().getNodeName() + "\t");
							writer.write( bNode.getParent().getNodeName() + "\t");
							writer.write( aNode.getLevel()+ "\t");
							writer.write(aNode.getParent().getNodeName().equals(bNode.getParent().getNodeName()) + "\t");
							writer.write( getLeastCommonDistance(aNode, bNode) + "\t");
							ProbSequence probSeq = ProbNW.align(aNode.getProbSequence(), bNode.getProbSequence());
							writer.write(probSeq.getAverageDistance() + "\t");
							writer.write((probSeq.getAverageDistance() - aNode.getLevel()) + "\t" );
							writer.write( aNode.getProbSequence().getNumRepresentedSequences() + "\t");
							writer.write( bNode.getProbSequence().getNumRepresentedSequences() + "\t");
							writer.write( aNode.getMaxNumberOfSeqsInBranch() + "\t");
							writer.write( bNode.getMaxNumberOfSeqsInBranch()+ "\t");
							
							int totalNum = aNode.getProbSequence().getNumRepresentedSequences() + 
									bNode.getProbSequence().getNumRepresentedSequences();
							writer.write(totalNum + "\n");
						}
				}
			writer.flush();
		}
		
		writer.flush();  writer.close();
	}