GitXplorerGitXplorer
D

upgma

public
10 stars
7 forks
0 issues

Commits

List of commits on branch master.
Unverified
8ee3dbc33a7c3589454b70f28f463c112fbaf9f5

Release code under MIT license

DDavidCain committed 11 years ago
Unverified
c5e5ea9f5b525422422bf3a9b292d44f8dc6ede4

Add a README explaining purpose of this code

DDavidCain committed 11 years ago
Unverified
d2586562c142a04814bdc0684b987f40b60f6c93

Remove unneeded accessors

DDavidCain committed 11 years ago
Unverified
8a632627a76866742abac741c428b938be23e5c1

Add original UPGMA implementation

DDavidCain committed 11 years ago

README

The README file for this repository.

UPGMA clustering

This is an efficient implementation of a hierarchical clustering method, UPGMA. UPGMA is used (most commonly) to create phylogenetic trees for use in biological research.

This implementation allows creation of a tree with any arbitrary distance function and member objects. While Python is generally not ideal for a highly optimized data structure, the flexibility allowed by Python and the gains to time complexity motivated me to implement UPGMA clustering myself.

This method has superior time complexity to other implementations (see Gronau I, Moran S (2007) Optimal implementations of UPGMA and other common clustering algorithms, from which this implementation was adapted). Note that one proposed optimization - storing distances in a heap - was not implemented.