R: Find an initial order for markers within chromosomes

orderMarkers {qtl} | R Documentation

## Find an initial order for markers within chromosomes

### Description

Establish initial orders for markers within chromosomes by a greedy algorithm, adding one marker at a time with locations of previous markers fixed, in the position giving the miniminum number of obligate crossovers.

### Usage

    orderMarkers(cross, chr, window=7, use.ripple=TRUE, error.prob=0.0001,
                 map.function=c("haldane","kosambi","c-f","morgan"),
                 maxit=4000, tol=1e-4, sex.sp=TRUE, verbose=FALSE)

### Arguments

`cross` | An object of class `cross`. See `read.cross` for details.
`chr` | Optional vector indicating the chromosomes to consider. This should be a vector of character strings referring to chromosomes by name; numeric values are converted to strings. Refer to chromosomes with a preceding `-` to have all chromosomes but those considered. A logical (TRUE/FALSE) vector may also be used.
`window` | If `use.ripple=TRUE`, this indicates the 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.
`use.ripple` | If TRUE, the initial order is refined by a call to the function `ripple`.
`error.prob` | Assumed genotyping error rate used in the final estimated map.
`map.function` | Indicates the map function to use in the final estimated map.
`maxit` | Maximum number of EM iterations to perform in the final estimated map.
`tol` | Tolerance for determining convergence in the final estimated map.
`sex.sp` | Indicates whether to estimate sex-specific maps in the final estimated map; this is used only for the 4-way cross.
`verbose` | If TRUE, information about the progress of the calculations is displayed; if > 1, even more information is given.

### Details

Markers within a linkage group are considered in order of decreasing number of genotyped individuals. The first two markers are placed in an arbitrary order. Additional markers are considered one at a time, and each possible placement of a marker is compared (with the order of the previously placed markers taken as fixed) via the number of obligate crossovers (that is, the minimal number of crossovers that would explain the observed data). The marker is placed in the position giving the minimal number of obligate crossovers. If multiple positions give the same number of obligate crossovers, a single location (among those positions) is chosen at random.

If `use.ripple=TRUE`, the final order is passed to `ripple` with `method="countxo"` to refine the marker order. If `use.ripple=TRUE` and the number of markers on a chromosome is <= the argument `window`, the initial greedy algorithm is skipped and all possible marker orders are compared via `ripple`.

### Value

The output is a cross object, as in the input, with orders of markers on selected chromosomes revised.

### Author(s)

Karl W Broman, broman@wisc.edu

### See Also

`formLinkageGroups`, `ripple`, `est.map`, `countXO`

### Examples

    data(listeria)
    pull.map(listeria, chr=3)
    revcross <- orderMarkers(listeria, chr=3, use.ripple=FALSE)
    pull.map(revcross, chr=3)

[Package qtl version 1.46-2 Index]