Learn R Programming

onemap (version 2.0-4)

ug: Unidirectional Growth

Description

Implements the marker ordering algorithm Unidirectional Growth (Tan & Fu, 2006).

Usage

ug(input.seq, LOD=0, max.rf=0.5, tol=10E-5)

Arguments

input.seq

an object of class sequence.

LOD

minimum LOD-Score threshold used when constructing the pairwise recombination fraction matrix.

max.rf

maximum recombination fraction threshold used as the LOD value above.

tol

tolerance for the C routine, i.e., the value used to evaluate convergence.

Value

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

seq.num

a vector containing the (ordered) indices of markers in the sequence, according to the input file.

seq.phases

a vector with the linkage phases between markers in the sequence, in corresponding positions. -1 means taht there are no defined linkage phases.

seq.rf

a vector with the recombination frequencies between markers in the sequence. -1 means that there are no estimated recombination frequencies.

seq.like

log-likelihood of the corresponding linkage map.

data.name

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

twopt

name of the object of class rf.2pts with the 2-point analyses.

Details

Unidirectional Growth (UG) is an algorithm for marker ordering in linkage groups. It is not an exhaustive search method and, therefore, is not computationally intensive. However, it does not guarantee that the best order is always found. The only requirement is a matrix with recombination fractions between markers. Next is an adapted excerpt from Mollinari et al (2009) describing the UG algorithm:

Based on the \(R\) (recombination fraction) matrix, the distance between all \(m\) loci is calculated by \(d_{ij} = \hat{r}_{ij} + (\frac{2}{n_{ij}}) \sum_{k} \hat{r}_{ik} \hat{r}_{jk}\), for every \(k\), with \(\hat{r}_{ij} > \hat{r}_{ik}, \hat{r}_{ij} > \hat{r}_{jk}\), and \(n_{ij}\) individuals. The value \(T_{ij} = 2 d_{ij} - (\sum_{k \neq i} d_{ik} + \sum_{k \neq j} d_{jk})\) is calculated for every \(i < j\). The terminal end of the map is defined by taking the pair of markers \((f, g)\) that presents the smallest value of \(T\). The pair \((f, g)\) is then denoted locus \(m + 1\) and its distance to the remaining markers is determined by \(d_{i m+1} = \frac{1}{2}(d_{if} + d_{ig} - d_{fg})\) if \((d_{if} + d_{ig}) > d_{fg}\), if not, \(d_{i m+1} = 0\). The calculation \(W_{i m+1} = (m - 2) d_{i m+1} - \sum_{k \neq i} d_{ik}\) is also performed and the locus that minimizes the value \(W_{i m+1}\) (called locus \(h\)) is placed on the map. The partial resultant map is f-g-h if \(d_{fh} > d_{gh}\) or h-f-g otherwise. Considering \(k = 2\), the partial distance of the map with the remaining markers is updated: \(d_{i m+k} = \mbox{min}(d_{i m+k-1}, d_{ij})\). The value \(W_{i m+k} = (m - k - 1) d_{i m+k} - \sum_{k \neq i} d_{ik}\) is calculated and the locus that minimizes \(W\) is added to the map. The last two steps are repeated, taking \(k = 3, \ldots, m - 1\) to obtain the complete map.

After determining the order with UG, the final map is constructed using the multipoint approach (function map).

References

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.

Tan, Y. and Fu, Y. (2006) A novel method for estimating linkage maps. Genetics 173: 2383-2390.

See Also

make.seq, map

Examples

Run this code
# NOT RUN {
  #outcross example
  data(example.out)
  twopt <- rf.2pts(example.out)
  all.mark <- make.seq(twopt,"all")
  groups <- group(all.mark)
  LG1 <- make.seq(groups,1)
  LG1.ug <- ug(LG1)

  #F2 example
  data(fake.f2.onemap)
  twopt <- rf.2pts(fake.f2.onemap)
  all.mark <- make.seq(twopt,"all")
  groups <- group(all.mark)
  LG1 <- make.seq(groups,1)
  LG1.ug <- ug(LG1)
  LG1.ug
# }

Run the code above in your browser using DataLab