Science Journaling Club Founded 2024

VOLUME 2, ISSUE 1 · FALL 2025 · ORIGINAL RESEARCH

Why Sex Exists: Watching Mutations Pile Up in a Population That Cannot Recombine

Written jointly by the Science Journaling Club

Computational study · Peer-edited by the club review board · LaTeX source · Analysis code · Raw output · Interactive model

Abstract Mutation only adds. In a population with no recombination, once the last individual carrying the fewest mutations fails to leave descendants, nothing can rebuild that class, and the minimum mutation load in the population steps up by one forever. Muller called it a ratchet. We measured how fast it turns. The instrument was a Wright-Fisher simulation the club wrote and ran on a laptop, carrying the full distribution of mutation counts per individual; no organism was involved at any stage, because here the computation is the experiment. Across a 60-cell grid (\(N = 100\) to \(2000\), \(U = 0.1\) to \(0.8\), \(s = 0.02\) to \(0.1\)) plus 35 further cells, at 200 replicate populations each, we logged 11,220,000 replicate-generations in the main grid alone. The null passed exactly: with \(U = 0\) the ratchet clicked zero times in 1,200,000 replicate-generations and mean fitness stayed at 1.000000000000000. Haigh's deterministic equilibrium survives where it is defined, the mean load matching \(\lambda = U/s\) to +2.9% and the size of the unloaded class matching \(N e^{-\lambda}\) to −4.7% ± 1.1%. The rate prediction built on it does not survive. Across 70 clicking cells the measured rate was a median 0.398× the classical \(e^{-n_0}\), and in the worst cell it was 1.4×1055 times larger, sitting 11 standard errors above a prediction of \(1.7\times10^{-59}\). Three independently written implementations agree on our number to within 1.9 standard errors, so the fault is in the formula. The missing quantity is the selection coefficient: at fixed \(n_0 = 5\) raising \(s\) from 0.02 to 0.10 nearly doubled the click rate, a gap of 28.5 standard errors, and rescaling by \(s \times n_0\) collapsed cells that differ five-fold in both onto one curve within 6.9%, against 78.4% disagreement when matched on \(n_0\) alone. Mean fitness fell exactly as bookkeeping demands, the measured \(d\ln \bar{W}/dt\) matching (click rate) \(\times \ln(1-s)\) to 0.9961 ± 0.0031 over six regimes. Adding recombination to an explicit 1024-site genome stalled the ratchet: 2.7% of offspring made sexually halved it, and 15.2%, roughly one offspring in seven, cut it to a hundredth of the asexual control. Seed 20250921.

The Click

A ratchet turns one way. That is the whole of it, and the whole of the problem.

Consider a population where nobody recombines. Every individual carries some number of deleterious mutations, and you can sort the population into classes by that number: the ones carrying none, the ones carrying one, and so on up. Mutation moves individuals up. Selection pushes against the move, because carrying more mutations means leaving fewer offspring. Between them they settle into a balance, and the balance has a bottom rung, the class carrying the fewest mutations in the whole population.

Now lose that rung. Not to selection, which would never do it, but to plain bad luck: in some generation, by chance, none of the individuals in the best class leave offspring. The class is gone. And it cannot come back, because mutation only adds and there is no recombination to assemble a clean genome out of two dirty ones. The bottom rung is now one mutation higher than it was, permanently. The ratchet has clicked.

Muller wrote this down in 1932 and named it in 1964 [1][2]. Felsenstein gave it the name it carries now and showed what it implies about why recombination exists at all [3]. The question we took to the club table was narrow and, we thought, tidy: how fast does the thing actually click, and how much sex does it take to stop it?

We got both answers. We also got a third one that nobody asked for, which is that the formula everybody quotes for the click rate is wrong by fifty-five orders of magnitude in the worst place we looked, and wrong by a factor of twenty in the opposite direction somewhere else. That took over the study. This article is mostly about the wreckage.

0.06158clicks/gen, asexual control
1 per 16.2generations between clicks
15.2%sex that stalls the ratchet
1.4×1055worst error in the classical rate

What Is Actually In The Machine

A haploid Wright-Fisher population of constant size \(N\). One integer per individual, \(k\), the number of deleterious mutations it carries. Fitness is multiplicative, \(w(k) = (1-s)^k\). A generation is two steps. First reproduction: \(N\) offspring drawn with replacement from the parents with probability proportional to fitness. Then mutation: each offspring gains a further \(\mathrm{Poisson}(U)\) new deleterious mutations, with no back mutation and no beneficial mutation ever.

Because an individual's entire state is the integer \(k\), the population can be carried as a histogram over load classes rather than as a list of individuals. For the asexual model that representation is exact and not an approximation, and it is the reason 200 replicate populations across every asexual cell ran in under a minute on a school laptop. One generation in histogram form is: weight the classes by fitness, normalise, convolve with the Poisson mutation kernel, take one multinomial draw of \(N\) offspring.

