Phylo cookbook

(Difference between revisions)
Jump to: navigation, search
(Added to the Cookbook category)
(Added a Graphics section)
Line 14: Line 14:
* Root with the given outgroup (terminal or nonterminal)
* Root with the given outgroup (terminal or nonterminal)
* Party tricks with <code>draw_graphviz</code>, covering each keyword argument
==Exporting to other types==
==Exporting to other types==

Revision as of 16:04, 25 June 2010

Here are some examples of using Bio.Phylo for some likely tasks. Some of the given functions might be added to Biopython in a later release, but you can use them in your own code with Biopython 1.54.


Consensus methods


  • Majority-rules consensus

Rooting methods


  • Root at the midpoint between the two most distant nodes (or "center" of all tips)
  • Root with the given outgroup (terminal or nonterminal)


  • TODO:*
  • Party tricks with draw_graphviz, covering each keyword argument

Exporting to other types

Convert to a PyCogent tree

The tree objects used by Biopython and PyCogent are different. Nonetheless, both toolkits support the Newick file format, so interoperability is straightforward at that level:

from Bio import Phylo
import cogent
Phylo.write(bptree, 'mytree.nwk', 'newick')  # Biopython tree
ctree = cogent.LoadTree('mytree.nwk')        # PyCogent tree


  • Convert objects directly, preserving some PhyloXML annotations if possible

Convert to a NumPy array or matrix


  • Adjacency matrix: cells are True if parent-child relationship exists, otherwise False
  • Distance matrix: cells are branch lengths if a branch exists, otherwise Inf or NaN
  • Relationship matrix? See Martins and Housworth 2002
Personal tools