Phylo cookbook
(Difference between revisions)
EricTalevich (Talk | contribs) (Started a cookbook page with some ideas) |
EricTalevich (Talk | contribs) (Added to the Cookbook category) |
||
| Line 41: | Line 41: | ||
* Distance matrix: cells are branch lengths if a branch exists, otherwise Inf or NaN | * Distance matrix: cells are branch lengths if a branch exists, otherwise Inf or NaN | ||
* Relationship matrix? See [http://www.jstor.org/stable/3070822 Martins and Housworth 2002] | * Relationship matrix? See [http://www.jstor.org/stable/3070822 Martins and Housworth 2002] | ||
| + | |||
| + | [[Category:Cookbook]] | ||
Revision as of 16:01, 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.
Contents |
Consensus methods
TODO:
- Majority-rules consensus
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)
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