Distance Matrix & Neighbor-Joining Tree
Compute pairwise evolutionary distances and build a tree using the Neighbor-Joining algorithm (Saitou & Nei, 1987).
Maximum Likelihood Evaluation
Evaluate the log-likelihood of a tree topology given sequence data under a substitution model. Branch lengths are optimized.
Maximum Parsimony Search
Find the tree requiring the fewest evolutionary changes using Wagner parsimony with stepwise addition and SPR rearrangements.
The Felsenstein Zone: Long Branch Attraction
Simulate DNA evolution on a 4-taxon tree and compare parsimony vs. maximum likelihood. When two unrelated lineages evolve rapidly, parsimony is "positively misleading" — more data makes it more confident in the wrong answer (Felsenstein, 1978).
True tree: ((A:long, B:short):internal, (C:short, D:long))
Bootstrap Confidence & Consensus
Resample alignment columns with replacement, build NJ trees for each replicate, and construct a majority-rule consensus tree showing branch support values.