2018-11-01GWAS实战(四)plink 进阶之数据过滤

数据好不好,影响到结果的准确性,所以我们要来对数据进行过滤,过滤前,我们应该对数据的部分特征进行统计描述,以此为依据来进行过滤。

这里介绍的几个指标:
1.individuals with high missing genotype rates (具有高缺失基因型率的个体)
2.missing genotype rate(缺失基因型率统计)
3.minor allele frequency (一个snp上最小等位基因频率)
4.Hardy-Weinberg equilibrium failures(不符合哈德温伯格平衡的(认为这个位点和群体结构有关))
5.Linkage disequilibrium based SNP pruning(基于连锁不平衡筛选snp标记)

过滤具有高缺失基因型率的个体

这里主要是用一个mind 的参数


mind

--mind 之后的那个参数要自己设置的

plink --bfile core_v0.7 --mind 0.1 --make-bed --out test
result

这样我就把83个个体过滤掉了

注意这个有个--geno 是对每个snp在所有个体中的缺失率进行过滤

missing genotype rate

主要是 --missing 这个参数
显示缺失的统计结果

plink --bfile test --missing

会产生两个文件


process

一个是imiss,记录了样本的missing data
一个是lmiss,记录了snp的missing data

imiss

可以查看缺失率

lmiss

我们可以发现数据N_GENO 分别与之前的第一步的操作结果报告一一对应。

具体信息对应查看如下:


explain

Hardy-Weinberg equilibrium failures

哈迪-温伯格定律

“哈迪-温伯格定律”是指在理想状态下,各等位基因的频率和等位基因的基因型频率在遗传中是稳定不变的,即保持着基因平衡。该定律运用在生物学、生态学、遗传学。条件:①种群足够大;②种群个体间随机交配;③没有突变;④没有选择;⑤没有迁移;⑥没有遗传漂变。
——摘自百度

这一步是对每一个snp做哈迪-温伯格检验,针对等位基因平率的(与下文的LD比较)

plink --file test --hardy
hardy

会产生一个report (.hwe)


hwe

我们来看一下
第一列 snp 所在染色体
第二列 snp 名称
第三列 test的名称
第四列 Minor allele code
第五列 Major allele code
第六列 具体数据 也就是 AA Aa aa 的个数
第七列 观察到的2pq 的值
第八列 期望的2pq的值
第九列 对这个数据进行卡方检验,看显不显著

minor allele frequency

检查等位基因频率

plink --bfile core_v0.7 --freq
freq

产生一个.frq文件

result

第一列 snp所在的染色体
第二列 snp的名称
第三列 最小等位基因
第四列 主要等位基因
第五列 最小等位基因平率
第六列 Non-missing allele count

Linkage disequilibrium based SNP pruning

连锁不平衡 LD 过滤

这个是计算两个标记间的连锁率

连锁不平衡 (linkage disequilibrium)是指在某一群体中,不同座位上某两个基因同时遗传的频率明显高于预期的随机频率的现象。HLA 不同基因座位的各等位基因在人群中以一定的频率出现。简单地说,只要两个基因不是完全独立地遗传,就会表现出某种程度的连锁。这种情况就叫连锁不平衡。连锁不平衡可以是同一条染色体上的不同区域,也可以是不同染色体上的。
--百度百科

师兄说了,如果是单标记回归,可以不做,影响不大,最多影响速度,但是在多标记回归算基因互作的问题中,应该要做删选,因为不做的话会把连锁的snp误当做是基因互作。

如果做了LD,那么扫描出来的点可能很明显,只有一个,如果没有做LD,可能扫描出来的点是一团。

有两种方法可以做,这里只说一种

plink --bfile core_v0.7 --indep-pairwise 50 5 0.5
LD-prune

会产生两个文件,一个是plink.prune.in,一个是plink.prune.out

我不贴图了,就是标记名字,

Each is a simlpe list of SNP IDs; both these files can subsequently be specified as the argument for a --extract or --exclude command.

这个文件是可以用来做删选的参数的

plink --bfile core_v0.7 --extract plink.prune.in --make-bed --out pruneddata

这样就LD过滤好啦

LD.png

会产生过滤好的结果

好啦,其实还有好多其他要检测或者过滤的,不过这里介绍的是主要的一些,暂时用自然群体,也不考虑家系结构,这次写了好多,也算是学到了一点点皮毛了。

你可能感兴趣的:(2018-11-01GWAS实战(四)plink 进阶之数据过滤)