Recombination cannot be done honestly that way. Two parents carrying \(k_1\) and \(k_2\) mutations produce a recombinant whose load depends on how many of those mutations sit at the same sites, and a load-only model has thrown that information away. So every run involving recombination carries real genomes: 1024 biallelic sites per individual, packed into 64-bit words. A fraction \(R\) of offspring are made by free recombination, each site taken independently from one of two fitness-weighted parents; the remaining \(1-R\) are clones of a single fitness-weighted parent. \(R\) is the rate of sex.

What is not in it

Haploid, so no dominance and no diploid masking. Constant \(N\), so no crashes and no bottlenecks. Non-overlapping generations. One panmictic pool with no geography. Every mutation has exactly the same effect \(s\), which means there is no distribution of fitness effects at all. Fitness is multiplicative, so there is no epistasis of any kind. \(N\) is both the census size and the effective size. And in the recombination runs, recombination is free, every site assorting independently, which is the strongest recombination there is.

Section 11 goes through which of those would have changed the answer and by how much. Two of them would have changed it a great deal.

The Arithmetic

Start with the balance. At deterministic mutation-selection balance under multiplicative fitness, the distribution of mutation counts is Poisson with mean \(\lambda = U/s\). Haigh proved it in 1978 [4]. So the expected size of the best class, the one carrying zero mutations, is

\(n_0 = N e^{-U/s}\).

Put numbers in. Take \(N = 500\), \(U = 0.20\), \(s = 0.05\). Then \(\lambda = 0.20/0.05 = 4\), and \(e^{-4} = 0.018316\), and \(n_0 = 500 \times 0.018316 = 9.158\). Nine individuals out of five hundred are carrying no mutations at all. That is the rung.

Now the classical rate argument, which is one line long. If the best class sits at its equilibrium size \(n_0\), the number of its offspring next generation is \(\mathrm{Binomial}(N, n_0/N)\), which for \(n_0 \ll N\) is \(\mathrm{Poisson}(n_0)\). The class dies out this generation if that draw comes up zero. So

click rate per generation \(\approx e^{-n_0}\).

For our cell that gives \(e^{-9.158} = 1.05 \times 10^{-4}\), one click per 9,488 generations. Our measurement was 0.01909 ± 0.00030, one click per 52 generations. The prediction is too slow by a factor of 181.

Do the same at \(N = 2000\), \(U = 0.10\), \(s = 0.05\). Then \(\lambda = 2\), \(n_0 = 2000 \times e^{-2} = 270.7\), and \(e^{-270.7} = 2.8 \times 10^{-118}\). A click once every \(10^{117}\) generations, which is to say never, in any universe with a finite age. We measured \(6.00 \times 10^{-6} \pm 3.45 \times 10^{-6}\) clicks per generation. One click per 167,000 generations. Rare, but not the same kind of rare at all.

Both arithmetic lines are correct. Both predictions are wrong. The rest of the study is about which step in that one-line argument fails, and the answer turns out to be the first one, the innocuous-looking assumption that the best class is sitting at its equilibrium size when it dies.

Working Notes From The Club Table

Meeting 1
Wrote the obvious thing: an array of \(N\) integers, sample parents by fitness, add a Poisson draw. Correct and unbearably slow. One cell of the grid at \(N = 2000\) took longer than the whole meeting.

Meeting 1, later
Realised the individual identities carry no information the histogram does not. Rewrote the asexual engine to step a \((\text{reps} \times W)\) array of class counts, where \(W\) is a window of load classes riding above the current minimum. Whole grid now runs in 48 seconds. Kept the slow version. It becomes the cross-check in §10.

Meeting 2
First grid results. Measured rate over \(e^{-n_0}\) came out at \(10^{26}\) in one cell. General assumption around the table was that we had a bug. Spent the meeting looking for it.

Meeting 2, end
No bug found. Someone suggested we were sliding the window wrong and losing probability off the top. Added a runtime check on how much probability mass falls off the end of the window. Worst value across the entire grid: \(4.44\times10^{-16}\). Not that.

Meeting 3
Wrote the packed-genome engine for the recombination half, then realised it could be run at \(R = 0\) as a third, completely independent implementation of the asexual model. It disagreed with the histogram engine by 3.2 standard errors, which felt like the bug arriving at last. It was the finite-sites leak: with 1024 sites, some mutations land where a mutation already sits and vanish. Measured that leak at 1.84%, corrected \(U\) for it, and the disagreement fell to 1.9 standard errors.

Meeting 3
Long argument about whether to report \(e^{-n_0}\) failing at all, on the grounds that nobody serious has believed it since about 1993. Settled it by checking: it is still the formula in the textbooks and still the one the club had been taught. Reporting where a famous approximation breaks is not an attack on anyone. It is the only reason to run the grid.

Meeting 4
Read Stephan, Chao and Smale properly instead of skimming the abstract [6]. They said in 1993 that \(s\) matters separately from \(n_0\). Designed §6 that evening to test it before running it, and wrote the prediction down first so we could not talk ourselves into the result afterwards.

Meeting 5
Seed fixed at 20250921 and not touched since. Every number in this article comes from one run of the file as it now stands. Total wall clock 169.7 seconds.

The Formula Everyone Quotes, Autopsied

