SKAT 包
2019-02-21 本文已影响16人
Thinkando
- skat: 使用核回归框架测试一组SNPS /基因与连续或二分表型之间的关联。
- 用法
SKAT(Z, obj, kernel = "linear.weighted",
method="davies", weights.beta=c(1,25), weights=NULL,
impute.method="fixed", r.corr=0, is_check_genotype=TRUE,
is_dosage = FALSE, missing_cutoff=0.15 , max_maf=1, estimate_MAF=1)
SKAT.SSD.OneSet(SSD.INFO, SetID, obj, … ,obj.SNPWeight=NULL)
SKAT.SSD.OneSet_SetIndex(SSD.INFO, SetIndex, obj, … ,obj.SNPWeight=NULL)
- 参数
- Z: 基因型矩阵,每行作为不同的个体,每列作为单独的基因/ snp,AA=0,Aa=1,aa=2,a 为MAF。基于简单Hardy-Weinberg平衡(HWE)的插补法将推测缺失的基因型。
- OBJ :SKAT_Null_Model函数的输出对象。
- kernel: 一种内核(默认=“linear.weighted”)。
- method:计算p值的方法(默认=“davies”)。“davies”表示通过反转混合物chisq的特征函数来计算p值的精确方法。
- weights.beta: 加权内核的β权重参数的数值向量。如果你想使用自己的权重,请使用
weights''参数。如果
weights''参数不为null,它将被忽略。 -
weights
image.png - r.corr: 复合对称相关结构核的ρ参数(默认值= 0)。如果给出矢量值,SKAT将进行最佳测试。如果method =
optimal''或method =
optimal.adj'',它将被忽略。 - is_check_genotype:指示是否检查基因型矩阵Z的有效性的逻辑值(默认值= TRUE)。如果Z具有非SNP数据,请将其设置为FALSE,否则您将收到错误消息。如果它是FALSE并且你使用加权内核,权重应该通过``weights''参数给出。
- is_dosage:指示矩阵Z是否是剂量矩阵的逻辑值。如果为TRUE,SKAT将忽略“is_check_genotype”。
- missing_cutoff
SNP缺失率的截止值(默认值= 0.15)。任何缺失率高于截止值的SNP将被排除在分析之外。 - max_maf
最大次要等位基因频率(MAF)的截止值(默认值= 1,无截止值)。任何具有MAF>截止值的SNP将被排除在分析之外。 - estimate_MAF
一个数值,表示如何估算重量计算的MAF和缺失的基因型插补。如果estimate_MAF = 1(默认值),则SKAT使用所有样本来估计MAF。如果estimate_MAF = 2,则仅使用具有非缺失表型和协变量的样品来估计MAF。 - SSD.INFO
从Open_SSD返回的SSD_INFO对象。 - SetID:Set ID的字符值。可以从SSD.INFO中的SetInfo对象中找到每个集的集ID。
- SetIndex
Set index的数值。可以从SSD.INFO中的SetInfo对象中找到每个集的集索引。
value
- p.value
- p-value of SKAT.
- p.value.resampling
- p-values from resampled outcomes. You can get it when you use obj from SKAT_Null_Model function with resampling. See the SKAT_Null_Model.
- p.value.noadj
- p-value of SKAT without the small sample adjustment. It only appears when small sample adjustment is applied.
- p.value.noadj.resampling
- p-values from resampled outcomes without the small sample adjustment.
- pval.zero.msg
- (only when p.value=0) text message that shows how small the p.value is. ex. "Pvalue < 1.000000e-60" when the p.value is smaller than
10e-60
- Q
- test statistic of SKAT. It has NA when method="optimal.adj" or "optimal".
- param
- estimated parameters of each method.
- param$Is_Converged
- (only with method="davies") an indicator of the convergence (1=convergence, 0=non-convergence). When 0 (not converged), "liu" method will be used to compute p-values.
- param$n.marker
- a number of SNPs in the genotype matrix.
- param$n.marker.test
- a number of SNPs used for the test. It can be different from param$n.marker when some markers are monomorphic or have higher missing rates than the missing_cutoff.
# NOT RUN {
data(SKAT.example)
attach(SKAT.example)
#############################################################
# SKAT with default Beta(1,25) Weights
# - without covariates
# continuous trait
obj<-SKAT_Null_Model(y.c ~ 1, out_type="C")
SKAT(Z, obj)$p.value
# dichotomous trait
obj<-SKAT_Null_Model(y.b ~ 1, out_type="D")
SKAT(Z, obj)$p.value
##################################################
# SKAT with default Beta(1,25) Weights
# - with covariates
# continuous trait
obj<-SKAT_Null_Model(y.c ~ X, out_type="C")
SKAT(Z, obj)$p.value
obj.b<-SKAT_Null_Model(y.b ~ X, out_type="D")
SKAT(Z, obj.b)$p.value
##################################################
# SKAT with default Beta(1,25) Weights
# - Optimal Test
SKAT(Z, obj, method="optimal.adj")$p.value
# you can get the same p-value by using method="SKATO"
SKAT(Z, obj, method="SKATO")$p.value
#############################################################
# SKAT with Beta(1,30) Weights
SKAT(Z, obj, weights.beta=c(1,30))$p.value
# }