less test_out.vcf | grep "^#" -v | cut -f 10- | less -S
比如
个体分型率 < 90%
某一个样本测出来的标记小于全部标记的90%
标记分型率 < 90%
某一个标记只在小于90%的样本中存在
最小等位基因频率 < 0.05
这个一般call SNP之后也能看出来,就是出现次数最少的基因型的频率(vcf文件详解),太低了就要考虑是不是某一些样本(极少数)call错了导致的,有假阳性的风险。另一方面,如果要研究的疾病本身就是罕见病(比如基因型频率0.0001),那么这个值不宜过高(比如0.01),否则会过滤掉阳性情况,有假阴性的风险。
哈代温伯格平衡检测hwe<1e-6[可选]
可能会质控掉受选择的点,在动植物中一般不加;而在人的研究中,不存在“选择”,因此需要加
具体的阈值需要具体情况具体分析
下面用plink和vcftools分别实现一下
plink
plink --vcf test_out.vcf --geno 0.1 --maf 0.05 --mind 0.1 --hwe 0.000001 \
--allow-extra-chr --export vcf --out qc
#--maf 最小等位基因频率
#--geno SNP检查率;在vcf文件中横着看
#--mind 个体检出率;在vcf文件中竖着看
#--hwe 哈代温伯格平衡检测
#--vcf 输入文件为vcf文件;--file 输入文件为plink的ped/map格式;--bfile 输入文件为plink二进制格式
#--export vcf 输出vcf格式;--recode 输出plink的ped/map格式;--make-bed 输出plink二进制格式
#--out 输出文件名称的前缀
vcftools
vcftools的基本用法可见:vcf文件与vcftools(二)
vcftools --vcf test_out.vcf --maf 0.05 --hwe 0.000001 --max-missing 0.9 \
--recode --out qc2
这里我没有在vcftools的过滤方法中找到根据个体分型率
来过滤样本的参数,解决办法可以先用脚本统计各个样本的分型率,再将分型率较低的样本的ID保存到一个文件中,再用--remove
过滤掉。
上面两种方法对于我的文件得到的结果是相同的。