Figure 1 is the whole problem in one panel. The horizontal axis is \(n_0\), the predicted size of the best class. The dashed line is \(e^{-n_0}\). The points are what we measured, at 200 replicate populations each, with error bars that are mostly smaller than the markers.

10⁻¹ 1 10 100 10⁻⁡ 10⁻⁴ 10⁻³ 0.01 0.1 1 nβ‚€ predicted = N exp(βˆ’U/s) clicks per generation s = 0.02 s = 0.05 s = 0.10 exp(βˆ’nβ‚€) classical prediction falls off the bottom of the page near nβ‚€ = 13 measured rates never leave this band
Figure 1. Measured click rate against the predicted size of the least-loaded class, \(n_0 = N e^{-U/s}\), for all 60 grid cells and the 14 sweep cells that clicked at least once, at 200 replicate populations each. Error bars are \(\pm 1\) standard error and are mostly smaller than the markers. The dashed line is the classical one-generation estimate \(e^{-n_0}\), which leaves the bottom of the plot near \(n_0 = 13\) while the measurements carry on. Where \(n_0 < 1\) the classical curve sits above the measurements instead: it fails in both directions.

The dashed line leaves the page near \(n_0 = 13\). The measurements do not. At \(n_0 = 30\) the classical estimate is \(9.4\times10^{-14}\) clicks per generation and the measurement is \(0.00692 \pm 0.00011\), which is a ratio of \(7.4\times10^{10}\). At \(n_0 = 135.3\) the estimate is \(1.7\times10^{-59}\) and the measurement is \(2.34\times10^{-4} \pm 2.18\times10^{-5}\), one click per 4,273 generations, sitting eleven standard errors above zero and \(1.4\times10^{55}\) times the prediction. That is the worst cell in the study and it is worth saying plainly what it means: the formula says this population is safe forever, and it is not. Gordo and Charlesworth said as much in 2000, warning that the ratchet can turn at a biologically significant rate even when the deterministic mutation-free class is well above a hundred individuals [9]. Our \(n_0 = 135.3\) cell is a direct instance.

And the formula fails in the other direction too. Where \(n_0\) is small, below about 1, the classical estimate is too fast. At \(N = 1000\), \(U = 0.20\), \(s = 0.02\), \(n_0\) works out to 0.0454, and \(e^{-0.0454} = 0.9556\), which says the ratchet should click almost every generation. We measured 0.04651 ± 0.00048. That is a twentieth of the prediction, and it sits 1873 standard errors below it. Our Monte Carlo error is nowhere near large enough to cover a gap like that.

Nn0 predictedn0 observed clicks/genSEe−n0 measured / predictedgenerations per click
s = 0.02, U = 0.20, so λ = U/s = 10
1000.004546.2780.09030.0008550.99550.0907111.07
2000.009087.5640.073740.0007370.9910.0744113.56
5000.02279.4680.0590.0006120.97760.0603516.95
1,0000.045411.280.046510.0004850.95560.0486721.5
2,0000.090813.630.040050.0004760.91320.0438624.97
s = 0.05, U = 0.20, so λ = U/s = 4
1001.8328.980.047650.0006280.16020.297520.99
2003.66312.240.031390.0005010.025651.22431.86
5009.15819.160.019090.00030.0001054181.152.38
1,00018.3227.440.011350.0001891.11×10−81.02×10688.11
2,00036.6342.540.005880.000111.23×10−164.77×1013170.1
s = 0.1, U = 0.20, so λ = U/s = 2
10013.5315.010.015010.000281.33×10−611,32266.62
20027.0725.750.005490.0001071.76×10−123.12×109182.1
50067.6762.370.0003922.78×10−54.10×10−309.57×10252551
1,000135.3130.64.00×10−62.82×10−61.68×10−592.38×1053250,000
2,000270.7266002.81×10−1180never

The "n0 observed" column is the autopsy finding. It is the average size of the least-loaded class as the runs actually saw it, measured in the moving frame that rides up with the minimum. Compare it to the predicted column. Where the prediction says 0.00454 individuals, the runs contain 6.3. Where it says 135.3, the runs contain 130.6, which is close. The deterministic equilibrium is a good description of a population whose ratchet is quiet and a fantasy about a population whose ratchet is turning, because a turning ratchet never gets to sit at equilibrium. That is the step that breaks.

Haigh's equilibrium itself is fine. Restricting to replicate-generations in which the ratchet has not clicked at all, where a deterministic equilibrium is at least defined, the mean load came to 1.0288 times \(\lambda\), the variance to 1.0249 times \(\lambda\), and the size of class zero to 0.9533 ± 0.0106 times \(N e^{-\lambda}\) over fourteen cells. Three predictions, all within about 5%. The theory of the balance survives. The theory of the click does not, and it was built on the balance.

The Number That Was Missing

If \(e^{-n_0}\) fails, the first question is whether any function of \(n_0\) could work. Maybe the exponential is too aggressive and the right answer is a power law in the same variable. That is a testable statement, and we tested it the cheap way first, by sweeping \(N\) at fixed \(s = 0.05\) and \(U = 0.20\) so that \(n_0\) walks from 0.49 up to 30 while nothing else moves.

