Make a neighbor joining tree

Section author: Gavin Huttley

An example of how to calculate the pairwise distances for a set of sequences.

from cogent3 import load_aligned_seqs
from cogent3.evolve import distance
from cogent3.phylo import nj

Import a substitution model (or create your own)

from cogent3.evolve.models import get_model

Load the alignment.

al = load_aligned_seqs("data/long_testseqs.fasta")

Create a pairwise distances object calculator for the alignment, providing a substitution model instance.

d = distance.EstimateDistances(al, submodel=get_model("HKY85"))

Now use this matrix to build a neighbour joining tree.

mytree = nj.nj(d.get_pairwise_distances(), show_progress=False)
         |                    /-Human
         |          /edge.0--|
-root----|-edge.1--|          \-HowlerMon
         |         |
         |          \-Mouse

We can save this tree to file.