
Creating a marker object associated with a pedigree. The function marker()
returns a marker object, while addMarker()
first creates the marker
and then attaches it to x
.
marker(
x,
...,
geno = NULL,
allelematrix = NULL,
alleles = NULL,
afreq = NULL,
chrom = NA,
posMb = NA,
name = NA,
NAstrings = c(0, "", NA, "-"),
mutmod = NULL,
rate = NULL,
validate = TRUE
)addMarker(
x,
...,
geno = NULL,
allelematrix = NULL,
alleles = NULL,
afreq = NULL,
chrom = NA,
posMb = NA,
name = NA,
NAstrings = c(0, "", NA, "-"),
mutmod = NULL,
rate = NULL,
validate = TRUE
)
a ped
object
one or more expressions of the form id = genotype
, where id
is
the ID label of a member of x
, and genotype
is a numeric or character
vector of length 1 or 2 (see Examples).
a character vector of length pedsize(x)
, with genotypes written
in the format "a/b".
a matrix with 2 columns and pedsize(x)
rows. If this is
non-NULL, then ...
must be empty.
a character (or coercible to character) containing allele
names. If not given, and afreq
is named, names(afreq)
is used. The
default action is to take the sorted vector of distinct alleles occurring
in allelematrix
, geno
or ...
.
a numeric of the same length as alleles
, indicating the
population frequency of each allele. A warning is issued if the frequencies
don't sum to 1 after rounding to 3 decimals. If the vector is named, and
alleles
is not NULL, an error is raised if setequal(names(afreq), alleles)
is not TRUE. If afreq
is not specified, all alleles are given
equal frequencies.
a single integer: the chromosome number. Default: NA.
a nonnegative real number: the physical position of the marker, in megabases. Default: NA.
a character string: the name of the marker. Default: NA.
A character vector containing strings to be treated as
missing alleles. Default: c("", "0", NA, "-")
.
mutation model parameters. These are passed directly to
pedmut::mutationModel()
; see there for details. Note: mutmod
corresponds to the model
parameter. Default: NULL (no mutation model).
if TRUE, the validity of the created marker
object is
checked.
An object of class marker
. This is an integer matrix with 2 columns
and one row per individual, and the following attributes:
alleles
(a character vector with allele labels)
afreq
(allele frequencies; default rep.int(1/length(alleles), length(alleles))
)
chrom
(chromosome number; default = NA)
posMb
(physical location in megabases; default = NA)
name
(marker identifier; default = NA)
mutmod
(a list of two (male and female) mutation matrices; default =
NULL)
# NOT RUN {
x = nuclearPed(father = "fa", mother = "mo", children = "child")
# An empty SNP with alleles "A" and "B"
marker(x, alleles = c("A", "B"))
# Creating and attaching to `x`
addMarker(x, alleles = c("A", "B"))
# Alleles/frequencies can be given jointly or separately
stopifnot(identical(
marker(x, afreq = c(A = 0.01, B = 0.99)),
marker(x, alleles = c("A", "B"), afreq = c(0.01, 0.99)),
))
# Genotypes can be assigned individually ...
marker(x, fa = "1/1", mo = "1/2")
# ... or using the `geno` vector (all members in order)
marker(x, geno = c("1/1", "1/2", NA))
# Attaching a marker to the pedigree
m = marker(x) # By default a SNP with alleles 1,2
x = setMarkers(x, m)
# A marker with a "proportional" mutation model,
# with different rates for males and females
mutrates = list(female = 0.1, male = 0.2)
marker(x, alleles = 1:2, mutmod = "prop", rate = mutrates)
# }
Run the code above in your browser using DataLab