Returns the oracle misclassification rates for each genotype.
Given perfect knowledge of the data generating parameters,
oracle_mis_vec
calculates the misclassification error
rate at each genotype. This differs from oracle_mis
in that this will not average over the genotype distribution to
get an overall misclassification error rate. That is, oracle_mis_vec
returns a vector of misclassification error rates conditional on
each genotype.
oracle_mis_vec(n, ploidy, seq, bias, od, dist)
n |
The read-depth. |
ploidy |
The ploidy of the individual. |
seq |
The sequencing error rate. |
bias |
The allele-bias. |
od |
The overdispersion parameter. |
dist |
The distribution of the alleles. |
This is an ideal level of the misclassification error rate and any real method will have a larger rate than this. This is a useful approximation when you have a lot of individuals.
To come up with dist
, you need some additional assumptions.
For example, if the population is in Hardy-Weinberg equilibrium and
the allele frequency is alpha
then you could calculate
dist
using the R code: dbinom(x = 0:ploidy, size = ploidy, prob = alpha)
.
Alternatively, if you know the genotypes of the individual's two parents are, say,
ref_count1
and ref_count2
, then you could use the get_q_array
function from the updog package: get_q_array(ploidy)[ref_count1 + 1, ref_count2 + 1, ]
.
A vector of numerics. Element i is the oracle misclassification error rate when genotyping an individual with actual genotype i + 1.
David Gerard
Gerard, D., Ferrã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.
## Hardy-Weinberg population with allele-frequency of 0.75. ## Moderate bias and moderate overdispersion. ploidy <- 4 dist <- stats::dbinom(0:ploidy, ploidy, 0.75) om <- oracle_mis_vec(n = 100, ploidy = ploidy, seq = 0.001, bias = 0.7, od = 0.01, dist = dist) om ## Get same output as oracle_mis this way: sum(dist * om) oracle_mis(n = 100, ploidy = ploidy, seq = 0.001, bias = 0.7, od = 0.01, dist = dist)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.