Nn0clicks/genSE e−n0measured / predictedclicks counted
270.49450.086510.0008730.60990.14196,921
551.0070.061550.0006310.36520.16854,924
821.5020.051330.0006350.22270.23054,106
1091.9960.044040.000610.13580.32423,523
1643.0040.036870.0005350.04960.74332,950
2183.9930.030990.0004730.018451.682,479
3286.0080.023890.0004150.002469.7112,389
4378.0040.02050.0003440.000334161.352,050
546100.01770.0002944.54×10−53902,124
655120.015620.0002556.16×10−625342,187
87416.010.012920.0002421.12×10−7115,7152,068
1,092200.010510.0001642.06×10−95.10×1062,103
1,365250.008350.000151.39×10−116.02×1082,172
1,638300.006920.000119.35×10−147.40×10102,075

Fit both forms over the thirteen sweep cells with \(n_0 \ge 1\). The exponential fit gives \(\ln(\text{rate}) = -3.1031 - 0.0707\,n_0\) with an rms residual of 0.1957. The power law gives \(\ln(\text{rate}) = -2.6635 - 0.6293\ln n_0\) with an rms residual of 0.0819. The power law wins by more than a factor of two on residual. Over this window the ratchet slows roughly as \(n_0^{-0.63}\), so the interclick time grows as \(n_0^{0.63}\), which is close to the linear growth in \(n_0\) that Stephan, Chao and Smale derived for intermediate \(N\) and \(s\) [6] and nothing like exponential. Note also the exponential decay constant we measure: 0.0707. The classical form demands 1. It is fourteen times too weak.

But that was the cheap test, and it was the wrong question. Here is the expensive one.

Build three cells that share the same \(n_0 = 5\) and the same \(\lambda = 4\), by choosing \(N\), \(U\) and \(s\) together, with \(s\) varying five-fold across them. If the rate is a function of \(n_0\) alone, they must agree.

They do not. At \(s = 0.02\) the rate is \(0.01788 \pm 0.00030\). At \(s = 0.10\) it is \(0.03544 \pm 0.00054\). The difference is \(0.01756 \pm 0.00062\), which is 28.5 standard errors from zero. Raising the selection coefficient at fixed \(n_0\) makes the ratchet turn faster, by very nearly a factor of two. Stephan, Chao and Smale predicted that sign in 1993, writing that for intermediate \(N\) and \(s\) at fixed \(n_0\), increasing \(s\) accelerates the ratchet [6]. We did not know that when we built the cells. We found it afterwards, which is a worse way to do science and an honest description of what happened.

So the rate needs \(s\) as a separate ingredient. Jain put the interclick time into a scaling form set by the size of the least-loaded class together with the selection coefficient [11]. Neher and Shraiman are blunter, writing that the ratchet rate "cannot depend on \(n_0\) alone, but must depend on \(n_0 s\) instead" [13]. That is a prediction with a sharp edge, and we designed eighteen cells to break it: five values of \(s \times n_0\) crossed with three values of \(s\), all at \(\lambda = 4\), 200 fresh replicate populations each. If the claim holds, then rate divided by \(s\) should be a function of \(s \times n_0\) alone, and cells matched on that product should agree even when \(s\) and \(n_0\) each differ five-fold.

1 10 100 0.1 0.01 0.002 nβ‚€ clicks per generation A. matched on nβ‚€ alone: three curves 24% 0.1 1 0.03 0.1 1 s Γ— nβ‚€ (clicks per generation) / s B. matched on s Γ— nβ‚€: one curve 0.3%
Figure 2. The scaling test, designed before it was run. Eighteen cells, all at \(\lambda = U/s = 4\), 200 fresh replicate populations each. A. Plotted against \(n_0\), the three selection coefficients give three separate curves; at \(n_0 = 20\) they disagree by 24%. B. Plotted as rate\(/s\) against \(s \times n_0\), the same points fall onto one curve; at \(s \times n_0 = 1\) they agree to 0.3%. The worst disagreement anywhere in panel B is 6.9%, against 78.4% in panel A.

Figure 2 is the answer, and it is the cleanest result in the study. Panel A matches on \(n_0\) and gets three curves. Panel B matches on \(s \times n_0\) and gets one. The numbers behind the picture: matched on \(s \times n_0\), the spread in rate over \(s\) runs from 0.3% to 6.9%, median 3.7%, which for the tightest of them is 0.1 standard errors. Matched on \(n_0\) alone, the spread runs from 24.1% to 78.4%, median 67.1%, the worst at 41.8 standard errors. The collapse variable is tighter by a factor of 18.1 on the medians.

This is the one place in the study where a modern prediction was put at risk and came through. It also explains why the classical formula could never have been patched. No constant in front of \(e^{-n_0}\), no adjusted exponent, nothing that is a function of \(n_0\) by itself, can reproduce a rate that moves by a factor of two when \(s\) moves and \(n_0\) does not.

Watching An Estimate Settle

