新浪博客

GWAS学习笔记6之plink中的卡方检验

2016-03-07 16:32阅读:
1:一般针对的是case-control的关联分析,假设在取样过程中case与control的取样相等都是50例,那么如果该位点与疾病无关的情况下,其期望的分布应该是随机分布,也就是如下表格这样: GWAS学习笔记6之plink中的卡方检验
但是实际的分布确是这样的:

GWAS学习笔记6之plink中的卡方检验
那么理论上和实际上就存在差异,这个差异可以通过如下公式计算,且这差异分布符合卡方分布:
GWAS学习笔记6之plink中的卡方检验
实际计算起来如下公式:
GWAS学习笔记6之plink中的卡方检验
那么根据计算出来的50这个值对应的我们就可以找到对应的P值。



2:往往我们针对的取样又不是case_control样本量不想等,就如下面这种情况:
GWAS学习笔记6之plink中的卡方检验

不难理解就是把取样的权重加入到期望的分布中。
3:在plink分析的输入文件中,有一个以后缀名为.ped的文件,其文件组成如下:
GWAS学习笔记6之plink中的卡方检验
这其中的第六列就是表型数据

4:所以在做关联的时候如果是case-control这种质量形状,你修改第六行就可以直接做关联分析了
4-1:格式转换
vcftools --vcf my.vcf --plink --out plink
输出的结果为:plink.bed与plin.map文件
4-2:过滤SNP文件
plink --noweb --file plink --geno 0.05 --maf 0.05 --hwe 0.0001 --make-bed --out QC
输出的结果为:QC.bed(binary file,genotype information)、QC.fam(first six columns of plink.bed)、QC.bim(extended MAP file:two extra cols=allele names)
4-3:关联分析
plink --noweb --bfile QC --assoc --out piracy
4-4:如果是数量性状也可以做关联
数量性状的数据如下:
GWAS学习笔记6之plink中的卡方检验
首先看一下数量性状的特点是否符合正太分布:
pdf('ORMDL3_Histogram.pdf')
hist(pheno$ORMDL3)
dev.off()
GWAS学习笔记6之plink中的卡方检验
其次做关联分析,命令如下:
(Wald test)
plink --file ORMDL3 --pheno ORMDL3_Pheno.txt --pheno-name ORMDL3 --assoc --out ORMDL3_Res
输出结果:*.qassoc
CHR Chromosome number
SNP SNP identifier
BP Physical position (base-pair)
NMISS Number of non-missing genotypes
BETA Regression coefficient
SE Standard error
R2 Regression r-squared
T Wald test (based on t-distribtion)
P Wald test asymptotic p-value
##################
也可以使用一下模型:

Linear and logistic models

plink --bfile mydata --linear
plink --bfile mydaya --logistic
These commands will either generate the output file
plink.assoc.linear
or
plink.assoc.logistic
depending on the phenotype/command used. The basic format is:
CHR Chromosome
SNP SNP identifier
BP Physical position (base-pair)
A1 Tested allele (minor allele by default)
TEST Code for the test (see below)
NMISS Number of non-missing individuals included in analysis
BETA/OR Regression coefficient (--linear) or odds ratio (--logistic)
STAT Coefficient t-statistic
P Asymptotic p-value for t-statistic
##################################
画QQplot
res <- read.table('ORMDL3_Res.qassoc', stringsAsFactors = F, + header = T)
library(snpStats)
pdf('ORMDL3_QQ.pdf')
qq.chisq(-2 * log(res$P), df = 2, pvals = TRUE, overdisp = TRUE)
dev.off()
GWAS学习笔记6之plink中的卡方检验

我的更多文章

下载客户端阅读体验更佳

APP专享