Difference between revisions of "Genetic Drift"

From Genetics Wiki
Jump to: navigation, search
Line 1: Line 1:
 
Alleles are sampled from a population to make up the next generation. Anytime a random sample is taken it is likely to deviate slightly from the original population. Genetic drift is evolutionary sampling error. These deviations are not biased in any single direction towards an increase or decrease in frequency of a particular allele. However, these small deviations will accumulate over several generations and ultimately alleles will be lost until only a single allele remains in the population (assuming it is not reintroduced by mutation or from another population).  
 
Alleles are sampled from a population to make up the next generation. Anytime a random sample is taken it is likely to deviate slightly from the original population. Genetic drift is evolutionary sampling error. These deviations are not biased in any single direction towards an increase or decrease in frequency of a particular allele. However, these small deviations will accumulate over several generations and ultimately alleles will be lost until only a single allele remains in the population (assuming it is not reintroduced by mutation or from another population).  
 
[[File:DriftN100.png]]
 
[[File:DriftN100.png]]
 +
 +
=Basic Properties=
 +
 +
The change in allele frequency due to genetic drift is without direction---it is just as likely to increase as to decrease---and is memory-less. Each generation is independent; the direction of frequency change in previous generations has no effect on the change in future generations. 
 +
 +
Complete loss (a frequency of zero) or fixation (a frequency of one) is an absorbing boundary. Once the allele frequency reaching this state it cannot return (due to genetic drift).
 +
 +
Ultimately an allele will reach loss or fixation within a population (if genetic drift is the only force acting).
 +
 +
The probability of ultimate fixation of an allele is its current allele frequency. The probability of loss is one minus the alleles current frequency.
  
 
=Exact Binomial Probabilities=
 
=Exact Binomial Probabilities=

Revision as of 19:34, 23 January 2016

Alleles are sampled from a population to make up the next generation. Anytime a random sample is taken it is likely to deviate slightly from the original population. Genetic drift is evolutionary sampling error. These deviations are not biased in any single direction towards an increase or decrease in frequency of a particular allele. However, these small deviations will accumulate over several generations and ultimately alleles will be lost until only a single allele remains in the population (assuming it is not reintroduced by mutation or from another population). DriftN100.png

Basic Properties

The change in allele frequency due to genetic drift is without direction---it is just as likely to increase as to decrease---and is memory-less. Each generation is independent; the direction of frequency change in previous generations has no effect on the change in future generations.

Complete loss (a frequency of zero) or fixation (a frequency of one) is an absorbing boundary. Once the allele frequency reaching this state it cannot return (due to genetic drift).

Ultimately an allele will reach loss or fixation within a population (if genetic drift is the only force acting).

The probability of ultimate fixation of an allele is its current allele frequency. The probability of loss is one minus the alleles current frequency.

Exact Binomial Probabilities

Average Loss of Heterozygosity

If a small population becomes isolated so that there is no introduction of new alleles (for example in a captive breeding program or as a small number of founders on a new island) and genetic drift is a major force, the average loss of heterozygosity in the genome over multiple generations can be estimated.

[math]H_t = H_0 (1-\frac{1}{2N})^t[/math]

[math]H_t[/math] is the remaining heterozygosity at generation [math]t[/math].

[math]H_0[/math] is the initial heterozygosity at generation zero.

[math]t[/math] is the time in generations.

[math]N[/math] is the (diploid) population size.

The derivation of this stems from the probability of two allele copies being identical by descent over a period of time (and thus losing any potential starting difference between them). There are 2N total allele copies in the population. The probability of two alleles arising from the exact same copy in the previous generation is [math]1/2N[/math] (this is the rate of loss of variation per generation). The probability that this did not occur is [math]1 - 1/2N[/math] per generation. There is an independent chance of this each t generation so these probabilities are multiplied: [math](1 - 1/2N)^t[/math]. (If two randomly selected allele copies arose from the same copy in the previous generation then they cannot be heterozygous; thus, this is a way to keep track of the change in average heterozygosity in the population.) Wright formulated this as the rate of increase of identity-by-descent in terms of a "fixation" index F (variation is lost when a single allele reaches fxation, 100%, in the population). The increase in homozygosity (fixation) is one minus the decrease in heterozygosity. [math]F_t = 1-H_t[/math]. So, the amount of fixation over time t is [math]F_t = 1 - (1-\frac{1}{2N})^t[/math].

This can be simplified by using an exponential function approximation.

[math](1-\frac{1}{2N})^t \approx e^{- t/ 2N}[/math]

[math]H_t \approx H_0 e^{- t/ 2N}[/math]

The time until only half of the original genetic variation remains can be directly estimated as a rule-of-thumb.

[math]\frac{1}{2} = \frac{H_t}{H_0} \approx e^{- t/ 2N}[/math]

[math]\log{\frac{1}{2}} \approx \log{e^{- t/ 2N}}[/math]

[math]-0.6931 \approx - t/ 2N[/math]

[math]1.386 N \approx t [/math]

So, on average half of the genetic variation will be lost due to drift over a period of 1.386 N generations, where N is the diploid population size.

As an example, the 'alalā (Hawaiian crow, Corvus hawaiiensis) became extinct in the wild in 2002 and the species only exists as about 100 individuals maintained in captivity. This predicts that it will take 138 generations for the genetic variation (heterozygosity) of the species to decline by half (if the number of captive individuals remains constant each generation).

In another example, the resident human population of Pitcairn Island is about 50 individuals. If they became completely isolated from the rest of the world and maintained the same population size the majority of their current genetic variation is predicted to still be present in the population 2,000 years from now (assuming a generation time of 30 years).

Of course these examples assume an ideal random-mating population of constant size where each individual has an equal chance of reproducing. There are many ways this scenario can be altered to increase or decrease the rate of loss of genetic variation.

Simulation

A forward simulation that keeps track of all allele copies in a population each generation is easy to understand but can run very slowly for large populations. The following code was used to make this image. DriftN100.png

# a simple forward simulation of genetic drift in R

# start the timer
start <- proc.time()

# population size in number of organisms
N=100
# allele frequency
initp=0.5
# generations
gen=100
# number of replicant populations to plot
reps=10

# make an array of alleles to represent the population
pop<-list()
# population size in number of alleles
popsize=2*N
# make a list to record frequencies
freq<-list()

# uncomment to automatically clear last plot if any
# dev.off()

# list of random plotting colors
cl <- sample(rainbow(100))

# loop through replicate lines to plot
for(r in 1:reps){
  
  # reset frequency
  p=initp

  # assign first generation of alleles
  for(i in 1:popsize){
    if(i<=p*popsize){
      pop[i]<-1
    }else{
      pop[i]<-0
   }
  }

  # loop through generations
  for(g in 1:gen){
  
    # calculate allele frequency
    sum=0
     for(i in 1:popsize){
       if(pop[i]==1){sum=sum+1}
    }
     p=sum/popsize
     print(paste(g,p))
    freq[g]<-p # record frequency
  
   # make a copy of the array
   pop.copy<-pop
  
   # randomly select values to replace
   for(i in 1:popsize){
     j=sample(1:popsize, 1)
     pop[i]=pop.copy[j]
    }
  
  }
  
  x<-c(1:gen)
  par(new=TRUE)
  plot(x,freq,type='l',ylim=c(0,1),col = cl[r],xlab="generations",ylab="allele frequency")
}

# show the run time
total.time<- proc.time() - start
print(total.time)

References and Footnotes