Make a UPGMA cluster#
Section author: Catherine Lozupone
Note
These docs now use the new_type
core objects via the following setting.
import os
# using new types without requiring an explicit argument
os.environ["COGENT3_NEW_TYPE"] = "1"
An example of how to calculate the pairwise distances for a set of sequences.
Note
UPGMA should not be used for phylogenetic reconstruction.
from cogent3 import load_aligned_seqs
from cogent3.cluster.UPGMA import upgma
from cogent3.evolve import distance
Import a substitution model (or create your own)
from cogent3.evolve.models import HKY85
Load the alignment.
al = load_aligned_seqs("data/test.paml", moltype="dna")
Create a pairwise distances object calculator for the alignment, providing a substitution model instance.
d = distance.EstimateDistances(al, submodel=HKY85())
d.run(show_progress=False)
Now use this matrix to build a UPGMA cluster.
mycluster = upgma(d.get_pairwise_distances())
print(mycluster.ascii_art())
/-DogFaced
|
/edge.0--| /-HowlerMon
| | /edge.2--|
| \edge.1--| \-Human
-root----| |
| \-NineBande
|
\-Mouse
We demonstrate saving this UPGMA cluster to a file.
mycluster.write("test_upgma.tree")