Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

ped

Pedigree construction


Description

This is the basic constructor of ped objects. Utility functions for creating many common pedigree structures are described in ped_basic.

Usage

ped(
  id,
  fid,
  mid,
  sex,
  famid = "",
  reorder = TRUE,
  validate = TRUE,
  isConnected = FALSE,
  verbose = FALSE
)

singleton(id = 1, sex = 1, famid = "")

Arguments

id

a vector (numeric or character) of individual ID labels.

fid

a vector of the same length as id, containing the labels of the fathers. In other words fid[i] is the father of id[i], or 0 if id[i] is a founder.

mid

a vector of the same length as id, containing the labels of the mothers. In other words mid[i] is the mother of id[i], or 0 if id[i] is a founder.

sex

a numeric of the same length as id, describing the genders of the individuals (in the same order as id.) Each entry must be either 1 (=male), 2 (=female) or 0 (=unknown).

famid

a character string. Default: An empty string.

reorder

a logical. If TRUE, the pedigree is reordered so that all parents precede their children.

validate

a logical. If TRUE, validatePed() is run before returning the pedigree.

isConnected

a logical, by default FALSE. If it is known that the input is connected, setting this to TRUE speeds up the processing.

verbose

a logical.

Details

A singleton is a special ped object whose pedigree contains 1 individual. The class attribute of a singleton is c('singleton', 'ped').

Selfing, i.e. the presence of pedigree members whose father and mother are the same individual, is allowed in ped objects. Any such "self-fertilizing" parent must have undecided sex (sex = 0).

If the pedigree is disconnected, it is split into its connected components and returned as a list of ped objects.

Value

A ped object, which is essentially a list with the following entries:

  • ID : A character vector of ID labels. Unless the pedigree is reordered during creation, this equals as.character(id)

  • FIDX : An integer vector with paternal indices: For each j = 1,2,..., the entry FIDX[j] is 0 if ID[j] has no father within the pedigree; otherwise ID[FIDX[j]] is the father of ID[j].

  • MIDX : An integer vector with maternal indices: For each j = 1,2,..., the entry MIDX[j] is 0 if ID[j] has no mother within the pedigree; otherwise ID[MIDX[j]] is the mother of ID[j].

  • SEX : An integer vector with gender codes. Unless the pedigree is reordered, this equals as.integer(sex).

  • FAMID : The family ID.

  • UNBROKEN_LOOPS : A logical: TRUE if the pedigree is inbred.

  • LOOP_BREAKERS : A matrix with loop breaker ID's in the first column and their duplicates in the second column. All entries refer to the internal IDs. This is usually set by breakLoops().

  • FOUNDER_INBREEDING : A list of two potential entries, "autosomal" and "x"; both numeric vectors with the same length as founders(x). FOUNDER_INBREEDING is always NULL when a new ped is created. See founderInbreeding().

  • MARKERS : A list of marker objects, or NULL.

Author(s)

Magnus Dehli Vigeland

See Also

Examples

# Trio
x = ped(id = 1:3, fid = c(0,0,1), mid = c(0,0,2), sex = c(1,2,1))

# Female singleton
y = singleton('NN', sex = 2)

# Selfing
z = ped(id = 1:2, fid = 0:1, mid = 0:1, sex = 0:1)
stopifnot(hasSelfing(z))

# Disconnected pedigree: Trio + singleton
w = ped(id = 1:4, fid = c(2,0,0,0), mid = c(3,0,0,0), sex = c(1,1,2,1))
stopifnot(is.pedList(w), length(w) == 2)

pedtools

Creating and Working with Pedigrees and Marker Data

v0.9.7
GPL-3
Authors
Magnus Dehli Vigeland [aut, cre] (<https://orcid.org/0000-0002-9134-4962>)
Initial release

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.