作为最广泛使用的关联分析工具,plink支持卡方检验,费舍尔精确检验,逻辑回归,线性回归等多种分析方法,用法简单,运行速度快。使用plink进行case/control逻辑回归, 只需如下所示的一句代码
plink —bfile sample —logistic —allow-no-sex —ci 0.95 —out out
输出结果保存在out.assoc.logistic文件中,内容如下所示
plink默认采用加性模型,针对单个SNP位点的基因型与case/control的分组进行逻辑回归分析,核心数据如下
genotype | AA | Aa | aa |
---|---|---|---|
Case | a | b | c |
Control | d | e | f |
以rs4970383
为例,其对应的表格统计如下
genotype | AA | Aa | aa |
---|---|---|---|
Case | 1 | 8 | 3 |
Control | 2 | 3 | 7 |
对于这样的数据,用R语言进行逻辑回归分析,代码如下
红框标记的部分就是逻辑回归的结果值,和plink的结果进行对比,可以看到,SE代表的就是标准误,STAT代表T检验的统计量,P代表T检验的p值。
默认显示OR值,也可以显示对应的回归系数值,代码如下
plink —bfile sample —logistic beta —allow-no-sex —ci 0.95 —out out
输出结果如下
BETA列代表的就是回归系数了,而L95和U95对应的就是95%的置信区间了,在R中计算的结果如下
除了加性模型外,还支持显性,隐性模型,本质就是对基因型进行了划分,还是以rs4970383
为例,显性模型中基因型统计如下
genotype | AA Aa | aa |
---|---|---|
Case | 9 | 3 |
Control | 5 | 7 |
隐性模型中基因型统计如下
genotype | AA | Aa aa |
---|---|---|
Case | 1 | 11 |
Control | 2 | 10 |
plink根据显性或者隐性模型进行逻辑回归的方法如下
plink —bfile sample —logistic dominant —allow-no-sex —ci 0.95 —out out plink —bfile sample —logistic dominant —allow-no-sex —ci 0.95 —out out
分析结果如下
DOM代表显性模型,REC代表隐性模型,这里的OR值其实和逻辑回归没有太大关系,是直接根据上述2X2的表格计算出来的,根据OR值的公式,对于显性模型,OR值为
(9 7 ) / (3 5) = 4.2
隐性模型OR值为
(1 10) / (2 11) = 0.4545
用R来计算不同模型对应的p值,显性模型结果如下
隐性模型结果如下
plink的优势之处在于同时对大量snp位点进行分析,如果只是对个别位点进行分析,自己用R语言也可以得到相同的结果。