View source: R/calc.genoprob.R
calc.genoprob | R Documentation |
Uses the hidden Markov model technology to calculate the probabilities of the true underlying genotypes given the observed multipoint marker data, with possible allowance for genotyping errors.
calc.genoprob(cross, step=0, off.end=0, error.prob=0.0001,
map.function=c("haldane","kosambi","c-f","morgan"),
stepwidth=c("fixed", "variable", "max"))
cross |
An object of class |
step |
Maximum distance (in cM) between positions at which the
genotype probabilities are calculated, though for |
off.end |
Distance (in cM) past the terminal markers on each chromosome to which the genotype probability calculations will be carried. |
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. |
stepwidth |
Indicates whether the intermediate points should with
fixed or variable step sizes. We recommend using
|
Let O_k
denote the observed marker genotype at position
k
, and g_k
denote the corresponding true underlying
genotype.
We use the forward-backward equations to calculate
\alpha_{kv} = \log Pr(O_1, \ldots, O_k, g_k = v)
and
\beta_{kv} = \log Pr(O_{k+1}, \ldots, O_n | g_k = v)
We then obtain
Pr(g_k | O_1, \ldots, O_n) = \exp(\alpha_{kv} + \beta_{kv}) / s
where
s = \sum_v \exp(\alpha_{kv} + \beta_{kv})
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.
The input cross
object is returned with a component,
prob
, added to each component of cross$geno
.
prob
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. Attributes "error.prob"
, "step"
,
"off.end"
, and "map.function"
are set to the values of
the corresponding arguments, for later reference (especially by the
function calc.errorlod
).
Karl W Broman, broman@wisc.edu
Lange, K. (1999) Numerical analysis for statisticians. Springer-Verlag. Sec 23.3.
Rabiner, L. R. (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)
data(fake.bc)
fake.bc <- calc.genoprob(fake.bc, step=0, off.end=0, err=0.01)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.