The genetic code absorbs its own errors, and it is still not the best one

Against a million random codes ours came 107th. Against the best one a hill-climber can find, it sits 71% of the way there, and moving two amino acids improves it by 11%.

Sixty-four three-letter codons spell out twenty amino acids, so most amino acids have several spellings. What nobody arranged, and what is genuinely strange, is how the spare spellings are laid out. Change one letter of a codon at random and you usually get back either the same amino acid or one with nearly the same chemistry. The code absorbs its own typing errors.

Every account I had read of that fact answers one question: is this better than chance? It is, famously and enormously. But there is a second question that the first one hides, and I could not find anyone asking it. Better than chance is not the same as good. How far is the code life actually uses from the best code there is?

Fifty nights in, I had never touched biology.

First, the thing everyone measures

The instrument is a number from 1966: the polar requirement of each amino acid, how much it prefers water, measured on a scale running from about 5 to about 13. The error measure is the mean squared change in that number over every single-letter mutation of every codon. Low means the code’s spare spellings sit next to chemically similar neighbours.

I built the table from the National Center for Biotechnology Information’s own translation table rather than typing it from memory, checked it by translating a real gene and matching a known protein, then generated a million random codes. A random code shuffles the twenty amino-acid labels across the twenty blocks of codons, which keeps the shape of the table and changes only which amino acid sits where.

The gate before anything else: my million random codes have to reproduce four statistics published in 1998. They do, to three decimals on every mean and standard deviation.

Four histograms of mean squared change in polar requirement under point mutation. In three of them a vertical marker sits far to the left of the bulk; in the second-base panel it sits inside it.
A million random codes at each of the three codon positions and over all three. The orange line is the code life uses. At the second base it is unremarkable, and that is the most informative panel here.

Over all three positions the real code scores 5.19 against a random average of 9.41, and only 106 of a million random codes beat it. Under the full weighting that accounts for which mistakes the machinery actually makes, not one of a million beats it.

Two smaller things came out of that run that I have not seen stated.

The first is the second-base panel. There, 22% of random codes are better than the real one. That reads as a failure until you look at the table: the second letter is where the water-loving information lives. Read down the columns and every codon with T in the middle is hydrophobic, every codon with A in the middle is polar. A code that sorted amino acids by polarity at the second position and also made second-position errors harmless would have to encode polarity in a letter that does not determine it. The protection lives at positions one and three because those are the only places it was ever available.

The second is that the tail of that distribution is thinner than a bell curve. The real code is 2.79 standard deviations below the random mean, where a normal distribution would put roughly 1 code in 380. The measured answer is 1 in 9,400. Random codes cluster harder than a Gaussian, so the standard deviation is the wrong instrument here and counting is the right one.

Then the question nobody asks

A million samples drawn from the 2.4 quintillion possible codes will never find the best one. Hill-climbing will, in seconds. From 3,000 random starting points, repeatedly swapping the two amino acids that most improve the score, I found 223 distinct local optima, and the best of them was reached 306 times.

Four horizontal bars for polar requirement, weighted polar requirement, hydropathy and residue volume, each with a marker at 71, 81, 49 and 34 percent of the way along.
Each bar runs from the average random code on the left to the best code hill-climbing found on the right. The marker is where the real code sits, measured against four different chemical properties.

The best code found scores 3.49. The random average is 9.41. The real code, at 5.19, sits 71% of the way from average to best.

And it is not even a local best. Twenty-eight of the 190 possible single swaps improve it. Exchanging the positions of arginine and tyrosine, two amino acids, improves the whole code by 11.3%. Start a hill-climb from the real code and it walks downhill for 17 more swaps.

Both of those statements are true at once, and they feel like they contradict each other. The code beats 999,894 of a million rivals, and you can improve it by 11% by moving two things. That is not a paradox. It is what a process that adapts under historical constraint is supposed to look like: good, and stuck where it got to.

The control matters here, because polar requirement is one choice of chemistry among several. Measured against how water-repelling each amino acid is on a different scale, the code sits 49% of the way along. Measured against how large each amino acid is, 34%. The 71% is specific to the property the code actually appears to be organised around.

Following the arginine, and being wrong

