先引用一段維基百科對遺傳漂變的描述:
遺傳漂變(又稱基因漂變,英語:genetic drift)是指種群中基因庫在代際發(fā)生隨機改變的一種現(xiàn)象。由于任何一個個體的生存與繁殖都受到隨機因素的影響,繁殖過程可視作一種抽樣,子代攜帶的等位基因即是對親代抽取的一種樣本。這一過程中的抽樣誤差使子代中的等位基因頻率與親代并不相等,尤其是在小種群中。遺傳漂變可能改變某一等位基因的頻率,甚至致其完全消失,進而降低種群的遺傳多樣性。一般情況下,種群的生物個體的數量越少,遺傳漂變的效應就越強。遺傳漂變是生物進化的關鍵機制之一。
概率模型
為解釋遺傳漂變,可用瓶子中的20個小球來代表某種群及其20個初始個體。其中半數小球是紅色,半數是藍色,代表種群中的兩種等位基因。每一代的生物體都隨機繁殖。模擬繁殖的方法是從第一瓶中隨機選取一個小球,并在第二個瓶中投入一個同色球,直到裝滿20個新球為止。第二個瓶子表示種群的第二代個體。相比上一代,由小球數量表示的等位基因頻率通常會發(fā)生改變,除非瓶中恰好有10個紅色、10個藍色球。
重復幾次,以隨機“繁殖”每一代的小球。每一代中取到的紅球、藍球的累計數目都會上下浮動,有時紅球多些,有時相反。這正是遺傳漂變——由代際等位基因分布的隨機改變所導致的基因頻率變化。
若在某一代,選取的所有小球都是同一顏色,那么這一等位基因就被固定,另一等位基因則永久丟失,而接下來的所有后代都將攜帶同一種等位基因。在較小的種群中,某一等位基因可能在幾代之內就被固定下來。
隨機抽樣與二項分布
設想一個帶有A,a兩種等位基因的,足夠大的種群。兩種等位基因都是中性的,不影響生物體生存、繁殖。其頻率均為1/2,而基因型頻率分別為Aa=1/2,AA=1/4,aa=1/4。假定出于某種環(huán)境因素,有4個個體遷移出去,形成了一個小而孤立的新種群。雖然這4個個體的選擇完全隨機,但是新種群中A、a的基因頻率很可能不再是1/2。不僅如此,它們有1/256的概率全帶有aa基因型。4個個體還對應著8個配子;每個配子都帶有A、a之一。于是,新種群的基因構成有9種可能,且滿足二項分布。
對于任何一個有限大的種群,以上的推算都成立。如果種群大小為N且在繁殖前后保持不變,對于一個頻率為p的等位基因A,由二項分布可以確定它在下一代的頻率期望仍為p。然而,A的頻率將會出現(xiàn)上下浮動,還存在著在下一代消失的可能性,且基因頻率越低,被丟棄的概率就越高。經過足夠多代以后,該種群必然出現(xiàn)全部個體都為某一等位基因純合子的情形。
R語言實現(xiàn)
drift <- function(N,iFreq,Gen,Rep){
Frequency<-numeric(Gen+1)
Num<-numeric(Gen+1)
Generation<-numeric(Gen)
par(new=F)
for(j in 1:Rep){
Frequency[1]<-iFreq
for(i in 1:Gen){
Generation[i]<-i
Num[i]<-rbinom(1,N,Frequency[i])
Frequency [i+1]<-Num[i]/N
}
Generation[i+1]<-i+1
plot(Generation, Frequency, ylim=c(0, 1), xlim=c(1, Gen), type="l", lty=1, col=j)
par(new=T)
}
}
drift(100,0.5,1000,100)