| calc.genoprob {qtl} | R Documentation |
Uses the hidden Markov model technology to calculate the probabilities of the true underlying genotypes given the observed multipoint marker data, using a model for genotyping errors.
calc.genoprob(cross, step=0, off.end=0, error.prob=0,
map.function=c("haldane","kosambi","c-f"))
cross |
An object of class cross. See
read.cross for details. |
step |
Maximum number of cM between positions at which the
genotype probabilities are calculated, though for step = 0,
calculate probabilites only at the marker locations. |
off.end |
Distance (in cM) at which to carry the genotype probability calculations 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. |
Calculations are done within the C function calc_genoprob.
Let O_i denote the observed marker genotype at position i, and g_i denote the corresponding true underlying genotype.
We use the forward-backward equations to calculate alpha[i][v] = log Pr(O_1, ..., O_i, g_i = v) and beta[i][v] = log Pr(O_{i+1}, ..., O_n | g_i = v)
We then obtain Pr(g_i | O_1, ..., O_n) = exp(alpha[i][v] + beta[i][v]) / s where s = sum_v exp(alpha[i][v] + beta[i][v])
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.
Attributes "error.prob", "step", and "off.end" are set to the values of
the corresponding arguments, for later reference (especially by the
function cacl.errorlod).
The cross object in the input is returned with the genotype
probabilities added. Recall that the cross$geno component is a
list whose elements correspond to chromosomes and which are themselves
lists with components data and map. For each
chromosomes, an additional component, prob, is added. This
is an array of size [n.ind x n.pos x n.gen] where n.pos is the number
of positions at which the probabilities were calculated and n.gen = 3
for an intercross, = 2 for a backcross, and = 4 for a 4-way cross.
Karl W Broman, kbroman@jhsph.edu
http://biosun01.biostat.jhsph.edu/~kbroman/software/qtl.html
K Lange (1999) Numerical analysis for statisticians Springer-Verlag, New York. Sec 23.3.
LR Rabiner (1989) A tutorial on hidden Markov models and selected applications in speech recognition. Proceedings of the IEEE 77:257-286.
sim.geno, argmax.geno,
calc.errorlod
data(fake.f2) fake.f2 <- calc.genoprob(fake.f2,step=2,off.end=5)