Phylo cookbook
(Difference between revisions)
EricTalevich (Talk | contribs) (→Consensus methods: two more method ideas) |
EricTalevich (Talk | contribs) (→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 ([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:
- 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