A back-of-the-envelope model of artificial group selection

2015-10-06 · ~990 words

Written to David Salamon, founder of the microbiome startup General Biotics, after a meeting in which he had described a proposed scheme for breeding better gut bacteria for chickens by “artificial group selection” — culturing bacteria in many separate batches, distributing each batch to its own chicken farm, and then propagating forward whichever batches yielded the heaviest birds. Alyssa was skeptical the scheme could work as described and went home to do the math. The result is a numerical estimate of how long iterative selection would actually take: with the parameters Salamon described, on the order of 285 million years.


I did some quick math on the mechanics of artificial group selection, and it seems to confirm my intuition that it’s unlikely to work very well under the conditions you describe. I think there are great opportunities in the microbiome space overall, but my current best guess is that that particular part of the system will have to be redesigned.

For a simplified model, suppose that there are two different strains of bacteria, A and B. A is the “good bacterium” and B is the “bad bacterium”, and they’re initially present in equal amounts. Call p the frequency of bacterium A in the overall bacterial population. At the beginning, before any selection, we assume p = 0.5.

We start off by culturing 10 sets of bacteria, for eventual distribution to 10 different chicken farms, with a constant population of 10 12 bacteria in each set. The bacteria are initially selected at random, but some sets will have slightly more of strain A or of strain B, forming a probability distribution over p for the space of sets. This distribution can be easily calculated via the Central Limit Theorem, and it’s a normal distribution with a mean of 0.5 and a variance of 2.5 × 10 −13 (standard deviation goes as √(sample size)).

We then culture the sets of bacteria for a total of six weeks. We assume that the bacteria divide once per hour, so (assuming discrete generations for simplicity) that gives us a total of 6 weeks = 6 × 7 = 42 days = 42 × 24 = 1008 bacterial generations.

We’ll assume that, in the lab culture environment, neither A nor B has an evolutionary advantage over the other. This is of course unrealistic, but I don’t think it should affect the end results much. Whatever advantage A has over B (or vice versa) will be the same in each subpopulation, and our selection via chickens operates only on the differences between subpopulations; the absolute proportion of A and B doesn’t really matter.

Over time, random variation in each bacterial subpopulation will accumulate, due to genetic drift. Per Wikipedia on genetic drift , the variance in allele frequency due to drift goes as p · q · (1 − e − t /2 N ), where p and q are the allele frequencies, t is the number of generations and N is the population size. Plugging in the earlier numbers, we get a total allele variance after six weeks of 0.5 · 0.5 · (1 − e −1008/(2·10 12 ) ) = 0.25 · 5.04 × 10 −10 = 1.26 × 10 −10 .

Combined with the earlier variance from uneven selection, we get a normal distribution for p with mean 0.5 and variance 1.2625 × 10 −10 . This is cheating a bit, but to make the next bits of math easier, I’ll round this off to a discrete bimodal distribution with the same mean and variance. Essentially, instead of a continuous distribution, I’ll just model it as a 50% chance of getting more good bacteria, and a 50% chance of getting more bad bacteria (though in real life, there’d be some chance of getting slightly more good bacteria, some additional chance of getting many more good bacteria, etc., continuously instead of discrete lumps).

Now, let’s look at the chickens. We’ll assume that an average chicken has a mass of 5 kg, and that the average mass of a chicken varies somewhat by farm (due to genetics, farming practices, measurement error, etc.), with a standard deviation of 0.5 kg. (This is for variance between farms, not variance within farms.) We’ll assume that the total effect of bacteria is 10%, and that this effect is linear relative to p (the percentage of good bacteria). Hence, the probability distribution over chicken subpopulations is a normal distribution with mean (4.75 + 0.5 · p ) kg and s.d. 0.5 kg.

After six weeks, we deliver the bacteria to the farmers; of course, some farmers get more good bacteria, and some farmers get more bad bacteria. We then come back later, weigh the chickens, and select the farm with the biggest ones. Out of ten farms, per StackExchange, we can calculate about how much the best farm’s chickens will weigh via something called “ order statistics ”. Doing out the math, I get an expected best farm with an average mass +1.55 s.d. over the mean, or chickens that weigh an average of 5.775 kg.

Since good bacteria increase chicken mass, the best farm is more likely to be a farm with more good bacteria than a farm with more bad bacteria, which is where the selection pressure comes from. We can calculate how much more likely by dividing the two probability density functions (the chicken pdf for good bacteria and the chicken pdf for bad bacteria), giving a ratio of probabilities. Both pdfs have the same s.d., and their means differ by twice the standard deviation of the bimodal bacterial distribution (0.000011236), multiplied by 0.5, since a change in 1 of bacteria frequency produces a change of 0.5 kg in chicken mass. Doing out the math with pen and paper, the ratio of probabilities is 1.00003483, and since this equals p / (1 − p ), we can calculate that the total probability that the best farm had more good bacteria as 0.500009 (50.0009%).

Hence, after one generation of selection, the in-expectation frequency of good bacteria E( p ) is equal to p (chose good bacteria) · (frequency of good bacteria | chose good bacteria) + p (chose bad bacteria) · (frequency of good bacteria | chose bad bacteria), and plugging in p (chose good bacteria) = 0.500009 and (frequency of good bacteria | chose good bacteria) = 0.500011236, we get E( p ) = 0.50000000020225. The expected change in p per generation is therefore 2.0225 × 10 −10 , and so to get mostly bacteria of type A we would need a total of roughly 0.5 / (2.0225 × 10 −10 ) = 2.472 billion generations of selection, which if each generation lasts six weeks would take 285 million years.