sim.genot.metapop.t | R Documentation |
This function allows to simulate genetic data from a metapopulation model, where each population can have a different size and a different inbreeding coefficient, and migration between each population is given in a migration matrix.
This function simulates genetic data under a migration matrix model. Each population i sends a proportion of migrant alleles m_{ij} to population j and receives a proportion of migrant alleles m_{ji} from population j.
sim.genot.metapop.t(size=50,nbal=4,nbloc=5,nbpop=3,N=1000, mig=diag(3),mut=0.0001,f=0,t=100)
size |
the number of sampled individuals per population |
nbal |
the number of alleles per locus (maximum of 99) |
nbloc |
the number of loci to simulate |
nbpop |
the number of populations to simulate |
N |
the effective population sizes of each population. If only one number, all populations are assumed to be of the same size |
mig |
a matrix with nbpop rows and columns giving the migration rate from population i (in row) to population j (in column). Each row must sum to 1. |
mut |
the mutation rate of the loci |
f |
the inbreeding coefficient for each population |
t |
the number of generation since the islands were created |
In this model, θ_t can be written as a function of population size N_i, migration rate m_{ij}, mutation rate μ and θ_{(t-1)}.
The rational is as follows:
With probability \frac{1}{N_i}, 2 alleles from 2 different individuals in the current generation are sampled from the same individual of the previous generation:
-Half the time, the same allele is drawn from the parent;
-The other half, two different alleles are drawn, but they are identical in proportion θ_{(t-1)}.
-With probability 1-\frac{1}{N_i}, the 2 alleles are drawn from different individuals in the previous generation, in which case they are identical in proportion θ_{(t-1)}.
This holds providing that neither alleles have mutated or migrated. This is the case with probability m_{ii}^2 \times (1-μ)^2. If an allele is a mutant, then its coancestry with another allele is 0.
Note also that the mutation scheme assumed is the infinite allele (or site) model. If the number of alleles is finite (as will be the case in what follows), the corresponding mutation model is the K-allele model and the mutation rate has to be adjusted to μ'=\frac{K-1}{K}μ.
Continue derivation
A data frame with size*nbpop rows and nbloc+1 columns. Each row is an individual, the first column contains the identifier of the population to which the individual belongs, the following nbloc columns contain the genotype for each locus.
Jerome Goudet jerome.goudet@unil.ch
#2 populations psize<-c(10,1000) mig.mat<-matrix(c(0.99,0.01,0.1,0.9),nrow=2,byrow=TRUE) dat<-sim.genot.metapop.t(nbal=10,nbloc=100,nbpop=2,N=psize,mig=mig.mat,mut=0.00001,t=100) betas(dat)$betaiovl # Population specific estimator of FST #1D stepping stone ## Not run: np<-10 m<-0.2 mig.mat<-diag(np)*(1-m) diag(mig.mat[-1,-np])<-m/2 diag(mig.mat[-np,-1])<-m/2 mig.mat[1,1:2]<-c(1-m/2,m/2) mig.mat[np,(np-1):np]<-c(m/2,1-m/2) dat<-sim.genot.metapop.t(nbal=10,nbloc=50,nbpop=np,mig=mig.mat,t=400) pcoa(as.matrix(genet.dist(dat))) # principal coordinates plot ## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.