next up previous
Next: Maximum Likelihood Up: Distance Matrix Methods Previous: UPGMA

     
Neighbor Joining

The Neighbor-Joining algorithm is another quick clustering technique, which attempts to approximate the least squares tree, this time without resorting to the assumption of a molecular clock. The idea here is to join clusters that are not only close to one another, but are also far from the rest. In each iteration, the algorithm attempts to find the direct ancestor of two sepcies in the tree. For node i, its distance ui from the rest of the tree is estimated using the formula: $u_i = \sum_{k \neq i}^{} \frac{D_{ik}}{(n-2)}$. In order to minimize the sum of all branch lengths, also known as the minimum-evolution criterion, the nodes i and j that are clustered next are those for which Dij - ui - uj is smallest (the reader is reffered to [9] for a more elaborate explanation on this issue). The lengths dk,(ij) of the new branches are calculated by solving the same system of linear equations mentioned earlier in section 9.4.1. The solutions are written below, in equations 9.8 and 9.9. Neighbor-Joining has a running time of O(n2), like UPGMA.

Neighbor-Joining algorithm [11]:
  
Figure 9.9: A clocklike tree, showing the clustering (ab) of the two nodes a and b by UPGMA and by the Neighbor-Joining algorithm.

\fbox{\epsfig{figure=lec09_figs/clocktree.ps}}






next up previous
Next: Maximum Likelihood Up: Distance Matrix Methods Previous: UPGMA
Itshack Pe`er
1999-02-18