Learn R Programming

qtl (version 1.39-5)

orderMarkers: 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.

Value

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

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.

See Also

formLinkageGroups, ripple, est.map, countXO

Examples

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

Run the code above in your browser using DataLab