作为关联分析最常用的工具,plink支持多种关联分析的算法。对于经典的case/control关联分析,该软件支持allele和genotype两个层次的关联分析,具体做法如下
1. allele association test
对于每个snp位点. 统计case/control两组中minor和major allele的频数,得到如下所示的表格
Allele | A | a |
---|---|---|
Case | a | b |
Control | c | d |
对于上述的2 X 2数据,使用卡方和费舍尔精确检验来进行关联分析,通过-assoc
参数可以轻松实现,基本用法如下
输出结果保存在后缀为assoc
和assoc.fisher
两个文件中,卡方分析结果如下所示
费舍尔精确检验分析结果如下所示
A1代表minor allel, A2代表major allel , 需要注意这里的minor allel是根据在实际样本中的分布来决定的。F_A代表minor allel在case中的频率,F_U表示minor allel在control中的频率, CHISQ代表卡方值,P代表pvalue, OR代表odd ratio。
2. genotype association test
对于每个snp位点. 统计case/control两组中各个基因型分布的频数。在对基因型划分时,支持以下3种模型
- GENO
- DOM
- REC
GENO将基因型划分为AA,Aa,aa3类,DOM表示显性遗传模型, 基因型划分为AA/Aa, aa两类,REC表示隐性遗传模型,基因型划分为AA, Aa/aa两类。对应的用法如下
结果保存在后缀为model
的文件中,卡方分析的结果示意如下
可以看到,当有频数小于5时,卡方检验的相关结果全部为NA。对于每个位点,出来上述所说的3种基因型模型外,还给出了TREND和ALLELIC两个针对allele的模型,其中ALLELIC
模型和allele association test中的一致,输出结果完全相同,TREND
则通过Cochran-Armitage趋势检验计算p值。
费舍尔精确检验输出结果如下所示
AFF表示在case组中allel/genotype的频数,UNAFF则表示control组中的分布。plink中的费舍尔精确检验是一个双边检验的结果,用R语言验证的结果如下
如果只是想要allele的关联分析,使用assoc
参数即可,如果同时需要allele和genotype的关联分析,则使用model
参数。
以上只是基本用法,对于单个位点的关联分析,还需要进行多重假设检验的校正,添加--adjust
参数即可,有时还需要添加置信区间,通过--ci
参数来实现,对应的用法如下
目前plink只有-assoc
支持输出置信区间和多重假设检验的校正,--model
不支持。