Lesson 13 — Where deleterious alleles get held in place

A harmful variant keeps getting weeded out, yet never quite disappears. Where does it settle, and why there?

The frequency of an allele in the population goes back to what frequencies always are: how often you get it yourself, plus how often you inherit it. The two ways to get it. The frequency of a bad mutation works out to μ/(H·S) — the mutation rate divided by how bad it is and how heritable that badness is.— 202_lec17_02

A — New variants arriving, nothing removing them

Locked — confirm your name above to begin.

Scenario

Start with q = 0. Each generation, each non-mutant allele can mutate to "a" with rate μ. Plot q over time. Without selection, this is a Wright-Fisher process plus an injection rate of μ per allele per generation.

q over time (mutation only)

mutation rate: 1e-4  |  N: 1000  |  mean q at t=2000:

Prediction

  1. Q1. New copies of the second version keep appearing, generation after generation, for two thousand generations. Nothing is removing them. Of the twenty runs, how many end up with none of it at all?
Try at least 4 (μ, N) combos. 0/4 combos

Controls

1.0e-6
1000
42

R code — mutation only

set.seed(42)mu <- 1.0e-6N <- 1000q <- 0; traj <- qfor (g in 1:2000) {  q_mut <- (1-q)*mu + q*(1-mu)   # symmetric for simplicity  q <- rbinom(1,2*N,q_mut)/(2*N)  traj <- c(traj, q)}

B — Add the weeding out, and see where it settles

Complete Stage A.

Scenario

q stabilizes when mutation influx (μ × frequency of A) equals selection efflux (≈ hs × 2pq for partially dominant, ≈ s × q² for recessive lethal). For partially dominant (h > 0): q ≈ μ/(hs). For recessive (h = 0): q ≈ √(μ/s).

q trajectory and theoretical equilibrium

mutation rate: 1e-5  |  s: 0.1  |  h: 0.5  |  theory q̂:  |  observed q (gen 5000):

Prediction

  1. Q1. For h = 0.5, μ = 10⁻⁵, s = 0.1, the equilibrium frequency q̂ will be approximately:
Try at least 4 (μ, s, h) combos. 0/4 combos

Controls

1e-5
0.100
0.50

R code — the standing balance level

mu <- 1e-5; s <- 0.1; h <- 0.5q <- 0; gens <- 5000; traj <- numeric(gens+1)for (g in 1:gens) {  p <- 1-q; w_AA <- 1; w_Aa <- 1-h*s; w_aa <- 1-s  wbar <- p^2*w_AA + 2*p*q*w_Aa + q^2*w_aa  q <- (p*q*w_Aa + q^2*w_aa) / wbar  q <- q*(1-mu) + (1-q)*mu  traj[g+1] <- q}tail(traj, 1)

C — Work backwards from where it settled

Complete Stage B.

Scenario

Pink katydid example. Population frequency q ≈ 5 × 10⁻⁴. Mutation rate μ ≈ 5 × 10⁻⁵. Dominance h ≈ 1 (visible heterozygote). Solve: s ≈ μ/(h·q) ≈ 0.1. The selection coefficient is 10% — a huge effect.

Strength of the weeding out, worked backwards

mutation rate: 5e-5  |  h: 1.0  |  observed q: 5e-4  |  inferred s:

Prediction

  1. Q1. The pink katydid sits at q ≈ 5 × 10⁻⁴ with μ ≈ 5 × 10⁻⁵. The inferred selection coefficient is closest to:
Try at least 3 (q, μ) combos. 0/3 combos

Controls

5e-5
1.00
5e-4

R code — back-calculate s

mu <- 5e-5; h <- 1; q <- 5e-4# Mutation-selection balance: q = mu/(h*s) for h > 0s_inferred <- mu / (h * q)s_inferred

D — Cystic fibrosis — when the formula breaks

Complete Stage C.

Scenario

Test three models against q_observed = 0.022: (1) recessive-lethal standing balance q = √(μ/s); (2) partially dominant model q = μ/(hs); (3) heterozygote advantage at AA fitness 1−sₐ, Aa fitness 1, aa fitness 1−s_aa. Only the third reaches the observed q.

Predicted q under three models

observed q: 0.022  |  recessive q (√(μ/s)):  |  partial dominance q:  |  het advantage q:

Prediction

The basic making-vs-removing balance model assumes two causal arrows: μ → q and s_aa → q. It predicts q ≈ 0.001. The observed q is 22× higher. Which additional arrows in the causal model could be doing the work? Check every plausible one.

Q1. What's keeping CF at q ≈ 0.022 above the simple making-vs-removing balance? (Check any that you think contribute.)
Adjust the het-advantage slider and find a configuration that matches 0.022. 0/2 attempts

Controls

1e-6
1.00
0.020

R code — three CF models

# Recessive lethal balancemu <- 1e-6; s_aa <- 1; q_rec <- sqrt(mu/s_aa)# Partial dominance balanceh <- 0.1; q_pd <- mu/(h*s_aa)# Heterozygote advantage equilibrium: q_eq = s_AA / (s_AA + s_aa)s_AA <- 0.02; q_ha <- s_AA/(s_AA + s_aa)c(rec = q_rec, partial = q_pd, hetadv = q_ha, observed = 0.022)