Learn R Programming

qtl (version 1.66)

ripple: Compare marker orders

Description

Investigate different marker orders for a given chromosome, comparing all possible permutations of a sliding window of markers.

Usage

ripple(cross, chr, window=4, method=c("countxo","likelihood"),
       error.prob=0.0001, map.function=c("haldane","kosambi","c-f","morgan"),
       maxit=4000, tol=1e-6, sex.sp=TRUE, verbose=TRUE, n.cluster=1)

Value

A matrix, given class "ripple"; the first set of columns are marker indices describing the order. In the case of

method="countxo", the last column is the number of obligate crossovers for each particular order. In the case of

method="likelihood", the last two columns are LOD scores (log base 10 likelihood ratios) comparing each order to the initial order and the estimated chromosome length for the given order. Positive LOD scores indicate that the alternate order has more support than the original.

Arguments

cross

An object of class cross. See read.cross for details.

chr

The chromosome to investigate. Only one chromosome is allowed. (This should be a character string referring to the chromosomes by name.)

window

Number of markers to include in the sliding window of permuted markers. Larger numbers result in the comparison of a greater number of marker orders, but will require a considerable increase in computation time.

method

Indicates whether to compare orders by counting the number of obligate crossovers, or by a likelihood analysis.

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, Carter-Falconer, or Morgan map function when converting genetic distances into recombination fractions.

maxit

Maximum number of EM iterations to perform.

tol

Tolerance for determining convergence.

sex.sp

Indicates whether to estimate sex-specific maps; this is used only for the 4-way cross.

verbose

If TRUE, information about the number of orders (and, if method="likelihood", about progress) are printed.

n.cluster

If the package snow is available and n.perm > 0, permutations are run in parallel using this number of nodes. This is really only useful with method="likelihood".

Author

Karl W Broman, broman@wisc.edu

Details

For method="likelihood", calculations are done by first constructing a matrix of marker orders and then making repeated calls to the R function est.map. Of course, it would be faster to do everything within C, but this was a lot easier to code.

For method="countxo", calculations are done within C.

See Also

summary.ripple, switch.order, est.map, est.rf

Examples

Run this code
data(badorder)
rip1 <- ripple(badorder, chr=1, window=3)
summary(rip1)

if (FALSE) {
rip2 <- ripple(badorder, chr=1, window=2, method="likelihood")
summary(rip2)
}

badorder <- switch.order(badorder, 1, rip1[2,])

Run the code above in your browser using DataLab