Every number in this article is a mean over 200 independently seeded replicate populations, so every number has a standard error, and the honest thing is to show those errors shrinking rather than assert them. Figure 3 does that for three cells: it plots the running mean click rate against the number of replicates folded in, with a band at plus and minus one standard error of the running mean.

N = 100 0.04765 N = 500 0.01909 N = 1000 0.01135 0 50 100 150 200 0 0.02 0.04 0.06 replicate populations averaged in running mean click rate shaded band = Β±1 standard error of the running mean all three cells: U = 0.20, s = 0.05
Figure 3. Convergence. The running mean click rate as replicate populations are folded in one at a time, for three cells at \(U = 0.20\), \(s = 0.05\). The shaded band is \(\pm 1\) standard error of the running mean and closes as \(1/\sqrt{k}\); the dashed horizontal line is the final 200-replicate value. A single population tells you almost nothing. Thirty gets within half a percent. The final relative standard errors are 1.32%, 1.57% and 1.67%.

The shape is the one you want. A single replicate is worthless: the \(N = 100\) cell opens at 0.0600 from one population, wanders to 0.0440 by five, and is inside half a percent of its final value by thirty. The band closes as \(1/\sqrt{k}\) and nothing surprising happens at the end. Final values and relative standard errors: 0.04765 ± 0.00063 (1.32%), 0.01909 ± 0.00030 (1.57%), 0.01135 ± 0.00019 (1.67%).

Those percentages are the reason we can say anything at all about a discrepancy of 1873 standard errors, and they are also the reason we cannot say much about the \(N = 2000\), \(s = 0.1\), \(U = 0.1\) cell, which clicked zero times in 500,000 replicate-generations. Zero clicks is a measurement with an error bar of zero and an interpretation of "slower than about \(6\times10^{-6}\) per generation, the rule-of-three bound on seeing no events in 500,000 replicate-generations", which is not the same as "never" and should not be written down as if it were. We report it as zero in the table and mean by it only that we did not see one.

Cells were also run with an early stop: a cell halts once it has banked 2000 clicks, so a fast cell measures for 400 generations and a slow one for the full 2500. That keeps the relative error roughly constant across the grid instead of spending all the compute where the answer was already obvious.

Two Thousand Generations Of Downhill

The click rate is an abstraction. Here is what it does to a population.

Every click costs the population one mutation's worth of fitness at the bottom of the distribution, and because the whole distribution rides above the minimum, it costs the mean the same factor. So if the load distribution is otherwise stationary in the moving frame, the bookkeeping is forced:

\(\dfrac{d\ln \bar{W}}{dt} = (\text{click rate}) \times \ln(1-s)\).

N=100 U=0.20 N=500 U=0.20 N=500 U=0.40 obligate sex, R = 1 0 500 1000 1500 -8 -6 -4 -2 0 generation ln (mean fitness) d lnW/dt measured, and that divided by rate Γ— ln(1βˆ’s) N=500 U=0.4 s=0.05 -3.962e-03 Γ— 0.9948 N=500 U=0.2 s=0.05 -9.462e-04 Γ— 1.0013 N=100 U=0.2 s=0.05 -2.388e-03 Γ— 0.9966 N=1000 U=0.4 s=0.05 -3.115e-03 Γ— 0.995 N=100 U=0.1 s=0.02 -7.556e-04 Γ— 0.992 N=2000 U=0.8 s=0.1 -8.064e-03 Γ— 0.9969
Figure 4. Mean fitness decline. Log mean fitness against generation for three asexual regimes, measured over 200 replicate populations each, with the obligate sexual control from Figure 5 drawn flat along the top for scale. The decline is a straight line in \(\ln \bar{W}\), meaning exponential decay with no floor. The side panel gives the measured slope for all six regimes and that slope divided by the bookkeeping prediction, (click rate) \(\times \ln(1-s)\); the six ratios average 0.9961 with a standard deviation of 0.0031.

The lines are straight and they keep going. That is the grim part. There is no floor in this model, no compensatory mutation, no point at which the population has lost enough that selection starts winning again; mean fitness is an exponential decay with a rate set by how often the ratchet turns. The worst regime we ran, \(N = 2000\), \(U = 0.80\), \(s = 0.10\), lost a factor of 5.583×10−6 in mean fitness over 1500 generations while its mean load climbed from 29.2 to 144.3 mutations per individual. Lynch and colleagues called the endpoint of this a mutational meltdown, where declining fitness shrinks the population, which speeds the ratchet, which shrinks it further [7]. Our \(N\) is pinned, so we never see the feedback. We only see the first half of it, running forever in a straight line.

The identity holds tightly. Across six regimes spanning a ten-fold range in decay rate, the measured slope divided by (click rate) \(\times \ln(1-s)\) averaged 0.9961 with a standard deviation of 0.0031. The worst single regime was 0.9920. That is not a validation of biology, it is a validation of the code: two quantities computed by completely different routes through the same simulation, one by counting integer steps in the minimum and one by fitting a line through the log of a mean, agree to four parts in a thousand. If they had not, something would have been wrong with the accounting.

The flat line at the top of Figure 4 is the obligate sexual control from the recombination runs, which is where the story finally turns.

How Much Sex Is Enough

