  The Neighbor-Joining algorithm is a recursive procedure for reconstructing
trees that is based on a transformation of pairwise distances between leaves.
We present a generalization of the neighbor-joining transformation, which uses
estimates of phylogenetic diversity rather than pairwise distances in the tree.
This leads to an improved neighbor-joining algorithm whose total running time
is still polynomial in the number of taxa. On simulated data, the method
outperforms other distance-based methods.
  We have implemented neighbor-joining for subtree weights in a program called
MJOIN which is freely available under the Gnu Public License at
http://bio.math.berkeley.edu/mjoin/ .
