R: Compare marker orders

ripple {qtl} | R Documentation

## 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)

### 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"`.

### 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.

### 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.

### Author(s)

Karl W Broman, broman@wisc.edu

### See Also

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

### Examples

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

    ## Not run:
    rip2 <- ripple(badorder, chr=1, window=2, method="likelihood")
    summary(rip2)

    ## End(Not run)

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

[Package qtl version 1.46-2 Index]