The base cell for this half is deliberately nasty: \(N = 200\), \(U = 0.30\), \(s = 0.05\), so \(\lambda = 6\) and \(n_0 = 0.496\), meaning that at equilibrium there is on average half an individual carrying no mutations. Genomes are explicit, 1024 sites, 200 replicates, 800 generations after a 150-generation burn-in. Asexually, that population's minimum load drifts upward at 0.06158 ± 0.00046 per generation, one click every 16.2 generations.

Then we turn on sex, a fraction \(R\) of offspring at a time.

asexual control 0.06158 0.005 0.02 0.1 1 0 0.02 0.04 0.06 R, fraction of offspring made sexually net drift of min load / generation A. the ratchet stalls near R = 0.15 1% of control R = 0.152 R = 0 0.005 0.02 0.1 1 0 400 -3 -2 -1 0 generation ln (mean fitness) B. what that buys in fitness
Figure 5. Recombination rescue, on explicit 1024-site genomes at \(N = 200\), \(U = 0.30\), \(s = 0.05\), 200 replicates, 800 generations. A. Net drift of the minimum mutation load against the fraction \(R\) of offspring made sexually, with \(\pm 1\) standard error bars. The dashed line is the asexual control at 0.06158 per generation. The drift reaches 1% of that control at \(R = 0.152\) and is statistically indistinguishable from zero by \(R = 0.20\). B. Log mean fitness over time for five values of \(R\), from the asexual collapse at the bottom to the flat obligate sexual line at the top.
Rthat isupward clicks/genSEdownward steps net drift/genSEvs asexualmean load at end
0.000none0.061580.00045900.061580.000459100.00%62.01
0.0051 in 2000.074120.0006863,0940.054780.00042888.96%55.87
0.0101 in 1000.083360.0008395,4500.04930.00042780.06%51.24
0.0201 in 500.09920.0009689,5830.039310.00033263.84%42.15
0.0501 in 200.11980.0011216,2340.018390.00034229.86%23.68
0.1001 in 100.13510.0010220,9330.004310.0001987.00%10.87
0.1501 in 6.60.14170.00096322,5690.0006560.0001281.07%7.47
0.2001 in 50.14810.00099223,6710.0001620.0001080.26%6.87
0.3001 in 3.30.16420.00092626,292−0.0001699.77×10−5−0.27%6.4
1.000all of them0.26880.00097242,9850.0001068.21×10−50.17%6.29

Read the third column before the sixth, because it is the joke at the heart of the result. Recombination makes the minimum load go up more often, not less. At \(R = 0\) the minimum rises 0.0616 times per generation; at \(R = 1\) it rises 0.2688 times per generation, four times as often. Sex is not preventing clicks. It is un-clicking them. The fourth column from the right counts downward steps, generations in which a recombinant turned up carrying fewer mutations than anything alive the generation before, and it goes from exactly zero to 42,985. The ratchet still has a pawl. Recombination has simply made it a two-way pawl, and the net drift is the difference between two large and nearly equal numbers.

The thresholds, interpolated in \(\log R\) between the bracketing grid points:

R = 0.027halves the drift, 1 in 37
R = 0.084cuts it to 10%, 1 in 12
R = 0.152cuts it to 1%, 1 in 7
R = 0.20first grid point within 2 SE of zero

At \(R = 0.20\) the net drift is \(1.62\times10^{-4} \pm 1.08\times10^{-4}\), 1.5 standard errors from zero. At \(R = 1\) it is \(1.06\times10^{-4} \pm 8.21\times10^{-5}\), 1.3 standard errors from zero. Within our resolution the ratchet is stopped rather than merely slowed, and the mean load stops climbing and sits at 6.29, which is \(\lambda = 6\) plus the finite-sites correction. Panel B of Figure 5 shows what that buys: the asexual line falls through 2.5 natural log units of mean fitness in 800 generations while the obligate sexual line is flat to the eye and flat to the statistics.

The headline is that a small amount of sex does most of the work. Fifteen percent of offspring, roughly one in seven, buys a hundred-fold reduction. That is much cheaper than the answer we expected going in, and it is the strongest argument in the study for why facultative sex is common in nature: you do not need much.

The Strongest Objection We Could Make

Here is the objection, stated as strongly as we can put it.

You have a simulation whose answer disagrees with a textbook formula by fifty-five orders of magnitude. The overwhelmingly likely explanation is that your simulation is wrong. Simulations written by school students are wrong all the time; closed-form results published in Theoretical Population Biology are wrong considerably less often. You have a window of load classes that you slide upward, which is exactly the kind of index arithmetic that goes wrong silently. You have a multinomial draw whose probabilities you renormalise twice. You have an early-stopping rule that halts different cells after different numbers of generations, which could easily correlate stopping time with the thing you are measuring. Any one of those could produce a spuriously fast ratchet. Why should anybody believe you rather than Haigh?

We take that seriously, and the answer is not a rebuttal, it is four pieces of evidence.

