开始正文之前先了解一下为什么构建群体遗传结构是重要的,并且可以通过哪些方式构建此结构:
对于方法1,我们需要使用Plink构建PCA图
(1) 首先使用plink将vcf格式文件转换成.bed , .bim , .fam文件, 操作如下:
plink --allow-extra-chr -vcf XXX.vcf --make-bed --out filtered_XXX && echo "vcf2bed is done"
(2) 使用plink进行主成分分析,操作如下:
plink -bfile filtered_XXX --allow-extra-chr --pca 10 --out PCA_filtered_snps
产生了两个eigenval eigenvec文件,之后开始绘制PCA散点图,可以使用python脚本进行绘制,代码如下:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
'''绘制PCA散点图'''
import matplotlib.pyplot as plt
import collections
import re
hash = collections.OrderedDict()
eval_file = open("PCA_filtered_snps.eigenval","r")
evec_file = open("PCA_filtered_snps.eigenvec",