Creating a neighbour joining tree.
Project description
This repository stores a basic implementation for creating a neighbour joining tree from a given distance or similarity matrix.
Generating a distance matrix (A good way to do this is to use sklearn.DistanceMetrics with real data):
from sklearn.neighbors import DistanceMetric
dist = DistanceMetric.get_metric('euclidean')
X = [[0, 1, 2],
[3, 4, 5],
[2, 3, 1],
[0, 2, 1]]
dist_mat = dist.pairwise(X)
Now that we have our distance matrix, we can now use it to construct a neighbour joining tree, giving some labels for the different samples:
import numpy
import TreeMethods.TreeBuild as TB
tree = TB.njTree(dist_mat, numpy.array(['A', 'B', 'C', 'D']))
We can then use ete3 to construct this into a tree object:
from ete3 import Tree
tree = Tree(tree)
print(tree)
/-B
|
| /-D
--|--|
| \-A
|
\-C
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
TreeMethods-1.0.3.tar.gz
(3.5 kB
view hashes)
Built Distribution
Close
Hashes for TreeMethods-1.0.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b317f4a3e78e02143b971fd2fad5ab8171e84fc57980773c4366e28497da90f4 |
|
MD5 | ed3741ca21a46580e1fd578035450eee |
|
BLAKE2b-256 | 1562854233be901bdcfeb6098553025312e7671ef2577eb9e5ccee81b0245241 |