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.
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)
The output is a cross object, as in the input, with orders of markers on selected chromosomes revised.
An object of class cross
. See
read.cross
for details.
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.
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.
If TRUE, the initial order is refined by a call to
the function ripple
.
Assumed genotyping error rate used in the final estimated map.
Indicates the map function to use in the final estimated map.
Maximum number of EM iterations to perform in the final estimated map.
Tolerance for determining convergence in the final estimated map.
Indicates whether to estimate sex-specific maps in the final estimated map; this is used only for the 4-way cross.
If TRUE, information about the progress of the calculations is displayed; if > 1, even more information is given.
Karl W Broman, broman@wisc.edu
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
.
formLinkageGroups
,
ripple
, est.map
, countXO
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