×
you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 4 points5 points  (13 children)

Not sure where else to put this, though it's probably mostly of interest to /u/gwern.

I've been trying to think of methods to increase polygenic scores that are more powerful than embryo selection and (today's) embryo editing, but more practical than iterated embryo selection and genome synthesis. Here's an idea that I haven't seen yet (which might be because it's biologically impossible... IDK).

Start with a sequenced organism and pick the best (highest-scoring) chromosome from each pair of homologous chromosomes. Do this again with another organism, then pair up the results, pack them into a nucleus, and clone into an embryo. Let's call this procedure "optimal chromosome selection" (OCS).

Here's some intuition for why OCS would be effective at boosting PGS value. For each homologous pair, you make a single binary decision. Considering both the mother and father, you've made 55 binary decisions. If we ignore recombination and so view meiosis as randomly selecting one chromosome from each pair, the chance of getting such a good result through chance would only be 1 in 255 , effectively impossible.

I made some assumptions and did a rough calculation, which suggests that the expected value of the increase would be 3.65 PGS SDs. (Note that the expectation is taken over the parent genomes, since the procedure is deterministic.) For comparison, embryo selection with 10 embryos would give about 1.06 PGS SDs. As for editing, as far as I know, today's editing tech can't make enough edits to gain non-negligible boosts of highly polygenic traits.

This result is still less than IES (which scales linearly with number of iterations) and genome synthesis (which produces an arbitrary genome). However, it has some benefits compared to these techniques.

The big problem with IES is that you need more than 2 parents, to avoid in-breeding. For n iterations, you need to start with 2n parents. I think that if IES becomes possible, there might be some unusual couples who opt into such an arrangement, but it clearly faces some social barriers to adoption. On the other hand, OCS works fine with 2 parents.

Genome synthesis subsumes all other techniques, since it can produce literally anything. But I'm guessing the hardest challenge of OCS is packing the selected chromosomes into a nucleus, and genome synthesis needs to solve that too alongside all the other challenges it has. So OCS is strictly easier to implement than genome synthesis.

As a final note, OCS works better the more chromosomes a species has. So a better application might be in cows, which have 30 pairs (compared to human 23). That application would also accept less reliability, which is important, since doing OCS is at least as hard as cloning.

In conclusion, I'm curious to read anything that has been written about OCS (whatever the actual name is). It seems to fill a useful niche.

[–]gwern 1 point2 points  (12 children)

I think you're right that hypothetically selecting chromosomes could be useful. It's our old friend CLT again - when we select on embryos, we're selecting only on the sum of the cross-overed chromosomes, but the sum is less variable than the original components individually because there's averaging out. Similarly, you can do better by selecting on sperm/eggs instead of embryos even for a fixed n of gametes (5/5 egg-sperm pairs vs 5 embryos), and you can benefit from the huge supply of sperm as well rather than continuing to be limited by the eggs. Some sort of chromosome selection would also be expected to be better than embryo selection, at least in some scenarios. Although like egg/sperm donation it has the problem that it's not at all obvious how you would ever do this in practice...

For each homologous pair, you make a single binary decision. Considering both the mother and father, you've made 55 binary decisions.

55? Shouldn't that be 45? There are 23 chromosome pairs; each parent has 22 autosomal chromosome pairs, so 22+22; you can't pick from the father's sex chromosome since he has X/Y, only 1 copy of each, but you can from the mother's sex chromosome, X/X, so you get total choices 22+22+1=45.

I'm also not sure about your +3.65 estimate. It seems to me that each chromosome selection is a 2 order-statistic (max out of 2 Gaussians), with a SD equal to sqrt(PGS variance * relatedness / chromosome count) (because SDs add up to the final variance, so to allocate the known variance from PGS of 0.30*0.5 for siblings, I divide by 22 or 23, split in half over 2 parents), done 22 and 23 times, and the gain summed. That gets me only to +2.18SD:

chromosomeSelection <- function(n1=22, n2=23, variance=1/3, relatedness=1/2) {
    sum(replicate(n1, exactMax(2, sd=sqrt((variance*relatedness) / n1)))) +
    sum(replicate(n2, exactMax(2, sd=sqrt((variance*relatedness) / n2)))) }
chromosomeSelection()
# [1] 2.184961958

(Ignoring length of chromosome issues, leading to overestimating, and, er, I guess the recombination contributes a lot of variance so maybe that's an overestimate too... Maybe I need to break out an actual PGS and simulate chromosomes to figure this out.)

How are you calculating it?

[–][deleted] 2 points3 points  (11 children)

Similarly, you can do better by selecting on sperm/eggs instead of embryos even for a fixed n of gametes (5/5 egg-sperm pairs vs 5 embryos), and you can benefit from the huge supply of sperm as well rather than continuing to be limited by the eggs.

Thanks for the link to your footnote. Gamete selection is really interesting too and wasn't something I had on my mental list. With IVG, gamete selection would become fairly easy, right? And unlike IES, it requires only 2 parents, which is nice.

55? Shouldn't that be 45?

Uh yes, oops. Apparently I can't add properly.

How are you calculating it?

Here's the spreadsheet: https://docs.google.com/spreadsheets/d/1Jv_FgXJJepEpXy-f24yeqGy2ejwl0AG0qI8-P99vzSg/edit?usp=sharing.

I think the only major difference is that I assume the PGS variance is 1. That's why I'm using the units "PGS SDs", because to get trait SDs, you'd need to multiply again by the PGS correlation. If you multiply my number by sqrt(0.3), it comes out within the ballpark of yours (rounding to 2.00, by coincidence).

I take into account that chromosomes have different lengths, and assume that the PGS variance is distributed proportionally to chromosome length, but it turns out not to be very important.

Edit 2: The inaccuracy that I speculate would matter most is the assumption that each chromosome is drawn independently from the population distribution. Realistically, there's going to be a lot of assortative mating happening, which makes homologous pairs more similar than under the independence assumption. That's bad news for any selection approach.

Edit: One last thing: you mention "recombination contributes a lot of variance", but in chromosome selection, no recombination would occur. The only reason recombination is relevant is that embryo selection, if you make n really large, can in principle get a result better than chromosome selection can achieve. The value of n required for this is enormous though.

[–]gwern 1 point2 points  (10 children)

With IVG, gamete selection would become fairly easy, right?

I think so. You would take your initial 5 eggs or whatever, turn them into stem cells, clone/replicate once or twice, pick out one clone for each of the 5 lines to sequence, then pick the best of the 5 lines to make hundreds/thousands of eggs for fertilization, and likewise for sperm. Once they are turned back into stem cells, you can easily make more of them and do standard destructive sequencing at leisure. There's no randomization or meiosis or fertilization going on which would block inferences.

Here's the spreadsheet: https://docs.google.com/spreadsheets/d/1Jv_FgXJJepEpXy-f24yeqGy2ejwl0AG0qI8-P99vzSg/edit?usp=sharing.

Hm. Oh, so you simply assume a PGS of 100%/1 as a unit, and then do PGS*length*0.5 to get variance, and then calculate the 2 order statistic for N(0, sqrt(PGS*length*0.5)) for each chromosome pair to get the expected value of picking between them. Yeah, that's a simpler way to describe it than my working backwards approach although equivalent. So let's see, here's an implementation in R:

chromosomeSelection <- function(variance=1/3) {
    chromosomeLengths <- c(0.0821,0.0799,0.0654,0.0628,0.0599,0.0564,0.0526,0.0479,0.0457,0.0441,
        0.0446,0.0440,0.0377,0.0353,0.0336,0.0298,0.0275,0.0265,0.0193,0.0213,0.0154,0.0168,0.0515)
    x2 <- 0.5641895835
    f <- x2 * sqrt((chromosomeLengths[1:23] / 2) * variance)
    m <- x2 * sqrt((chromosomeLengths[1:22] / 2) * variance)
    sum(f, m) }
chromosomeSelection()
# [1] 2.10490714
chromosomeSelection(variance=1)
# [1] 3.645806112

For 1/3rds, it'd definitely take a lot of embryos. I had to fix up the exactMax code to avoid calling lmomco in n>2000 where it's buggy to get a crossover point around 5 million embryos. That doesn't sound like it could be right, but I suppose that shows how you're fighting the thin tails of the normal distribution.

Of course, if you want to take the logic even further, what's beneath chromosomes? Well, chromosomes are themselves made out of haplotype blocks of various lengths, and the shorter they are, the more variance exposed if you can pick and choose... although at that point it's basically a kind of IES anyway.

[–][deleted] 0 points1 point  (9 children)

I had to fix up the exactMax code to avoid calling lmomco in n>2000 where it's buggy to get a crossover point around 5 million embryos. That doesn't sound like it could be right, but I suppose that shows how you're fighting the thin tails of the normal distribution.

I also got ~6 million. (I wasn't careful about numerical issues, so I don't have a lot of confidence in that number.) I don't have an intuition for exactly what the order of magnitude should be, but I believe that it's big, since normal distribution tails are very thin (as you mentioned).

Of course, if you want to take the logic even further, what's beneath chromosomes? Well, chromosomes are themselves made out of haplotype blocks of various lengths, and the shorter they are, the more variance exposed if you can pick and choose... although at that point it's basically a kind of IES anyway.

Yeah, I think stitching together haplotypes is an interesting possibility. The extra difficulty compared to doing chromosome selection is that you need a way to break and rejoin DNA, which is mostly the same task as editing via double-strand breaks. So, it's within the reach of current tech, but brings with it the error problems that editing can have.

I speculate that for a given number of double-strand breaks, it's more effective to use them to stitch haplotypes rather than toggling SNPs. One reason is that a longer segment has a bigger effect on PGS (which is the same reason that chromosome selection has high impact). Another nice thing is that by using a whole haplotype, then even if your PGS is partly based on tag SNPs, whatever variant is being tagged gets brought along for the ride anyway. That means you don't need to worry as much about causality as editing does.

(To be fair to editing, the ideal there is to have a full set of single base edits, which are a lot more reliable than double-strand breaks.)

Edit: Compared to IES, haplotype stitching keeps the advantage of only needing 2 parents. You could do it with more than 2 parents, but it's not necessary. I think that in the infinitessimal model, sufficiently fine haplotype stitching gives an arbitrarily large PGS increase, even with only 2 parents. Obv that must fail in practice past some amount, but wherever it maxes out is probably pretty big.

[–]gwern 1 point2 points  (8 children)

but I believe that it's big, since normal distribution tails are very thin (as you mentioned).

Yeah, it feels counterintuitive, but then, so do most things involving selection/order-statistics/normal distributions. I remember the first time I loaded up a PGS and calculated a maximal score of thousands of SDs - 'wait, that can't be right, humans just don't vary that much...' They don't, but only because CLT makes almost all of it cancel out! I've also been surprised by gains from two-stage selection and so on.

I wonder if there is a general formula relating expected gain to number of subdivisions and number of levels? eg are you better off with 2 levels with 3 subdivisions, or 3 levels with 2 subdivisions? (I want to say 3 levels but I don't know for sure.) That might help with intuitions. Also provide a general way for calculating selection on embryos vs chromosomes vs haplotypes vs individual alleles.

I speculate that for a given number of double-strand breaks, it's more effective to use them to stitch haplotypes rather than toggling SNPs.

Sounds difficult. How do you have two ends of two haplotypes floating around so the double-strand break gets repaired by stitching them together?

Another nice thing is that by using a whole haplotype, then even if your PGS is partly based on tag SNPs, whatever variant is being tagged gets brought along for the ride anyway. That means you don't need to worry as much about causality as editing does.

Yep. One of the big advantages of IES/genome-synthesis over editing - editing is too fine-grained while you only have sets of tag SNPs available. That's another way to argue that going below haplotype level isn't useful right now.

Lots of possibilities, but the devil is in the details of feasible implementation.

[–][deleted] 0 points1 point  (7 children)

I remember the first time I loaded up a PGS and calculated a maximal score of thousands of SDs - 'wait, that can't be right, humans just don't vary that much...' They don't, but only because CLT makes almost all of it cancel out!

Yeah, there's something deeply counter-intuitive about it. Hsu's writing on the topic (with examples from animal & plant breeding) convinced me that it's not just an artifact of the model. The models will fail at some point, but only after some major increases.

I think the size of the potential here has been under-reported. If it weren't for Hsu banging the drum, I might not have heard of it. There are plenty of people talking vaguely about "smarter designer babies", but that doesn't make it clear just how much astoundingly smarter that seems plausible.

I wonder if there is a general formula relating expected gain to number of subdivisions and number of levels? eg are you better off with 2 levels with 3 subdivisions, or 3 levels with 2 subdivisions? (I want to say 3 levels but I don't know for sure.) That might help with intuitions. Also provide a general way for calculating selection on embryos vs chromosomes vs haplotypes vs individual alleles.

Do you mean for IES? (I'm not sure what you mean by "subdivisions" and "levels".) I figure that IES is basically just traditional breeding using polygenic scores instead of direct observation of traits, and so whatever algorithms people worked out for traditional breeding should work for IES too. But I don't have knowledge of traditional breeding procedures.

I say "algorithms" because the optimal way to do it is probably adaptive. Each time you produce and sequence an embryo, you get information about what random outcome you got for that embryo, which can change what you do next. For example, if you get a high-scoring embryo early in a generation, you might want to stop that generation early and save your "embryo budget" for a later generation where you aren't as lucky.

How do you have two ends of two haplotypes floating around so the double-strand break gets repaired by stitching them together?

IDK. My concrete biology knowledge is bad. I assume that for haplotype stitching, you'd need to remove the chromosomes from the nucleus before doing any editing, so you'd have control over when repair happens.

[–]gwern 1 point2 points  (1 child)

The models will fail at some point, but only after some major increases.

It helps me to think of it in terms of cross-species differences. A human is the equivalent of hundreds or thousands of SDs smarter than a chimpanzee in general: they can approach us for a few things like digit span, but otherwise...

Of course, making that comparison is hard to prove and outside peoples' Overton Windows, so it's easier to talk about von Neumann etc.

Do you mean for IES? (I'm not sure what you mean by "subdivisions" and "levels".)

I just mean in general. You can see embryo selection as selection out of n embryos with variance=PGS and K=1 components (1 embryo); this gives you, say, +1SD. But you can go down a level as each embryo is made out of 46 chromosomes, so you can do selection out of n=2 with variance=PGS/K and K=23 sets of chromosomes. And you can also go up a level and do selection out of n=3 children with variance=90% (minus shared-environment) and K=1 (children). And so on. And all of this can be stacked, you can do chromosome selection to create gametes, fertilize gametes and do embryo selection, and then select out of a family of children. How are n/K/variance/number of stages or level related to total gain and where is it most efficient to do a fixed amount of selection? The lower down the better, but the more subdivisions/components the more you can exploit the power of selection, and variance might differ, so the optimum can change. The top level constrains the next level and so on with a simple algorithm like 'variance=PGS/K'. So it seems like there should be some simple way to express it better than calculating concrete scenarios out by hand like we're doing.

[–][deleted] 0 points1 point  (0 children)

I think there are two directions you're exploring here.

First is that, given all these procedures to choose from, it would be nice to know which to use to get the best result. Ultimately this is going to depend on the costs, with technological infeasibility being effectively an infinite cost. Without knowing the costs to do the procedures, it's very hard to say one is better than another.

The other direction is to find common generalizations of procedures. To this end, here's one way to view some of the selection procedures:

  • Embryo selection: random recombination, random segregation
  • Chromosome selection: no recombination, optimal segregation
  • Haplotype stitching: optimal recombination, optimal segregation

So we could, for example, imagine doing random recombination followed by optimal segregation. For example, use IVG to make several embryos, sequence each embryo, then optimally select chromosomes from those embryos to make a new embryo.

[–]gwern 1 point2 points  (4 children)

Speaking of ways to increase variance, check this out: "Unleashing meiotic crossovers in crops", Mieulet et al 2018:

Improved plant varieties are hugely significant in our attempts to face the challenges of a growing human population and limited planet resources. Plant breeding relies on meiotic crossovers to combine favorable alleles into elite varieties (1). However, meiotic crossovers are relatively rare, typically one to three per chromosome (2), limiting the efficiency of the breeding process and related activities such as genetic mapping. Several genes that limit meiotic recombination were identified in the model species Arabidopsis (2). Mutation of these genes in Arabidopsis induces a large increase in crossover frequency. However, it remained to be demonstrated whether crossovers could also be increased in crop species hybrids. Here, we explored the effects of mutating the orthologs of FANCM3, RECQ44 or FIGL15 on recombination in three distant crop species, rice (Oryza sativa), pea (Pisum sativum) and tomato (Solanum lycopersium). We found that the single recq4 mutation increases crossovers ~three-fold in these crops, suggesting that manipulating RECQ4 may be a universal tool for increasing recombination in plants. Enhanced recombination could be used in combination with other state-of-the-art technologies such as genomic selection, genome editing or speed breeding to enhance the pace and efficiency of plant improvement.

[–][deleted] 0 points1 point  (3 children)

Thanks for the link.

As a note though, I kind of think that crossing-over does not actually increase statistical variance (in embryo selection). Consider that the sibling variance multiplier 0.5 doesn't depend on the number of chromosomes. The math for a crossing-over hotspot works out similarly to the math for two separate chromosomes.

(I am extremely uncertain about the above. Mostly I take it as a sign that I need to dig into the fundamentals of the models more carefully.)

Recombination does lead to more possible outcomes, though, just in a way that isn't necessarily captured by statistical variance. (That implies a failure of the normal distribution approximation.)

For example, consider these two random variables:

  • X that is +1 with probability 0.5, otherwise -1
  • Y that has a standard normal distribution

E[X]=E[Y]=0 and Var[X]=Var[Y]=1. But if you are taking many samples and selecting the maximum, you will get a better result from Y.

[–]gwern 1 point2 points  (2 children)

I read through the paper and then took a look at the cites - https://sci-hub.tw/http://www.sciencedirect.com/science/article/pii/S1360138508002513 seems to be the best reference on practical applications of increasing meiotic crossovers. No one mentions genomic prediction/breeding/marker-assisted selection and the focus seems to be on making rare combos more possible by less linkage. That could reflect that it doesn't actually increase variance either phenotypic or genotypic, or maybe it just reflects the usual focus on Mendelian traits.

I've been thinking about it too and it's not immediately intuitive to me what exactly the effects would be on a complex trait (aside from greatly increasing LD decay and reducing predictive validity of any PGS relying on tag SNPs! haplotypes are a double-edged sword for GWAS...).

I think you have a point about the non-normality and 'lumpiness'. Consider the limiting case of an organism with a single haploid chromosome which splits in half for recombination.

But how about this: there's another way in which more recombination might be helpful. Think of a single chromosome as a long sequence of rectangles, each rectangle being a haplotype. If each rectangle contains exactly 1 causal allele with a +- effect, then sure, increasing recombination rate doesn't create more variance. It just chops up more haplotypes into 'empty haplotypes'. But what if there's more than 1? For example, a +1 and a -1 allele. As the haplotype gets inherited as a whole, the effect is 0. It doesn't matter whether the male or female version gets copies, it's a null. However, if you had more recombination, there's an increased chance that null haplotypes will get broken up and expose both the +1 and -1 alleles separately; 1 sibling inherits the +1, and another sibling inherits the -1; now they have greater variance than before (and both are exposed to selection). In the extreme of increased crossover, every single basepair breaks and has a 50-50 chance of being crossovered, and no alleles are in LD with each other at all. Instead of being 100,000 coinflips or whatever, it's billions. At least intuitively, it does feel like increasing recombination rate (within each generation) might legitimately increase variance by removing all the canceling-out inherent in haplotypes. (Come to think of it, this is closely connected to the whole 'why is so much variance additive when biologically, everything is dominance or epistasis? because additive variance reflects the average effect of all the wonky interactions...')