R: Push markers into an established R/qtl linkage map.
pushCross
R Documentation
Push markers into an established R/qtl linkage map.
Description
Push unlinked markers or markers that were originally placed aside by
pullCross back into linkage groups of an established R/qtl linkage map.
Usage
pushCross(object, type = c("co.located","seg.distortion","missing","unlinked"),
unlinked.chr = NULL, pars = NULL, ...)
Arguments
object
An R/qtl cross object with class structure "bc",
"dh","riself","bcsft". (see ?mstmap.cross for more details.)
type
A character string determining the type of markers to be pushed into
the linkage map (see Details).
unlinked.chr
A character string of linkage group names containing markers that
require pushing into the remaining linkage groups of the object. This is only useful when
type="unlinked". Default is NULL.
pars
A list of parameters that are used by pushCross to push markers
a certain type back into the linkage group. The default NULL calls the parameter
initialization function pp.init with defaults (see Details and
Examples).
...
Currently ignored.
Details
This function was written explicitly to complement pullCross by
"pushing" markers of certain types back into linkage groups of an
established linkage map.
Currently supported marker types are:
type = "co.located". Users can push co-located markers back
into the linkage map that have been set aside in the cross object element
co.located. To ensure this can be used at any stage of the linkage map
construction process the function disregards the linkage group information
provided in the table formed by using pullCross. Instead it uses the
current positions of the markers in the reduced linkage map to determine
where to push the co-located markers back to.
type = "seg.distortion". Users can push markers from the
object element "seg.distortion" back into a linkage map using the thresholding
mechanisms seg.thresh and seg.ratio called using
pars. If seg.thresh is given then the markers are pushed
back that have p-values that are GREATER than seg.thresh. If
pars contains an element seg.ratio then markers are pushed
back based on the ratio provided. The ratio must be in character format and of the type
"AA:BB" for two allele populations and "AA:AB:BB" for three allele
populations (see Examples for more details). Markers are pushed back if their
allele proportions are LESS than the largest proportional ratio or GREATER
than the smallest proportional ratio given in seg.thresh. If neither
thresholding mechanisms are given then the default is to use seg.thresh = 0.05.
type = "missing". Users can push markers from the object
element "missing" back into the linkage map using the
thresholding parameter miss.thresh called using
pars. Markers will be pushed back that have a
proportion of missing values LESS than miss.thresh. If no value
is given for this parameter it defaults to 0.1 or 10% missing values.
type = "unlinked". Users can push unlinked markers that
reside in linkage groups of the established linkage map. If this type is
chosen unlinked.chr must be a character string of linkage group
names in the object.
For types "seg.distortion", "missing" and
"unlinked" a fast clustering method is used to allocate markers
to established linkage groups. This is done very
efficiently by reducing the constructed linkage map to a skeleton set
of markers before checking linkages. How these linkages are formed can
be tweaked by setting max.rf and min.lod when calling
pars. These currently default to max.rf = 0.25 and
min.lod = 3.
Users should explicitly avoid the use of "UL" as part of a linkage group name as
this is used internally to name unlinked groups of markers if required.
It should also be noted that this function does not re-construct the
object after allocating markers to linkage groups. For efficient linkage map
reconstruction of an R/qtl object see mstmap.cross().
Value
The cross object is returned with an identical class structure as the
inputted cross object with additional markers from the marker types
pushed into linkage groups of the established linkage map. If all
markers of an element type are pushed back then the element type is
removed from the object.
Author(s)
Julian Taylor
See Also
pullCross
Examples
data(mapDH, package = "ASMap")
## pull co-located markers from map
mapDH.c <- pullCross(mapDH, type = "co.located")
mapDH.c$co.located$table
## push co-located markers back into linkage map
mapDH.z <- pushCross(mapDH.c, type = "co.located")
pull.map(mapDH.z)