Yesterday I updated my little population genetic simulation & numerical analysis package PopGen so that users can overlay the change in allele frequency through time on the same plot.
To install PopGen I would recommend first installing devtools from CRAN after which it can easily be installed directly from GitHub as follows:
library(devtools)
install_github("liamrevell/PopGen")
Load the package:
library(PopGen)
Now let's use the function selection to plot changes in allele frequency through time under a
simple biallelic selection model.
The funciont takes as arguments:
args(selection)
## function (p0 = 0.01, w = c(1, 0.9, 0.8), time = 100, show = "p",
## pause = 0, ...)
## NULL
which includes the initial frequency of allele A (p), the fitnesses of the homozygote
(AA), heterozygote (Aa), and homozygote (aa), in that order (w), and some
other arguments.
First, let's try to run the model under its default conditions:
selection()
We can modify the argument values of the function. The default conditions show co-dominance for fitness. Let's run a co-dominance, recessive, and dominance for fitness models as follows:
## co-dominance for fitness
selection(time=600)
## dominance for fitness
selection(w=c(1,1,0.8),time=600,color="blue",add=TRUE)
## recessive for fitness
selection(w=c(1,0.8,0.8),time=600,color="red",add=TRUE)
legend(x="bottomright",legend=c("co-dominance","dominance","recessive"),
col=c("black","blue","red"),lty=1)
Neat.
The function selection can also show other things - such as the fitness surface, and δp as a
function of p. Here's what I mean, in this case using a severe overdominance model:
par(mfrow=c(3,1))
w<-c(0.6,1,0.4)
selection(p0=0.001,w=w,time=50)
selection(w=w,show="surface")
selection(p0=0.001,w=w,show="cobweb",time=50)
title(main="cobweb plot of p(t+1)~p(t)")
No comments:
Post a Comment
Note: due to the very large amount of spam, all comments are now automatically submitted for moderation.