SKAT.theoretical {Ravages} | R Documentation |
Multi group SKAT test using Liu et al. approximation
Description
Peforms SKAT on two or more groups of individuals using Liu et al. approximation
Usage
SKAT.theoretical(x, NullObject, genomic.region = x@snps$genomic.region,
weights = (1 - x@snps$maf)**24, maf.threshold = 0.5,
estimation.pvalue = "kurtosis", cores = 10, debug = FALSE )
Arguments
x |
A bed.matrix |
NullObject |
A list returned from |
genomic.region |
A factor defining the genomic region of each variant |
weights |
A vector with the weight of each variant. By default, the weight of each variant is inversely proportionnal to its MAF, as it was computed in the original SKAT method |
maf.threshold |
The MAF above which variants are removed (default is to keep all variants) |
estimation.pvalue |
Whether to use the skewness ("skewness") or the kurtosis ("kurtosis") for the chi-square approximation |
cores |
How many cores to use for moments computation, set at 10 by default |
debug |
Whether to return the mean, standard deviation, skewness and kurtosis of the statistics. Set at FALSE by default |
Details
The method from Liu et al. 2008 is used where p-values are estimated using a chi-square approximation from moment's statistics
If estimation.pvalue = "kurtosis"
, the kurtosis is used instead of skewness in the chi-square approximation. This is equivalent to "liu.mod" in SKAT package.
This function is used by SKAT
when the sample size is larger than 2000.
All missing genotypes are imputed by the mean genotype.
Value
A data frame containing for each genomic region:
stat |
The observed statistics |
p.value |
The p-value of the test |
If debug = TRUE
, the mean, standard deviation, skewness and kurtosis used to compute the p-value are returned
References
Wu et al. 2011, Rare-variant association testing for sequencing data with the sequence kernel association test, American Journal of Human Genetics 82-93 doi:10.1016/j.ajhg.2011.05.029;
Liu et al. 2008, A new chi-square approximation to the distribution of non-negative definite quadratic forms in non-central normal variables, Computational Statistics & Data Analysis, doi:10.1016/j.csda.2008.11.025
See Also
NullObject.parameters
, SKAT
Examples
#Import data in a bed matrix
x <- as.bed.matrix(x=LCT.matrix.bed, fam=LCT.matrix.fam, bim=LCT.snps)
#Add population
x@ped[,c("pop", "superpop")] <- LCT.matrix.pop1000G[,c("population", "super.population")]
#Select EUR superpopulation
x <- select.inds(x, superpop=="EUR")
x@ped$pop <- droplevels(x@ped$pop)
#Group variants within known genes
x <- set.genomic.region(x)
#Filter of rare variants: only non-monomorphic variants with
#a MAF lower than 2.5%
#keeping only genomic regions with at least 10 SNPs
x1 <- filter.rare.variants(x, filter = "whole", maf.threshold = 0.025, min.nb.snps = 10)
#run SKAT using the 1000 genome EUR populations as "outcome" using one core
#Fit Null model
x1.H0 <- NullObject.parameters(x1@ped$pop, RVAT = "SKAT", pheno.type = "categorical")
SKAT.theoretical(x1, x1.H0, cores = 1)