Page 16
Problem 1.7 Derive the Hardy-Weinberg law for a sex-linked locus. Let the initial frequency of A1 in the females be pf and in the males, pm. Follow the two alleles frequencies in successive generations until you understand the allele-frequency dynamics. Then, jump ahead and find the equilibrium genotype frequencies in females and males. Finally, graph the male and female allele frequencies over several generations for a population that is started with all A1A1 females (pf=1) and A2 males (pm=0).
Note:
Males inherit their X chromosome always from their mother, so the frequency of A1 in males is always equal to the frequency in females in the previous generation. while females inherit an X chromosome from their father, and the other X chromosome from their mother, so the frequency in females is always the average of the male an female frequencies in the previous generation.
Generation | Females | Males | Female – Male |
---|---|---|---|
1 | pf | pm | pf – pm |
2 | (pf + pm)/2 | pf | -(pf – pm)/2 |
3 | (pf + (pf + pm)/2)/2 | (pf + pm)/2 | (pf – pm)/4 |
Start with pf=1 and pm=0, the first 7 generations:
Generation | Females | Males | Female – Male |
---|---|---|---|
1 | 1 | 0 | 1 |
2 | 0.5 | 1 | -0.5 |
3 | 0.75 | 0.5 | 0.25 |
4 | 0.625 | 0.75 | -0.125 |
5 | 0.6875 | 0.625 | 0.0625 |
6 | 0.65625 | 0.6875 | -0.03125 |
7 | 0.671875 | 0.65625 | 0.015625 |
Graph by Python:
import matplotlib.pyplot as plt
import numpy as np
# Females
x = np.array([1,2,3,4,5,6,7])
y = np.array([1,0.5,0.75,0.625,0.6875,0.65625,0.671875])
plt.scatter(x, y)
plt.plot(x, y, '-o')
#Males
x = np.array([1,2,3,4,5,6,7])
y = np.array([0,1,0.5,0.75,0.625,0.6875,0.65625])
plt.scatter(x, y)
plt.plot(x, y, '-o')
plt.show()
Output:
