Make a neighbor joining treeΒΆ

Section author: Gavin Huttley

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

>>> from cogent import LoadSeqs
>>> from cogent.phylo import distance, nj

Import a substitution model (or create your own)

>>> from cogent.evolve.models import HKY85

Load the alignment.

>>> al = LoadSeqs("data/long_testseqs.fasta")

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

>>> d = distance.EstimateDistances(al, submodel= HKY85())
>>> d.run()

Now use this matrix to build a neighbour joining tree.

>>> mytree = nj.nj(d.getPairwiseDistances())

We can visualise this tree by print mytree.asciiArt(), which generates the equivalent of:

                    /-Human
          /edge.0--|
         |          \-HowlerMon
         |
-root----|          /-NineBande
         |-edge.1--|
         |          \-DogFaced
         |
          \-Mouse

We can save this tree to file.

>>> mytree.writeToFile('test_nj.tree')