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 |
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 |
window |
If |
use.ripple |
If TRUE, the initial order is refined by a call to
the function |
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 \le
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)