The null. Set \(U = 0\). Now there is no mutation, so there is no way for the minimum to move, and any bug in the window-sliding or the multinomial normalisation has a clean shot at producing a spurious click. Six cells, 200 replicates each, 1000 generations each: 1,200,000 replicate-generations, zero clicks, and mean fitness printing as 1.000000000000000 to fifteen decimal places. The explicit-genome engine passes the same test separately. A window that slid wrongly would not survive that.

Three implementations. The fast histogram engine, a deliberately dumb individual-by-individual version written from the model description rather than from the fast code, and the packed-genome engine run at \(R = 0\). Three people wrote three different things. At \(N = 100\), \(U = 0.20\), \(s = 0.05\) they return 0.04757 ± 0.00061, 0.04540 ± 0.00133 and 0.04422 ± 0.00085. The histogram engine and the dumb one differ by 1.5 standard errors. The packed-genome engine came in 3.2 standard errors low, which we chased and found: it loses 1.84% of its mutations to sites that are already mutated, so its realised \(U\) is 0.1963 rather than 0.20. Run the histogram engine at that realised \(U\) and the gap falls to 1.9 standard errors. At \(N = 200\), \(U = 0.30\) the same correction brings a 1.8 standard error gap down to 0.1.

The conservation check. The fitness identity in §8 ties the click rate to the slope of log mean fitness. Those two quantities are computed by entirely separate paths: one counts integer increments of \(k_{\min}\), the other fits a line to \(\ln \bar{W}\). They agree to 0.9961 ± 0.0031. A bug that inflated the click count would break that identity, because it would not simultaneously steepen the fitness slope by the matching amount.

Haigh still passes. If the code were broken in a way that fabricated clicks, the load distribution would be wrong too. It is not. Mean load, variance of load and size of the unloaded class all land within about 5% of Haigh's predictions in the cells where those predictions are defined [4]. The code reproduces the theory exactly where the theory applies and departs from it exactly where the theory's assumption (a class sitting at equilibrium) is violated.

The remaining part of the objection stands, and we want to be clear about it: the early-stopping rule does correlate measurement length with click rate, because that is what it is for. We checked the direction it could bias things by running the convergence cells to a fixed 400, 600 and 900 generations and comparing against the same cells stopped on clicks, and the rates agree, but we did not run the full grid both ways. If somebody re-runs this with fixed-length cells throughout and gets a different number, that is a real finding and we would like to hear it.

The honest summary is that we did not set out to find \(e^{-n_0}\) failing and we spent two meetings trying to make it stop failing. Stephan, Chao and Smale said in 1993 that the approximations available then fit simulation well only in restricted regimes [6]; Gessler documented the constraints finite size imposes on exactly this quantity [8]; Gordo and Charlesworth built a diffusion approximation specifically because the one-generation argument was inadequate, and stated its validity condition as \(N e^{-U/s} \gg 1\) [9][10]. We are not overturning anything. We are measuring the size of a hole that the literature has known about for thirty years and that the teaching version of the formula does not mention.

Where A Different Model Would Have Given A Different Answer

Four modelling choices carry most of the weight, and two of them would move the headline numbers a long way.

Equal effects. Every mutation in this study costs exactly \(s\). Real genomes have a distribution of fitness effects spanning many orders of magnitude, and that changes the character of the question rather than its answer. With a distribution, the ratchet runs in the nearly neutral tail while strongly selected sites hold still, and "the" click rate stops being a single number. Our §6 result says the rate is governed by \(s \times n_0\); with a spread of \(s\) values there is no single \(s\) to put in it. We would expect the effective ratchet to be faster than our equal-effects model at the same mean \(s\), because the slow-selection tail is where \(n_0\) is smallest. This is the choice most likely to have changed our answer, and we did not test it.

Free recombination. Our \(R = 0.152\) threshold is the amount of sex needed when every site assorts independently, which is the most efficient recombination physically possible. A real chromosome has linkage, and linked sites recombine only across the map distance between them. So 15.2% is a lower bound on the rate of sex a real genome would need, and the true requirement for a genome with realistic map lengths would be higher, possibly much higher. Anyone quoting our threshold as "one in seven does it" without that caveat is misquoting us.

No beneficial or compensatory mutation. Our populations have no road back, which is why the fitness lines in Figure 4 run straight down forever. Real asexual lineages have compensatory mutation, gene conversion, occasional sex, and selection on population size. Any one of those can hold a ratchet that this model runs. Howe and Denver documented compensatory change doing exactly that job in the non-recombining mitochondrial genome of Caenorhabditis briggsae [12]. Our model can say nothing about when that rescue arrives and when it does not, because we did not put the mechanism in. What our populations get instead is the version with the rescue deleted, which is why they fall forever.

Non-overlapping generations. Everybody in our populations reproduces at once and then dies. Metzger and Eule showed that letting generations overlap changes the distribution of the fittest individuals and therefore the ratchet rate [14]. We did not test the size of that effect and we should not guess at it.

One choice that we checked and that did not matter: the load-class window. We were worried that truncating the distribution at a fixed number of classes above the minimum would quietly discard the tail that matters. The worst probability mass lost off the top of the window anywhere in the grid was \(4.44\times10^{-16}\), which is floating-point noise.

