Learn R Programming

onemap (version 3.0.0)

order_seq: Search for the best order of markers combining compare and try_seq functions

Description

For a given sequence of markers, this function first uses the compare function to create a framework for a subset of informative markers. Then, it tries to map remaining ones using the try_seq function.

Usage

order_seq(
  input.seq,
  n.init = 5,
  subset.search = c("twopt", "sample"),
  subset.n.try = 30,
  subset.THRES = 3,
  twopt.alg = c("rec", "rcd", "ser", "ug"),
  THRES = 3,
  touchdown = FALSE,
  tol = 0.1,
  rm_unlinked = FALSE,
  verbose = FALSE
)

Value

An object of class order, which is a list containing the following components:

ord

an object of class sequence containing the "safe" order.

mrk.unpos

a vector with unpositioned markers (if they exist).

LOD.unpos

a matrix with LOD-Scores for unmapped markers, if any, for each position in the "safe" order.

THRES

the same as the input value, just for printing.

ord.all

an object of class sequence containing the "forced" order, i.e., the best order with all markers.

data.name

name of the object of class onemap with the raw data.

twopt

name of the object of class rf_2pts with the 2-point analyses.

Arguments

input.seq

an object of class sequence.

n.init

the number of markers to be used in the compare step (defaults to 5).

subset.search

a character string indicating which method should be used to search for a subset of informative markers for the compare step. It is used for backcross, \(F_2\) or RIL populations, but not for outcrosses. See the Details section.

subset.n.try

integer. The number of times to repeat the subset search procedure. It is only used if subset.search=="sample". See the Details section.

subset.THRES

numerical. The threshold for the subset search procedure. It is only used if subset.search=="sample". See the Details section.

twopt.alg

a character string indicating which two-point algorithm should be used if subset.search=="twopt". See the Details section.

THRES

threshold to be used when positioning markers in the try_seq step.

touchdown

logical. If FALSE (default), the try_seq step is run only once, with the value of THRES. If TRUE, try_seq runs with THRES and then once more, with THRES-1. The latter calculations take longer, but usually are able to map more markers.

tol

tolerance number for the C routine, i.e., the value used to evaluate convergence of the EM algorithm.

rm_unlinked

When some pair of markers do not follow the linkage criteria, if TRUE one of the markers is removed and returns a vector with remaining marker numbers (useful for mds_onemap and map_avoid_unlinked functions).

verbose

A logical, if TRUE its output progress status information.

Author

Gabriel R A Margarido, gramarga@usp.br and Marcelo Mollinari, mmollina@gmail.com

Details

For outcrossing populations, the initial subset and the order in which remaining markers will be used in the try_seq step is given by the degree of informativeness of markers (i.e markers of type A, B, C and D, in this order).

For backcrosses, F2s or RILs, two methods can be used for choosing the initial subset: i) "sample" randomly chooses a number of markers, indicated by n.init, and calculates the multipoint log-likelihood of the \(\frac{n.init!}{2}\) possible orders. If the LOD Score of the second best order is greater than subset.THRES, than it takes the best order to proceed with the try_seq step. If not, the procedure is repeated. The maximum number of times to repeat this procedure is given by the subset.n.try argument. ii) "twopt" uses a two-point based algorithm, given by the option "twopt.alg", to construct a two-point based map. The options are "rec" for RECORD algorithm, "rcd" for Rapid Chain Delineation, "ser" for Seriation and "ug" for Unidirectional Growth. Then, equally spaced markers are taken from this map. The "compare" step will then be applied on this subset of markers.

In both cases, the order in which the other markers will be used in the try_seq step is given by marker types (i.e. co-dominant before dominant) and by the missing information on each marker.

After running the compare and try_seq steps, which result in a "safe" order, markers that could not be mapped are "forced" into the map, resulting in a map with all markers positioned.

References

Broman, K. W., Wu, H., Churchill, G., Sen, S., Yandell, B. (2008) qtl: Tools for analyzing QTL experiments R package version 1.09-43

Jiang, C. and Zeng, Z.-B. (1997). Mapping quantitative trait loci with dominant and missing markers in various crosses from two inbred lines. Genetica 101: 47-58.

Lander, E. S. and Green, P. (1987). Construction of multilocus genetic linkage maps in humans. Proc. Natl. Acad. Sci. USA 84: 2363-2367.

Lander, E. S., Green, P., Abrahamson, J., Barlow, A., Daly, M. J., Lincoln, S. E. and Newburg, L. (1987) MAPMAKER: An interactive computer package for constructing primary genetic linkage maps of experimental and natural populations. Genomics 1: 174-181.

Mollinari, M., Margarido, G. R. A., Vencovsky, R. and Garcia, A. A. F. (2009) Evaluation of algorithms used to order markers on genetics maps. Heredity 103: 494-502.

Wu, R., Ma, C.-X., Painter, I. and Zeng, Z.-B. (2002a) Simultaneous maximum likelihood estimation of linkage and linkage phases in outcrossing species. Theoretical Population Biology 61: 349-363.

Wu, R., Ma, C.-X., Wu, S. S. and Zeng, Z.-B. (2002b). Linkage mapping of sex-specific differences. Genetical Research 79: 85-96

See Also

make_seq, compare and try_seq.

Examples

Run this code

# \donttest{
  #outcross example
  data(onemap_example_out)
  twopt <- rf_2pts(onemap_example_out)
  all_mark <- make_seq(twopt,"all")
  groups <- group(all_mark)
  LG2 <- make_seq(groups,2)
  LG2.ord <- order_seq(LG2,touchdown=TRUE)
  LG2.ord
  make_seq(LG2.ord) # get safe sequence
  make_seq(LG2.ord,"force") # get forced sequence

# }

Run the code above in your browser using DataLab