Create a bootstrap sample, perform multivariate QTL scan, and calculate LRT statistic

boot_pvl(probs, pheno, addcovar = NULL, kinship = NULL,
start_snp = 1, n_snp, pleio_peak_index, nboot_per_job = 1,
max_iter = 10000, max_prec = 1/1e+08, n_cores = 1)

## Arguments

probs founder allele probabilities three-dimensional array for one chromosome only (not a list) n by d matrix of phenotypes n by c matrix of additive numeric covariates a kinship matrix, not a list positive integer indicating index within probs for start of scan number of (consecutive) markers to use in scan positive integer index indicating genotype matrix for bootstrap sampling. Typically acquired by using find_pleio_peak_tib. number of bootstrap samples to acquire per function invocation maximum number of iterations for EM algorithm stepwise precision for EM algorithm. EM stops once incremental difference in log likelihood is less than max_prec number of cores to use when calling scan_pvl

## Value

numeric vector of (log) likelihood ratio test statistics from nboot_per_job bootstrap samples

## Details

Performs a parametric bootstrap method to calibrate test statistic values in the test of pleiotropy vs. separate QTL. It begins by inferring parameter values at the pleio_peak_index index value in the object probs. It then uses these inferred parameter values in sampling from a multivariate normal distribution. For each of the nboot_per_job sampled phenotype vectors, a two-dimensional QTL scan, starting at the marker indexed by start_snp within the object probs and extending for a total of n_snp consecutive markers. The two-dimensional scan is performed via the function scan_pvl. For each two-dimensional scan, a likelihood ratio test statistic is calculated. The outputted object is a vector of nboot_per_job likelihood ratio test statistics from nboot_per_job distinct bootstrap samples.

## References

Knott SA, Haley CS (2000) Multitrait least squares for quantitative trait loci detection. Genetics 156: 899–911.

Walling GA, Visscher PM, Haley CS (1998) A comparison of bootstrap methods to construct confidence intervals in QTL mapping. Genet. Res. 71: 171–180.

## Examples


probs_pre <- rbinom(n = 100 * 10, size = 1, prob = 1 / 2)
probs <- array(data = probs_pre, dim = c(100, 1, 10))
s_id <- paste0('s', 1:100)
rownames(probs) <- s_id
colnames(probs) <- 'A'
dimnames(probs)[[3]] <- paste0('Marker', 1:10)
# define Y
set.seed(2018-12-29)
Y_pre <- runif(200)
Y <- matrix(data = Y_pre, nrow = 100)
rownames(Y) <- s_id
colnames(Y) <- paste0('t', 1:2)
addcovar <- matrix(c(runif(99), NA), nrow = 100, ncol = 1)