Learn R Programming

qtl (version 0.85-4)

sim.geno: Simulate genotypes given observed marker data

Description

Uses the hidden Markov model technology to simulate from the joint distribution Pr(g | O) where g is the underlying genotype vector and O is the observed multipoint marker data.

Usage

sim.geno(cross, n.draws=1, step=0, off.end=0, error.prob=0, 
              map.function=c("haldane","kosambi","c-f"))

Arguments

cross
An object of class cross. See read.cross for details.
n.draws
Number of simulation replicates to perform.
step
Maximum number of cM between positions at which the simulated genotypes will be drawn, though for step = 0, genotypes are drawn only at the marker locations.
off.end
Distance (in cM) at which to carry the genotype simulates past the p and q terminal markers on each chromosome.
error.prob
Assumed genotyping error rate used in the calculation of the penetrance Pr(observed genotype | true genotype).
map.function
Indicates whether to use the Haldane, Kosambi or Carter-Falconer map function when converting genetic distances into recombination fractions.

Value

  • The cross object in the input is returned with a component, draws, added to each component of cross$geno. This is an array of size [n.ind x n.pos x n.draws] where n.pos is the number of positions at which the simulations were performed and n.draws is the number of replicates.

Details

After performing the forward-backward equations, we draw from $Pr(g_1 = v | O)$ and then $Pr(g_{i+1} = v | O, g_i = u)$.

In the case of the 4-way cross, with a sex-specific map, we assume a constant ratio of female:male recombination rates within the inter-marker intervals.

Calculations are done within the C function sim_geno.

Attributes "error.prob", "step", and "off.end" are set to the values of the corresponding arguments, for later reference.

See Also

calc.genoprob, argmax.geno

Examples

Run this code
data(fake.f2)
fake.f2 <- sim.geno(fake.f2,step=2,off.end=5)
<testonly>data(fake.bc)</testonly>
<testonly>fake.bc <- sim.geno(fake.bc,step=0,off.end=0)</testonly>

Run the code above in your browser using DataLab