Speciation Genomics · PB 495/595 Plant Evolutionary Biology
5 October 2026
By the end you should be able to:
Baobabs: ASTRAL tree from 357 nuclear gene trees; data and traits from Karimi et al. (2020).
Placing a root r on the internal branch gives one rooted tree: \(((A,B),(C,D))\).
Root on the branch to A instead and the same unrooted tree reads \((A,(B,(C,D)))\). An unrooted four-taxon tree has five branches, so five possible rootings — the outgroup picks one.
From sequences to a supported tree — model choices enter at every step:
Distance methods (e.g. neighbor-joining): reduce sequences to pairwise distances, build a tree by clustering. Fast, but limitations beyond populations or closely related species.
Parsimony: choose the tree minimizing the number of changes. Intuitive, but can fail under various scenarios such as high rates of evolution (“long-branch attraction”).
Parsimony built the first broad molecular trees of plants: 475 and 499 seed-plant sequences of the plastid gene rbcL (Chase et al. 1993).
Toy alignment: 5 taxa, 17 sites.
A GAACCGGTTACGGGTCT
B GAACCCAGTAGGGGGCT
C AGCGCGGGTCCGAGGCG
D GACGAGGGGCCAGGGGT
E GACGCGGGGCCAGTGCT
The distance between two sequences is simply how many sites differ:
A GAACCGGTTACGGGTCT
B GAACCCAGTAGGGGGCT
*** * * <- 5 sites differ
So \(d(A,B)=5\). In real data we divide by the alignment length and correct for sites that changed more than once (the Jukes–Cantor correction, later in this deck). In this toy every change happened once, so a plain count is enough.
Counting differences for all 10 pairs gives one table:
| A | B | C | D | E | Total | |
|---|---|---|---|---|---|---|
| A | – | 5 | 9 | 9 | 8 | 31 |
| B | 5 | – | 10 | 10 | 9 | 34 |
| C | 9 | 10 | – | 8 | 7 | 34 |
| D | 9 | 10 | 8 | – | 3 | 30 |
| E | 8 | 9 | 7 | 3 | – | 27 |
Total = add up a row: how far that taxon is from all the others.
Goal: a tree whose branch lengths, added along the path between two tips, give back these distances.
Plan: find two taxa that are neighbors (they sit next to each other on the tree), merge them into one new node, shrink the table, and repeat.
The closest pair is not always the right one. Two taxa can look close just because everyone is close to everyone, or look far apart just because each sits on a long branch. So NJ adjusts each distance for how far the two taxa are from the rest:
\[ \text{score}(i,j) = (n-2)\times d(i,j) - \text{total}(i) - \text{total}(j) \]
Here \(n\) is the number of taxa still in the table (5 now, so \(n-2=3\)). The lowest score wins: a small distance helps, and so does being far from everyone else.
| Pair | Distance | Totals | Score |
|---|---|---|---|
| D–E | 3 | 30, 27 | \(3\times3-30-27=-48\) |
| A–B | 5 | 31, 34 | \(3\times5-31-34=\mathbf{-50}\) |
D–E is the closest pair, but A and B are each much farther from C, D and E than from each other, so A–B scores lower.
Distances
| A | B | C | D | E | |
|---|---|---|---|---|---|
| A | – | 5 | 9 | 9 | 8 |
| B | 5 | – | 10 | 10 | 9 |
| C | 9 | 10 | – | 8 | 7 |
| D | 9 | 10 | 8 | – | 3 |
| E | 8 | 9 | 7 | 3 | – |
Scores (\(3d-\text{totals}\))
| A | B | C | D | E | |
|---|---|---|---|---|---|
| A | – | −50 | −38 | −34 | −34 |
| B | −50 | – | −38 | −34 | −34 |
| C | −38 | −38 | – | −40 | −40 |
| D | −34 | −34 | −40 | – | −48 |
| E | −34 | −34 | −40 | −48 | – |
Totals: A 31, B 34, C 34, D 30, E 27. For example, A–C: \(3\times9-31-34=-38\).
The lowest score is A–B (\(-50\)): join A and B into a new node, u.
A and B are 5 apart, so (A’s branch) + (B’s branch) = 5. How do we split it?
Every path from A or B to any other taxon goes through \(u\). So if B is farther from the others than A is, the extra distance must be on B’s own branch.
\[ \text{A's branch} = 2, \qquad \text{B's branch} = 3 \]
In one line: \(\text{A's branch} = \tfrac12\left[d(A,B) + \dfrac{\text{total}(A)-\text{total}(B)}{n-2}\right] = \tfrac12\left[5 + \dfrac{31-34}{3}\right] = 2\)
How far is \(u\) from C? Both A and B give an answer: take their distance to C and remove their own branch.
The two agree (they always do when distances come from a tree). The same for D and E:
| via A | via B | \(u\) to it | |
|---|---|---|---|
| C | 9 − 2 = 7 | 10 − 3 = 7 | 7 |
| D | 9 − 2 = 7 | 10 − 3 = 7 | 7 |
| E | 8 − 2 = 6 | 9 − 3 = 6 | 6 |
A and B are now replaced by \(u\) (distances among C, D, E don’t change):
| u | C | D | E | Total | |
|---|---|---|---|---|---|
| u | – | 7 | 7 | 6 | 20 |
| C | 7 | – | 8 | 7 | 22 |
| D | 7 | 8 | – | 3 | 18 |
| E | 6 | 7 | 3 | – | 16 |
Distances
| u | C | D | E | |
|---|---|---|---|---|
| u | – | 7 | 7 | 6 |
| C | 7 | – | 8 | 7 |
| D | 7 | 8 | – | 3 |
| E | 6 | 7 | 3 | – |
Scores (\(2d-\text{totals}\))
| u | C | D | E | |
|---|---|---|---|---|
| u | – | −28 | −24 | −24 |
| C | −28 | – | −24 | −24 |
| D | −24 | −24 | – | −28 |
| E | −24 | −24 | −28 | – |
Now \(n=4\), so we multiply by \(n-2=2\). Totals: u 20, C 22, D 18, E 16. For example, D–E: \(2\times3-18-16=-28\).
A tie: u–C and D–E both score \(-28\). With four nodes they describe the same unrooted tree, so either is fine. We join D and E into a new node, w.
Branch lengths. D and E are 3 apart. Their totals are 18 and 16, a difference of 2 spread over the other 2 nodes: \(2\div2=1\). So D’s branch is 1 longer than E’s, and they add to 3:
\[\text{D's branch} = 2,\qquad \text{E's branch} = 1\]
Distances from \(w\). Take a distance and remove the branch:
New table (3 nodes):
| u | C | w | |
|---|---|---|---|
| u | – | 7 | 5 |
| C | 7 | – | 6 |
| w | 5 | 6 | – |
Three nodes can only be joined one way: each hangs off a single central point.
\[ (\text{u's branch}) + (\text{C's branch}) = 7,\quad (\text{u's branch}) + (\text{w's branch}) = 5,\quad (\text{C's branch}) + (\text{w's branch}) = 6 \]
To get C’s branch: add C’s two distances (7 and 6) and subtract the u–w distance (5). That counts C’s branch twice and cancels u’s and w’s, so halve it:
\[ \text{C's branch} = \tfrac12(7+6-5) = 4,\qquad \text{u's branch} = \tfrac12(7+5-6) = 3,\qquad \text{w's branch} = \tfrac12(5+6-7) = 2 \]
Every branch now has a length.
\[(\,C{:}4,\ (A{:}2,\,B{:}3){:}3,\ (D{:}2,\,E{:}1){:}2\,)\]
Check: add up the branches on the path between two tips and compare with the table.
| Pair | Path | Sum | Table |
|---|---|---|---|
| A–B | 2 + 3 | 5 | 5 |
| A–C | 2 + 3 + 4 | 9 | 9 |
| A–D | 2 + 3 + 2 + 2 | 9 | 9 |
| A–E | 2 + 3 + 2 + 1 | 8 | 8 |
| B–C | 3 + 3 + 4 | 10 | 10 |
| Pair | Path | Sum | Table |
|---|---|---|---|
| B–D | 3 + 3 + 2 + 2 | 10 | 10 |
| B–E | 3 + 3 + 2 + 1 | 9 | 9 |
| C–D | 4 + 2 + 2 | 8 | 8 |
| C–E | 4 + 2 + 1 | 7 | 7 |
| D–E | 2 + 1 | 3 | 3 |
All ten match, because these distances came from a tree.
⟹ This approach is usually appropriate for populations or closely-related species.
Roll a fair 10-sided die twice.
AND — multiply (independent events)
A 1 on the first roll and a 2 on the second?
\[\Pr\{1 \text{ and } 2\} = \tfrac{1}{10}\times\tfrac{1}{10} = \tfrac{1}{100}\]
OR — add (mutually exclusive events)
A 1 or a 2 on one roll?
\[\Pr\{1 \text{ or } 2\} = \tfrac{1}{10}+\tfrac{1}{10} = \tfrac{1}{5}\]
Every likelihood on a tree is built from these two rules: multiply along a history, add over the histories we can’t observe.
I rolled 2, 1, 1, 4. Is that surprising?
\[\Pr\{2,1,1,4 \mid \text{10-sided die}\} = \left(\tfrac{1}{10}\right)^4 = \tfrac{1}{10\,000}\]
Maybe I used a 4-sided die. Is that less surprising?
\[\Pr\{2,1,1,4 \mid \text{4-sided die}\} = \left(\tfrac{1}{4}\right)^4 = \tfrac{1}{256}\]
The die is the model. Probability fixes the model and asks about data; likelihood fixes the data and compares models.
The likelihood of a model is the probability of the observed data under it:
\[ \begin{aligned} L(\text{4-sided die}) &= f(X \mid \text{4-sided die}) = \prod_{h=1}^{N} f(x_h \mid \text{4-sided die}) \\[4pt] L(\theta) &= f(X \mid \theta) = \prod_{h=1}^{N} f(x_h \mid \theta) \end{aligned} \]
\[\log(x\times y) = \log x + \log y \quad\Longrightarrow\quad \ell(\theta) = \log L(\theta) = \sum_{h=1}^{N}\log f(x_h\mid\theta)\]
| Model | \(\Pr\{2,1,1,4\}\) | \(\log\Pr\) |
|---|---|---|
| 10-sided die | \(1/10\,000\) | \(-9.21\) |
| 4-sided die | \(1/256\) | \(-5.55\) |
The log-likelihood is maximized by the model that surprises us the least.
One alignment column: tips A, T, T. Suppose both ancestors were A. By the AND rule:
\[ \Pr = \pi_A \cdot P_{AA}(v_1)\cdot P_{AA}(v_2)\cdot P_{AT}(v_3)\cdot P_{AT}(v_4) \]
\(P_{ij}(v)\) = probability that state \(i\) becomes \(j\) along a branch of length \(v\).
\[ \Pr = \bbox[#FBE3E3,3px]{\pi_A} \cdot P_{AA}(v_1)\cdot P_{AA}(v_2)\cdot P_{AT}(v_3)\cdot P_{AT}(v_4) \]
The probability that the root is in state A: the equilibrium (stationary) frequency of A.
\[ \Pr = \pi_A \cdot \bbox[#FBE3E3,3px]{P_{AA}(v_1)}\cdot P_{AA}(v_2)\cdot P_{AT}(v_3)\cdot P_{AT}(v_4) \]
Start as A, still A after \(v_1\).
\[ \Pr = \pi_A \cdot P_{AA}(v_1)\cdot \bbox[#FBE3E3,3px]{P_{AA}(v_2)}\cdot P_{AT}(v_3)\cdot P_{AT}(v_4) \]
\[ \Pr = \pi_A \cdot P_{AA}(v_1)\cdot P_{AA}(v_2)\cdot \bbox[#FBE3E3,3px]{P_{AT}(v_3)}\cdot P_{AT}(v_4) \]
\[ \Pr = \underbrace{\pi_A}_{\text{equilibrium}} \cdot \underbrace{P_{AA}(v_1)\, P_{AA}(v_2)\, P_{AT}(v_3)\, \bbox[#FBE3E3,3px]{P_{AT}(v_4)}}_{\text{transition probabilities}} \]
Both come from the substitution model.
Ancestral states are unobserved. So we add (the OR rule) over every state they could have had:
\[ L = \sum_{x}\sum_{y}\pi_x\,P_{xA}(v_1)\,P_{xy}(v_2)\,P_{yT}(v_3)\,P_{yT}(v_4) \]
\(x\) = root state, \(y\) = internal-node state, each \(\in\{A,C,G,T\}\).
\(\pi_A P_{AA}P_{AA}P_{AT}P_{AT}\)
\(\pi_A P_{AA}P_{AC}P_{CT}P_{CT}\)
\(\pi_G P_{GA}P_{GT}P_{TT}P_{TT}\)
Each choice of ancestral states is one history; its probability is a product. The site likelihood is the sum over all of them.
With \(n\) tips there are \(n-1\) internal nodes, so \(4^{\,n-1}\) histories per site: 20 taxa → \(4^{19} \approx 2.7\times10^{11}\).
The lower-subtree term \(P_{yT}(v_3)P_{yT}(v_4)\) depends only on \(y\) — yet it’s recomputed for every root state.
Same sum, grouped so the repeated part appears only once (\(ab+ac=a(b+c)\)):
\[ L = \sum_{x}\pi_x\ \underbrace{P_{xA}(v_1)}_{\text{tip 1}}\ \sum_{y}P_{xy}(v_2)\ \underbrace{\big[P_{yT}(v_3)\,P_{yT}(v_4)\big]}_{\text{the two T tips, if the internal node is } y} \]
The bracket depends only on \(y\), not on the root state \(x\). So compute it once for each of the 4 values of \(y\), write the 4 numbers down, and reuse them for every root state.
Pruning does this at every node, from the tips toward the root. At each node keep a list of 4 numbers \(L_k\), one per base:
\(L_k(s)\) = how likely the tips below node \(k\) are, if node \(k\) has base \(s\)
(its formal name is the conditional likelihood).
A tip’s base is known, so its list is simple: the observed base explains the data perfectly (1), and any other base cannot (0).
Our column, tips A, T, T:
| Base | Tip 1 (A) | Tip 3 (T) | Tip 4 (T) |
|---|---|---|---|
| A | 1 | 0 | 0 |
| C | 0 | 0 | 0 |
| G | 0 | 0 | 0 |
| T | 0 | 1 | 1 |
For each possible base at a node, handle the two children separately, then combine:
Example: node \(S\) (children: tips 3 and 4, both T). If \(S\) has base \(y\):
In symbols, for any node \(k\) with children \(i\) and \(j\):
\[ L_k(s) = \Big[\sum_{x}P_{sx}(v_i)\,L_i(x)\Big]\times\Big[\sum_{x}P_{sx}(v_j)\,L_j(x)\Big] \]
Sum = OR, multiply = AND
Treat the root \(R\) like any other node (children: tip 1 and \(S\)) to get its list \(L_R\). Nothing lies above it, so weight each base by its equilibrium frequency \(\pi_s\) and add:
\[ L_{\text{site}} = \sum_{s}\pi_s\,L_R(s) \]
The whole algorithm for one site:
Cost: one small calculation per internal node, so it grows with the number of taxa, versus \(4^{\,n-1}\) histories by brute force (Felsenstein 1981). Repeat for every site.
One alignment column: tips A, T, T. Call the internal node S and the root R.
Along a branch, a base either stays the same or changes to one particular other base:
| Branch length | Chance of staying | Chance of changing to one specific base |
|---|---|---|
| 0.1 | 0.90638 | 0.03121 |
| 0.2 | 0.82445 | 0.05852 |
Check: 0.90638 + 3 × 0.03121 = 1 (stay, or change to one of the 3 other bases).
\(S\) has two T tips on branches of length 0.1. For each possible state of \(S\), how likely are two T tips?
| If \(S\) is… | What must happen | Probability |
|---|---|---|
| T | both branches stay T | \(0.90638^2=\mathbf{0.82152}\) |
| A (or C, or G) | both branches change to T | \(0.03121^2=0.00097\) |
If \(S\) were anything other than T, two separate changes would be needed: about 850 times less likely.
We keep these as a list with one entry per state of \(S\):
\[ L_S = (A,\ C,\ G,\ T) = (0.00097,\ 0.00097,\ 0.00097,\ 0.82152) \]
For each possible root state, two things must work out: tip 1 (A, branch 0.2) and the subtree below \(S\) (branch 0.1). Multiply the two.
Root = A. Tip 1 stays A: 0.82445. For the subtree, add over the possible states of \(S\), each weighted by the chance of the root becoming that state:
\[ \underbrace{0.90638 \times 0.00097}_{S=A} + \underbrace{0.03121 \times 0.00097}_{S=C} + \underbrace{0.03121 \times 0.00097}_{S=G} + \underbrace{0.03121 \times 0.82152}_{S=T} \]
\[ = 0.00088 + 0.00003 + 0.00003 + 0.02564 = 0.02658 \]
Root = A: \(0.82445 \times 0.02658 = 0.02191\). The same recipe gives the other roots:
| Root is | Tip 1 (needs A) | Subtree below \(S\) | Product |
|---|---|---|---|
| A | 0.82445 (stay) | 0.02658 | 0.02191 |
| C | 0.05852 (change) | 0.02658 | 0.00156 |
| G | 0.05852 (change) | 0.02658 | 0.00156 |
| T | 0.05852 (change) | 0.74470 | 0.04358 |
For C and G the subtree term equals A’s (they treat \(S\) the same way). For T it is mostly \(S=\) T staying T: \(0.90638\times0.82152=0.74461\), plus a little from \(S=\) A, C, G.
Each root state is equally likely a priori (\(\tfrac14\)). Weight the products and add:
\[ L = \tfrac14\,(0.02191 + 0.00156 + 0.00156 + 0.04358) = \mathbf{0.01715}, \qquad \log L = -4.066 \]
Sites are assumed independent — the AND rule again. \(L_h\) is the likelihood of site \(h\) (the pruning result):
\[ L = \Pr(\text{data}\mid \tau, \text{model}) = \prod_{h=1}^{N} L_h \qquad\Longrightarrow\qquad \ell = \sum_{h=1}^{N}\log L_h \]
A model needs:
From these two, every \(P_{ij}(v)\) follows.
For a 10,000 bp locus:
\[ \begin{aligned} \tfrac{1\ \text{sub}}{1\ \text{My}}\times 100\ \text{My} &= \tfrac{100\ \text{subs}}{10\,000\ \text{bp}} = 0.01\\[4pt] \tfrac{10\ \text{subs}}{1\ \text{My}}\times 10\ \text{My} &= \tfrac{100\ \text{subs}}{10\,000\ \text{bp}} = 0.01 \end{aligned} \]
Same branch length, a tenfold difference in time. Separating them needs a clock model.
Model each site as a continuous-time Markov chain over states {A, C, G, T}. The instantaneous rate matrix \(Q\) gives the rate of change from state \(i\) to \(j\):
\[ Q = \{q_{ij}\},\qquad q_{ii} = -\sum_{j\neq i} q_{ij}\ \text{(rows sum to 0)}. \]
The probability of ending in state \(j\) after time \(t\), starting in \(i\):
\[ P(t) = e^{Qt}, \qquad P_{ij}(t) = \Pr(j \text{ at } t \mid i \text{ at } 0). \]
\[ Q = \begin{array}{c|cccc} & A & C & G & T\\ \hline A & -3\lambda & \lambda & \lambda & \lambda\\ C & \lambda & -3\lambda & \lambda & \lambda\\ G & \lambda & \lambda & -3\lambda & \lambda\\ T & \lambda & \lambda & \lambda & -3\lambda \end{array} \]
The number of events in time \(t\) is Poisson with mean \(\mu t\):
\[ \begin{aligned} \Pr(\text{no event}) &= e^{-\mu t} \qquad\qquad \Pr(\text{at least one event}) = 1 - e^{-\mu t}\\[4pt] \Pr(\text{last event drew a T}) &= \tfrac14 \end{aligned} \]
\[ \begin{aligned} P_{AT}(t) &= \tfrac14\left(1 - e^{-\mu t}\right) = \tfrac14 - \tfrac14 e^{-4\lambda t}\\[4pt] P_{AA}(t) &= \underbrace{e^{-4\lambda t}}_{\text{nothing happened}} + \underbrace{\tfrac14\left(1-e^{-4\lambda t}\right)}_{\text{events, but ended on A}} = \tfrac14 + \tfrac34 e^{-4\lambda t} \end{aligned} \]
Check: \(P_{AA} + 3P_{AT} = 1\). These are \(e^{Qt}\) for the JC69 \(Q\).
Measure a branch by the expected number of real substitutions per site, \(v\): the rate of leaving a base times time, \(v = 3\lambda t\). So \(4\lambda t = \tfrac43 v\) and
\[ P_{ii}(v) = \tfrac14 + \tfrac34 e^{-4v/3}, \qquad P_{ij}(v) = \tfrac14 - \tfrac14 e^{-4v/3}. \]
Two sequences separated by a total path length \(v\) differ at a proportion
\[p = \tfrac34\left(1 - e^{-4v/3}\right)\]
of sites. Invert it to estimate \(v\) from the data, the JC distance \(d\):
\[d = -\tfrac34\log\!\left(1 - \tfrac43 p\right)\]
The raw proportion \(p\) always underestimates \(v\) once sites have been hit twice.
\[ Q = \begin{array}{c|cccc} & A & C & G & T\\ \hline A & - & \pi_C\beta & \pi_G\beta\kappa & \pi_T\beta\\ C & \pi_A\beta & - & \pi_G\beta & \pi_T\beta\kappa\\ G & \pi_A\beta\kappa & \pi_C\beta & - & \pi_T\beta\\ T & \pi_A\beta & \pi_C\beta\kappa & \pi_G\beta & - \end{array} \]
\[ Q = \begin{array}{c|cccc} & A & C & G & T\\ \hline A & - & \pi_C a\mu & \pi_G b\mu & \pi_T c\mu\\ C & \pi_A a\mu & - & \pi_G d\mu & \pi_T e\mu\\ G & \pi_A b\mu & \pi_C d\mu & - & \pi_T f\mu\\ T & \pi_A c\mu & \pi_C e\mu & \pi_G f\mu & - \end{array} \]
Models differ in how much of \(Q\) they let vary (base frequencies \(\pi\), exchangeabilities):
| Model | Base freqs | Rates | Free \(Q\) parameters |
|---|---|---|---|
| JC69 | equal | all equal | 0 |
| K80 | equal | transitions ≠ transversions (\(\kappa\)) | 1 |
| HKY85 | free | transitions ≠ transversions (\(\kappa\)) | 4 |
| GTR | free | all six exchangeabilities free | 8 |
Each model is a special case of the one below it: they are nested.
Every model above can add rate variation: some sites evolve quickly, others hardly at all.
Even RuBisCO, encoded by rbcL — the workhorse gene of early plant phylogenetics — combines a mass of strongly constrained sites with a few residues under positive selection in most land-plant lineages (Kapralov and Filatov 2007).
The distribution of sites under selection in rbcL and their relevance in the context of a 3-D protein structure. Figs. 1 and 2 from Kapralov and Filatov (2007)
Each region gets its own rate multiplier on the same \(Q\). For JC69 in region \(k\):
\[ P_{ii}(v) = \tfrac14 + \tfrac34 e^{-4 r_k v/3}, \qquad P_{ij}(v) = \tfrac14 - \tfrac14 e^{-4 r_k v/3} \]
Let every site have any of \(K\) rates, and average (the OR rule) over them. With \(K=4\) equally likely rates:
\[ L(\theta) = \prod_{h=1}^{N}\left[\tfrac14\Pr(x_h\mid r_1) + \tfrac14\Pr(x_h\mid r_2) + \tfrac14\Pr(x_h\mid r_3) + \tfrac14\Pr(x_h\mid r_4)\right] \]
Here \(x_h\) is alignment column \(h\). No partitions needed. But where do \(r_1,\dots,r_4\) come from?
Assume relative rates follow a gamma distribution with mean 1 (Yang 1994):
\[r \sim \text{Gamma}(\text{shape}=\alpha,\ \text{rate}=\alpha)\]
Split the gamma into \(K\) equal-probability categories (often 4) and use each category’s mean as its rate (Yang 1994).
| \(\alpha\) | \(r_1\) | \(r_2\) | \(r_3\) | \(r_4\) |
|---|---|---|---|---|
| 1 | 0.137 | 0.477 | 1.000 | 2.386 |
| 0.5 | 0.033 | 0.252 | 0.820 | 2.894 |
The rates average to 1.
\[ \mathrm{AIC} = 2k - 2\log \hat L \]
\[ \begin{aligned} \mathrm{KL}(f,g) &= \int f(x)\log\frac{f(x)}{g(x)}\,dx\\[4pt] &= \underbrace{E_f[\log f]}_{\text{same for every model}} - \underbrace{E_f[\log g]}_{\text{model-specific}} \end{aligned} \]
AIC estimates the model-specific part (times \(-2\)), corrected for the bias of using the same data to fit \(g\).
AIC estimates each model’s distance from the truth, up to a constant shared by all of them.
ModelFinder on one 1,950 bp nuclear gene from the baobab data (18 sequences):
| Model | \(k\) | \(\log \hat L\) | AIC | \(\Delta\)AIC | \(\Delta\)BIC |
|---|---|---|---|---|---|
| JC69 | 33 | −4221.76 | 8509.52 | 214.48 | 186.60 |
| JC69+Γ | 34 | −4206.20 | 8480.40 | 185.35 | 163.05 |
| K80 | 34 | −4157.71 | 8383.43 | 88.38 | 66.08 |
| K80+Γ | 35 | −4141.26 | 8352.52 | 57.47 | 40.75 |
| HKY85 | 37 | −4125.81 | 8325.63 | 30.58 | 25.00 |
| HKY85+Γ | 38 | −4109.52 | 8295.05 | 0 | 0 |
| GTR | 41 | −4123.40 | 8328.79 | 33.75 | 50.47 |
| GTR+Γ | 42 | −4106.94 | 8297.88 | 2.83 | 25.13 |
\[ \mathrm{AIC_c} = 2k - 2\log\hat L + \frac{2k^2 + 2k}{N - k - 1} \qquad\qquad \mathrm{BIC} = k\log N - 2\log\hat L \]
If you can analyze one locus well, you can analyze a hundred — usually by concatenating them into one supermatrix.
Partitioned analyses give each block its own \(Q\), rate variation and/or relative rate. Concatenated ML with partitioned mixture models is in almost every phylogenomics paper.
What is sister to all other flowering plants? Disagreement between the slowly evolving sites and fast sites (Xi et al. 2014).
Conflicting evidence for early angiosperm evolution based on partitioning strategies and model choice. Fig. 1 from Xi et al. (2014)
The Amborella genome paper (Amborella Genome Project 2013) has Amborella alone as sister to all other angiosperms, the more accepted hypothesis.
Plant phylogenomics mostly uses target capture (Hyb-Seq): baits for low-copy exons, plus the flanking introns that come along with them (Weitemier et al. 2014; Johnson et al. 2016).
ModelFinder searches substitution models, \(+\Gamma\) / \(+I\) / free-rate, and partitioning schemes, and returns the best by BIC (Kalyaanamoorthy et al. 2017).
IQ-TREE 2 (Minh et al. 2020):
PB 495/595 · Plant Evolutionary Biology · Speciation Genomics