calhoun.analysis.crf.features.supporting.phylogenetic
Class RootedBinaryPhylogeneticTree
java.lang.Object
calhoun.analysis.crf.features.supporting.phylogenetic.RootedBinaryPhylogeneticTree
- All Implemented Interfaces:
- java.io.Serializable
public class RootedBinaryPhylogeneticTree
- extends java.lang.Object
- implements java.io.Serializable
- See Also:
- Serialized Form
| Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
T
public java.util.ArrayList<BinaryTreeNode> T
RootedBinaryPhylogeneticTree
public RootedBinaryPhylogeneticTree(java.lang.String ss)
newick
public java.lang.String newick()
summarize_tree
public void summarize_tree()
total_branch_length
public double total_branch_length()
longest_branch_length
public double longest_branch_length()
getNumSpecies
public int getNumSpecies()
getFelsensteinOrder
public PhylogeneticTreeFelsensteinOrder getFelsensteinOrder(java.lang.String[] msaOrder)
- Given an ordering of species in a multiple alignment file,
determine an order for computations by which Felsenstein's algorithm can be performed, and the branch lengths involved at each step.
For example, for the phylogenetic tree
(((cnDT,cnDS),cnAB),(cnBB,cnBV))
and the MSA in the order (0=cnDT,1=cnDS,2=cnAB,3=cnBB,4=cnBV), can compute in this order:
5 = combine(0,1)
6 = combine(2,5)
7 = combine(3,4)
8 = combine(6,7)
and the final answer is at node 8.
The computation for nodes 5-8 can be represented by
ileft = new int[]{0,5,3,6};
iright = new int[]{1,2,4,7};
- Parameters:
msaOrder - the (n) species presented in a multiple alignment, in order of their listing in the file
- Returns:
- an ordering in which the (n-1) recursive calculations for Felsenstein's algorithm can be performed.
subtree
public RootedBinaryPhylogeneticTree subtree(java.lang.String[] sn)
getSpeciesSet
public java.util.Set<java.lang.String> getSpeciesSet()
nSpecies
public int nSpecies()