Learn R Programming

pedtools (version 2.8.0)

marker_prop: Marker properties

Description

These functions are used to retrieve various properties of marker objects. Each function accepts as input either a single marker object, a ped object, or a list of ped objects.

Usage

emptyMarker(x, ...)

# S3 method for default emptyMarker(x, ...)

# S3 method for marker emptyMarker(x, ...)

# S3 method for ped emptyMarker(x, markers = NULL, ...)

# S3 method for list emptyMarker(x, markers = NULL, ...)

nTyped(x, ...)

# S3 method for default nTyped(x, ...)

# S3 method for marker nTyped(x, ...)

# S3 method for ped nTyped(x, markers = NULL, ...)

# S3 method for list nTyped(x, markers = NULL, ...)

nAlleles(x, ...)

# S3 method for default nAlleles(x, ...)

# S3 method for marker nAlleles(x, ...)

# S3 method for ped nAlleles(x, markers = NULL, ...)

# S3 method for list nAlleles(x, markers = NULL, ...)

isXmarker(x, ...)

# S3 method for default isXmarker(x, ...)

# S3 method for marker isXmarker(x, ...)

# S3 method for ped isXmarker(x, markers = NULL, ...)

# S3 method for list isXmarker(x, markers = NULL, ...)

allowsMutations(x, ...)

# S3 method for default allowsMutations(x, ...)

# S3 method for marker allowsMutations(x, ...)

# S3 method for ped allowsMutations(x, markers = NULL, ...)

# S3 method for list allowsMutations(x, markers = NULL, ...)

Value

If x is a single marker object, the output is a vector of length 1.

Otherwise, a vector of length nMarkers(x) (default) or length(markers), reporting the property of each marker.

Arguments

x

A single marker object or a ped object (or a list of such)

...

Not used.

markers

A vector of names or indices of markers attached to x. By default all attached markers are selected.

Details

emptyMarker() returns TRUE for markers with no genotypes. If the input is a list of pedigrees, all must be empty for the result to be TRUE.

nTyped() returns the number of typed individuals for each marker. Note that if the input is a list of pedigrees, the function returns the sum over all components.

nAlleles() returns the number of alleles of each marker.

isXmarker() returns TRUE for markers whose chrom attribute is either "X" or 23.

allowsMutations returns TRUE for markers whose mutmod attribute is non-NULL and differs from the identity matrix.

Examples

Run this code
cmp1 = nuclearPed(1)
cmp2 = singleton(10)
loc = list(alleles = 1:2)
x = setMarkers(list(cmp1, cmp2), locus = rep(list(loc), 3))

#-------- nAlleles() ------------
# All markers have 2 alleles
stopifnot(identical(nAlleles(x), c(2L,2L,2L)))

#-------- emptyMarkers() ------------
# Add genotype for indiv 1 at marker 1
genotype(x[[1]], 1, 1) = "1/2"

# Check that markers 2 and 3 are empty
stopifnot(identical(emptyMarker(x), c(FALSE,TRUE,TRUE)),
          identical(emptyMarker(x[[1]]), c(FALSE,TRUE,TRUE)),
          identical(emptyMarker(x[[2]]), c(TRUE,TRUE,TRUE)),
          identical(emptyMarker(x, markers = c(3,1)), c(TRUE,FALSE)))

#-------- nTyped() ------------
stopifnot(identical(nTyped(x), c(1L,0L,0L)))

# Add genotypes for third marker
genotype(x[[1]], marker = 3, id = 1:3) = "1/1"
genotype(x[[2]], marker = 3, id = 10) = "2/2"

# nTyped() returns total over all components
stopifnot(identical(nTyped(x), c(1L,0L,4L)))

#-------- allowsMutations() ------------
# Marker 2 allows mutations
mutmod(x, 2) = list("prop", rate = 0.1)

stopifnot(identical(allowsMutations(x), c(FALSE,TRUE,FALSE)),
          identical(allowsMutations(x, markers = 2:3), c(TRUE,FALSE)))

#-------- isXmarker() ------------
# Make marker 3 X-linked
chrom(x[[1]], 3) = "X"
chrom(x[[2]], 3) = "X"

stopifnot(identical(isXmarker(x), c(FALSE,FALSE,TRUE)))

Run the code above in your browser using DataLab