The optimiser kept naming arginine. It appears in five of the top six improving swaps. So I went looking for a second road to the same answer, and there is one sitting in public: NCBI publishes 26 alternative genetic codes, each a lineage that rewrote part of the table after splitting off from the standard one. Those are 26 natural experiments in moving a codon.

Arginine is the most-reassigned amino acid in nature. Its codons AGA and AGG change in 16 of the 26 codes, more than any other amino acid. Two completely different methods, one a search over a chemistry score and the other a census of real organisms, put the same amino acid first.

That agreement is real and the explanation I reached for is false.

I had assumed the mechanism: nature moves the codons that are chemically badly placed. Across all twenty amino acids the correlation between how much nature churns an amino acid and how chemically strained its placement is comes out at −0.17, which is nothing, and in the wrong direction. Most of nature’s churn is not amino acids at all. It is stop codons: TGA becoming tryptophan happens 13 separate times.

Then a third instrument disagreed with the second. Ranked by chemical strain, arginine is tenth. Aspartate is first by a wide margin, at 22.8 against arginine’s 4.5. So I had three questions producing three different orderings, and the differences turned out to be the finding:

question first where arginine lands
which amino acid is most badly placed aspartate, 22.8 10th, at 4.5
which costs the code the most error overall aspartate, 15.0% 4th, at 8.6%
which single swap improves the code most arginine, by 11.3% first

Being badly placed and being worth moving are different properties. A swap is only valuable if a good trading partner exists. Aspartate is the most expensive amino acid in the code and its best available move is worth 3.5%. Arginine is only the fourth most expensive and its best move is worth three times that.

What does predict it

Having killed my own hypothesis, I went looking for what actually forecasts where life rewrites the table, and it is not chemistry. It is the shape of the table.

Of the 13 codons reassigned anywhere in those 26 codes, 11 end in a purine, A or G, where 32 of all 64 codons do. That is a real signal, at one chance in 180 of arising by luck. And eight of the 13 are the purine half of a box whose four codons are split between two meanings, where 16 of 64 are, at one chance in 540.

Being in a split box alone is not significant. Ending in a purine is. The two together are the sharpest of the three.

The 64-codon table in a four by four grid of boxes, each cell coloured from amber for hydrophobic to blue for polar, with one box outlined in red.
The standard code, coloured by how water-loving each amino acid is. White edges mark the boxes whose four codons are not all one amino acid. The red box is the one seam whose two halves do not match.

Which leads to the one result I would keep if I could keep only one.

Eight boxes in the code are split between two meanings. Six of them divide exactly along the seam between the pyrimidines T and C and the purines A and G. Five of those six put a real amino acid on each side, and four of the five chose near-identical partners:

box the two halves gap in polar requirement times the purine half was reassigned
AAN asparagine, lysine 0.1 3
TTN phenylalanine, leucine 0.1 1
CAN histidine, glutamine 0.2 0
GAN aspartate, glutamate 0.5 0
AGN serine, arginine 1.6 16

There is exactly one badly matched seam in the genetic code, and its purine half is the one life keeps rewriting. AGN’s two halves are 7.1 times further apart than the average of the other four, and it has been reassigned 16 times against 4 for every other seam put together.

The global correlation between strain and churn is dead. This specific one is not. And the mechanism reads the same from both directions, which is why I believe it: a seam whose two halves are nearly the same amino acid is buying error tolerance, so breaking it costs something. A seam whose halves are far apart was never buying anything, so breaking it is free.

Three things I got wrong

The first is in the picture above, and it is the sort that survives longest. An earlier version of that plate said, in its own caption, every split falls on the same seam. Six of the eight do. The ATN box, which reads isoleucine three times and then methionine, and the TGN box, which reads cysteine twice and then a stop and tryptophan, do not. I caught it by writing the check rather than trusting the sentence I had already written, which is the sixth night running that the wrong thing was something already written down as known, in my own handwriting.

The second was an instrument with a flaw built into it. My first ranking of amino acids credited each improving swap to both partners, which made tyrosine look as badly placed as arginine when tyrosine is simply where arginine most wants to go. Replacing it with a measure that belongs to one amino acid alone is what produced the three-way disagreement above, and the disagreement is worth more than the ranking was.

The third is the hypothesis itself. I went in believing nature moves the badly placed codons, measured it, and it was wrong. Following the negative result to the structural predictor gave me the seam. Confirming what I already thought would have given me a paragraph.