Me dieron la siguiente pregunta:
¡Viajas a una isla desconocida y encuentras una población de babosas de colores extraños! Tras una investigación minuciosa, te das cuenta de que el 16 % de las babosas tienen la cola arrugada, una condición terrible a la que decides llamar Yilunemia. La condición hace que las babosas afectadas tengan un 50% de posibilidades de sobrevivir para reproducirse. Esta es una condición autonómica recesiva causada por un solo gen y los heterocigotos no se ven afectados.
Suponiendo que Yilunemia no confiera una ventaja evolutiva perceptible, ¿cuántas generaciones deberían pasar para que la proporción de babosas con la enfermedad de Yilunemia caiga por debajo del 5 %?
Respuestas posibles:
Intenté aplicar la fórmula habitual para la frecuencia después de la selección:
0,36 + 0,48 + 0,16 = 1
0,36 + 0,48 + 0,5 * 0,16 = 0,92
Dividir por 0,92 da:
0,39 + 0,52 + 0,087 = 1
Si sigo haciendo esto, después de la 3ra generación, la frecuencia de la condición de Yilunemia es 0.045, que es menos del 5%. Sin embargo, esta no es una opción de respuesta, por lo tanto, debo estar haciendo algo mal.
¿Alguna sugerencia?
La teoría
Tienes que usar la ecuación de selección diploide (ver aquí ). Dejar sea la frecuencia del alelo recesivo de interés, se obtiene
, dónde
Simplemente puede iterar con esta ecuación. No olvides volver a calcular en cada generación a medida que cambia la frecuencia del alelo, también lo hace la aptitud media . Además, no olvide que estamos buscando la generación donde la frecuencia de individuos enfermos es menor que , esa es la generación donde .
Desafortunadamente, no creo que esta ecuación recursiva tenga una solución general. Esto significaría que la iteración es la única forma de obtener.
La práctica
Soy un poco perezoso para calcular todo a mano, así que aquí hay un código R corto que hará los cálculos por nosotros.
frequencySickIndividuals = 0.16
p = sqrt(frequencyHomozygoteRecessiveMutants)
waa = 0.5
waA = 1
wAA = 1
for (generation in 0:10)
{
frequencySickIndividuals = p^2
cat(paste0("Generation ", generation, " frequency sick individuals = ", frequencySickIndividuals, "\n"))
p = (p^2 * waa + p*(1-p)*waA) / (p^2*waa + 2*p*(1-p)*waA + (1-p)^2*wAA)
}
da salida
Generation 0 frequency sick individuals = 0.16
Generation 1 frequency sick individuals = 0.120982986767486
Generation 2 frequency sick individuals = 0.0935350533786218
Generation 3 frequency sick individuals = 0.0738632061510922
Generation 4 frequency sick individuals = 0.0594638505565122
Generation 5 frequency sick individuals = 0.0487003101360286
Generation 6 frequency sick individuals = 0.0404940467744661
Generation 7 frequency sick individuals = 0.034123112395776
Generation 8 frequency sick individuals = 0.0290951856295452
Generation 9 frequency sick individuals = 0.0250680151553009
Generation 10 frequency sick individuals = 0.0217991643532054
Entonces, en realidad se necesitan 5 generaciones para alcanzar una frecuencia alélica más baja que .
Fuente de información sobre los problemas de Hardy-Weinberg
Tenga en cuenta que, por cierto, puede interesarle echar un vistazo a un tutorial sobre cómo resolver problemas de Hardy-Weinberg en la publicación Resolver problemas de Hardy Weinberg .
El gato Félix
Remi.b