What the study does say, stated narrowly: in a haploid Wright-Fisher population with equal-effect multiplicative deleterious mutations and no back mutation, the rate at which the least-loaded class is lost is governed by \(s \times n_0\) rather than \(n_0\), the one-generation estimate \(e^{-n_0}\) is unusable across our whole grid, mean fitness declines at exactly (click rate) \(\times \ln(1-s)\), and free recombination in about one offspring in seven reduces the drift to a hundredth of the asexual rate. Everything past that sentence is extrapolation, and the extrapolation to any actual organism is somebody else's experiment.

Reproducing This

One file, no arguments, no data files, no configuration. It needs Python 3.12 and numpy 2.0 or later (for numpy.bitwise_count, used by the packed-genome engine); nothing else is imported beyond math, sys and time.

python mullers-ratchet.py > mullers-ratchet-output.txt

Expect under three minutes on a modern laptop. Ours took 169.7 s on Python 3.12.3 and numpy 2.4.2. The section timings printed at the end of the output show where it goes: the 60-cell grid takes 46 s and the recombination sweep takes 91 s, which is more than half the total, because explicit 1024-site genomes cost roughly a hundred times what the load-class histogram costs per generation. The master seed is 20250921, hard-coded at the top of the file, and every parameter cell draws an independent stream from it through numpy's SeedSequence.spawn, so the output is deterministic: we re-ran the file after writing this article and it reproduced the earlier run byte for byte. Numbers differing from ours by more than the printed standard errors mean something is wrong, and we would like to hear about it. The interactive model runs a smaller version of both engines in your browser, and its default settings reproduce the asexual click rate and the recombination threshold quoted above.

References

  1. Muller, H. J. (1932). Some genetic aspects of sex. The American Naturalist 66, 118–138. doi:10.1086/280418
  2. Muller, H. J. (1964). The relation of recombination to mutational advance. Mutation Research 1, 2–9. doi:10.1016/0027-5107(64)90047-8
  3. Felsenstein, J. (1974). The evolutionary advantage of recombination. Genetics 78, 737–756. doi:10.1093/genetics/78.2.737
  4. Haigh, J. (1978). The accumulation of deleterious genes in a population: Muller's ratchet. Theoretical Population Biology 14, 251–267. doi:10.1016/0040-5809(78)90027-8
  5. Pamilo, P., Nei, M. & Li, W.-H. (1987). Accumulation of mutations in sexual and asexual populations. Genetical Research 49, 135–146. doi:10.1017/S0016672300026938
  6. Stephan, W., Chao, L. & Smale, J. G. (1993). The advance of Muller's ratchet in a haploid asexual population: approximate solutions based on diffusion theory. Genetical Research 61, 225–231. doi:10.1017/S0016672300031384
  7. Lynch, M., BΓΌrger, R., Butcher, D. & Gabriel, W. (1993). The mutational meltdown in asexual populations. Journal of Heredity 84, 339–344. doi:10.1093/oxfordjournals.jhered.a111354
  8. Gessler, D. D. G. (1995). The constraints of finite size in asexual populations and the rate of the ratchet. Genetical Research 66, 241–253. doi:10.1017/S0016672300034686
  9. Gordo, I. & Charlesworth, B. (2000). The degeneration of asexual haploid populations and the speed of Muller's ratchet. Genetics 154, 1379–1387. doi:10.1093/genetics/154.3.1379
  10. Gordo, I. & Charlesworth, B. (2000). On the speed of Muller's ratchet. Genetics 156, 2137–2140. doi:10.1093/genetics/156.4.2137
  11. Jain, K. (2008). Loss of least-loaded class in asexual populations due to drift and epistasis. Genetics 179, 2125–2134. doi:10.1534/genetics.108.089136
  12. Howe, D. K. & Denver, D. R. (2008). Muller's ratchet and compensatory mutation in Caenorhabditis briggsae mitochondrial genome evolution. BMC Evolutionary Biology 8, 62. doi:10.1186/1471-2148-8-62
  13. Neher, R. A. & Shraiman, B. I. (2012). Fluctuations of fitness distributions and the rate of Muller's ratchet. Genetics 191, 1283–1293. doi:10.1534/genetics.112.141325
  14. Metzger, J. J. & Eule, S. (2013). Distribution of the fittest individuals and the rate of Muller's ratchet in a model with overlapping generations. PLoS Computational Biology 9, e1003303. doi:10.1371/journal.pcbi.1003303
  15. Chao, L. (1990). Fitness of RNA virus decreased by Muller's ratchet. Nature 348, 454–455. doi:10.1038/348454a0
  16. Duarte, E., Clarke, D., Moya, A., Domingo, E. & Holland, J. (1992). Rapid fitness losses in mammalian RNA virus clones due to Muller's ratchet. Proceedings of the National Academy of Sciences 89, 6015–6019. doi:10.1073/pnas.89.13.6015
  17. Andersson, D. I. & Hughes, D. (1996). Muller's ratchet decreases fitness of a DNA-based microbe. Proceedings of the National Academy of Sciences 93, 906–907. doi:10.1073/pnas.93.2.906