Simulate F2 populations based on Poisson distribution for the number of cross-over events
For each chromosome, a random haplotype was sampled as either from parent A or parent B, with crossing over occurring at random. The expected number of crossovers (L) in this haplotype was the length of the chromosome in Morgans, whereas the observed number of crossovers for the haplotype was sampled from a Poisson distribution with a mean of L (with restrictions that the number of cross-overs should be confined to the 0.025 and 0.975 quantile of the Poisson distribution). Crossover positions were randomly sampled along a chromosome according to a uniform distribution. To account for interference, two adjacent crossovers were arbitrarily assumed to be at least 10 cM from each other.
If devtools
is not installed, install devtools first.
install.packages("devtools")
library(devtools)
install_github("lian0090/simuPoisson")
simuPoisson(parentsGeno,chr,cM,N)
Arguments
parentsGeno
: a 2 x p
matrix or data.frame of marker genotypes for two parents. Each row is an individual. p is the number of markers. Genotypes must be coded additively: the coded value for heterozygotes must be half the coded value of the two homozygotes. For example, -1,0,1
or 0,1,2
. chr
: a vector of size p for the chromosome numbers of all markerscM
: a vector of size p for the centiMorgan map positions for each markerN
: total number of lines to simulateReturn Values
library(simuPoisson)
data(parentsGeno)
data(map)
#simulate 10 individuals
progeny=simuPoisson(parentsGeno,map$chr,map$cM,10)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.