Phylo cookbook
From Biopython
Revision as of 02:36, 26 June 2010 by EricTalevich (Talk | contribs)
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:
- Majority-rules consensus
- Adams (Adams 1972)
- Asymmetric median tree (Phillips and Warnow 1996)
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