English

The Neighbor-Net Algorithm

Combinatorics 2008-05-13 v2 Quantitative Methods

Abstract

The neighbor-joining algorithm is a popular phylogenetics method for constructing trees from dissimilarity maps. The neighbor-net algorithm is an extension of the neighbor-joining algorithm and is used for constructing split networks. We begin by describing the output of neighbor-net in terms of the tessellation of \MMˉ0n(R)\bar{\MM}_{0}^n(\mathbb{R}) by associahedra. This highlights the fact that neighbor-net outputs a tree in addition to a circular ordering and we explain when the neighbor-net tree is the neighbor-joining tree. A key observation is that the tree constructed in existing implementations of neighbor-net is not a neighbor-joining tree. Next, we show that neighbor-net is a greedy algorithm for finding circular split systems of minimal balanced length. This leads to an interpretation of neighbor-net as a greedy algorithm for the traveling salesman problem. The algorithm is optimal for Kalmanson matrices, from which it follows that neighbor-net is consistent and has optimal radius 1/2. We also provide a statistical interpretation for the balanced length for a circular split system as the length based on weighted least squares estimates of the splits. We conclude with applications of these results and demonstrate the implications of our theorems for a recently published comparison of Papuan and Austronesian languages.

Keywords

Cite

@article{arxiv.math/0702515,
  title  = {The Neighbor-Net Algorithm},
  author = {Dan Levy and Lior Pachter},
  journal= {arXiv preprint arXiv:math/0702515},
  year   = {2008}
}