Phylo cookbook

(Difference between revisions)
Jump to: navigation, search
(Consensus methods: two more method ideas)
(Consensus methods: Pub links for the latter two)
Line 6: Line 6:
  
 
* Majority-rules consensus
 
* Majority-rules consensus
* Adams
+
* Adams ([http://www.faculty.biol.ttu.edu/Strauss/Phylogenetics/Readings/Adams1972.pdf Adams 1972])
* (asymmetric) median tree
+
* Asymmetric median tree ([http://www.springerlink.com/content/y1x70058822qg257/ Phillips and Warnow 1996])
 +
 
 +
==Comparing trees==
  
 
==Rooting methods==
 
==Rooting methods==

Revision as of 02:36, 26 June 2010

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

Contents

Consensus methods

TODO:

Comparing trees

Rooting methods

TODO:

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


Graphics

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

TODO:

  • Convert objects directly, preserving some PhyloXML annotations if possible


Convert to a NumPy array or matrix

TODO:

  • 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
Namespaces
Variants
Actions
Navigation
Toolbox