Learn R Programming

onemap (version 3.0.0)

make_seq: Create a sequence of markers based on other OneMap object types

Description

Makes a sequence of markers based on an object of another type.

Usage

make_seq(input.obj, arg = NULL, phase = NULL, data.name = NULL, twopt = NULL)

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 that 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

object of class onemap with the raw data.

twopt

object of class rf_2pts with the 2-point analyses.

Arguments

input.obj

an object of class onemap, rf_2pts, group, compare, try or order.

arg

its value depends on the type of object input.obj. For a onemap object, arg must be a string corresponding to one of the reference sequences on which markers are anchored (usually chromosomes). This requires that CHROM information be available in the input data file. It can also be a vector of integers specifying which markers comprise the sequence. For an object rf_2pts, arg can be the string "all", resulting in a sequence with all markers in the raw data (generally done for grouping markers); otherwise, it must be a vector of integers specifying which markers comprise the sequence. For an object of class group, arg must be an integer specifying the group. For a compare object, arg is an integer indicating the corresponding order (arranged according to the likelihood); if NULL (default), the best order is taken. For an object of class try, arg must be an integer less than or equal to the length of the original sequence plus one; the sequence obtained will be that with the additional marker in the position indicated by arg. Finally, for an order object, arg is a string: "safe" means the order that contains only markers mapped with the provided threshold; "force" means the order with all markers.

phase

its value is also dependent on the type of input.obj. For an rf_2pts or onemap object, phase can be a vector with user- defined linkage phases (its length is equal to the number of markers minus one); if NULL (default), other functions will try to find the best linkage phases. For example, if phase takes on the vector c(1,2,3,4), the sequence of linkage phases will be coupling/coupling, coupling/repulsion, repulsion/coupling and repulsion/repulsion for a sequence of five markers. If input.obj is of class compare or try, this argument indicates which combination of linkage phases should be chosen, for the particular order given by argument arg. In both cases, NULL (default) makes the best combination to be taken. If input.obj is of class, group, group.upgma or order, this argument has no effect.

data.name

the object which contains the raw data. This does not have to be defined by the user: it is here for compatibility issues when calling make_seq from inside other functions.

twopt

the object which contains the two-point information. This does not have to be defined by the user: it is here for compatibility issues when calling make_seq from inside other functions.

Author

Gabriel Margarido, gramarga@gmail.com

References

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.

See Also

compare, try_seq, order_seq and map.

Examples

Run this code

# \donttest{
  data(onemap_example_out)
  twopt <- rf_2pts(onemap_example_out)

  all_mark <- make_seq(twopt,"all")
  all_mark <- make_seq(twopt,1:30) # same as above, for this data set
  groups <- group(all_mark)
  LG1 <- make_seq(groups,1)
  LG1.ord <- order_seq(LG1)
  (LG1.final <- make_seq(LG1.ord)) # safe order
  (LG1.final.all <- make_seq(LG1.ord,"force")) # forced order

  markers <- make_seq(twopt,c(2,3,12,14))
  markers.comp <- compare(markers)
  (base.map <- make_seq(markers.comp))
  base.map <- make_seq(markers.comp,1,1) # same as above
  (extend.map <- try_seq(base.map,30))
  (base.map <- make_seq(extend.map,5)) # fifth position is the best
# }

Run the code above in your browser using DataLab