flexdog
models.This will simulate genotypes of a sample of individuals drawn from one of the populations supported by
flexdog
. See the details of flexdog
for the models allowed. These genotype
distributions are described in detail in Gerard and Ferr<U+00E3>o (2019).
rgeno(
n,
ploidy,
model = c("hw", "bb", "norm", "ash", "f1", "s1", "f1pp", "s1pp", "flex", "uniform"),
allele_freq = NULL,
od = NULL,
p1geno = NULL,
p2geno = NULL,
mode = NULL,
pivec = NULL,
mu = NULL,
sigma = NULL,
p1_pair_weights = NULL,
p2_pair_weights = NULL
)
The number of observations.
The ploidy of the species.
What form should the prior take? See Details in flexdog
.
If model = "hw"
, then this is the allele frequency of the population.
For any other model, this should be NULL
.
If model = "bb"
, then this is the overdispersion parameter of the beta-binomial
distribution. See betabinom
for details. For any other model, this should be
NULL
.
Either the first parent's genotype if model = "f1"
(or model = "f1pp"
), or the only parent's
genotype if model = "s1"
(or model = "s1pp"
).
For any other model, this should be NULL
.
The second parent's genotype if model = "f1"
(or model = "f1pp"
).
For any other model, this should be NULL
.
If model = "ash"
, this is the center of the distribution. This should be a non-integer value
(so the mode is either the floor or the ceiling of mode
).
For any other model, this should be NULL
.
A vector of probabilities. If model = "ash"
, then this represents
the mixing proportions of the discrete uniforms. If
model = "flex"
, then element i
is the probability of genotype i - 1
.
For any other model, this should be NULL
.
If model = "norm"
, this is the mean of the normal.
For any other model, this should be NULL
.
If model = "norm"
, this is the standard deviation of the normal.
For any other model, this should be NULL
.
The mixing weights for the bivalent
pairs output in get_bivalent_probs
at the lvec
level of p1geno
.
If model = "f1pp"
then this is for the first parent.
If model = "s1pp"
, then this is for the only parent.
This should be NULL
for all other values of model
.
If model = "s1pp"
,
these are the mixing weights for the bivalent
pairs output in get_bivalent_probs
at the
lvec
level of p2geno
for the second
parent.
This should be NULL
for all other values of model
.
A vector of length n
with the genotypes of the sampled individuals.
The allowable variable values of allele_freq
, od
, p1geno
, p2geno
, pivec
,
and mode
varies based on the value of model
. If model = "ash"
, then only
mode
and pivec
can be non-NULL
. If model = "flex"
then only
pivec
can be non-NULL
. If model = "hw"
, then only allele_freq
can
be non-NULL
. If model = "f1"
then only p1geno
and p2geno
can be non-NULL
.
If model = "s1"
then only p1geno
can be non-NULL
. If model = "uniform"
, then
none of the above variables can be non-NULL
. If model = "bb"
, then only allele_freq
,
and od
can be non-NULL
. If model == "norm"
, then only mu
and sigma
can be non-NULL
.
Gerard, D., Ferr<U+00E3>o, L. F. V., Garcia, A. A. F., & Stephens, M. (2018). Genotyping Polyploids from Messy Sequencing Data. Genetics, 210(3), 789-807. doi: 10.1534/genetics.118.301468.
Gerard, D. and Ferr<U+00E3>o, L. F. V. (2019). Priors for Genotyping Polyploids. Bioinformatics. doi: 10.1093/bioinformatics/btz852.
# NOT RUN {
## F1 Population where parent 1 has 1 copy of the referenc allele
## and parent 2 has 4 copies of the reference allele.
ploidy <- 6
rgeno(n = 10, ploidy = ploidy, model = "f1", p1geno = 1, p2geno = 4)
## A population in Hardy-Weinberge equilibrium with an
## allele frequency of 0.75
rgeno(n = 10, ploidy = ploidy, model = "hw", allele_freq = 0.75)
# }
Run the code above in your browser using DataLab