2008 | OriginalPaper | Buchkapitel
Accelerating the Neighbor-Joining Algorithm Using the Adaptive Bucket Data Structure
verfasst von : Leonid Zaslavsky, Tatiana A. Tatusova
Erschienen in: Bioinformatics Research and Applications
Verlag: Springer Berlin Heidelberg
Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.
Wählen Sie Textabschnitte aus um mit Künstlicher Intelligenz passenden Patente zu finden. powered by
Markieren Sie Textabschnitte, um KI-gestützt weitere passende Inhalte zu finden. powered by
The complexity of the neighbor joining method is determined by the complexity of the search for an optimal pair (”neighbors to join”) performed globally at each iteration. Accelerating the neighbor-joining method requires performing a smarter search for an optimal pair of neighbors, avoiding re-evaluation of all possible pairs of points at each iteration.
We developed an acceleration technique for the neighbor-joining method that significantly decreases complexity for important applications without any change in the neighbor-joining method. This technique utilizes the bucket data structure. The pairs of nodes are arranged in buckets according to values of the goal function
δ
ij
=
u
i
+
u
j
−
d
ij
. Buckets are adaptively re-arranged after each neighbor-joining step. While the pairs of nodes in the top bucket are re-evaluated at every iteration, pairs in lower buckets are accessed more rarely, when the algorithm determines that the elements of the bucket need to be re-evaluated based on new values of
δ
ij
. As a result, only a small portion of candidate pairs of nodes is examined at each iteration.
The algorithm is cache efficient, since the bucket data structures are able to exploit locality and adjust to cache properties.