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

   
Neighbor Joining

The Neighbor-Joining algorithm is another quick clustering technique, which attempts to approximate the least squares tree, this time relying strongly on the additivity (and its implied corollaries) but 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 species 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_{i,k}}{(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 Di,j - ui - uj is smallest as can see in figure 8.10 (the reader is referred to [11] 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 8.3.1. The solutions are written below, in equations 8.8 and 8.9. Neighbor-Joining has a running time of O(n2), like UPGMA.

Neighbor-Joining algorithm [14]:


  
Figure 8.10: Di,j - ui - uj is the smallest, which means they are close to one anather and far from the rest of the tree, therefore the neighbor-joining algorithm will cluster them together.
lec08_figs/neighborjoin.ps


next up previous
Next: Maximum Likelihood Up: Distance Based Methods Previous: UPGMA
Peer Itsik
2001-01-01