从VCF文件画PCA图

1. 使用plink 获取 SNP_test.eigenvec 文件

plink --maf 0.05 --allow-extra-chr --vcf SNP.vcf --pca header tabs -out SNP_test

eigenvec 文件格式如下:

FID    IID    PC1    PC2    PC3    PC4
F2    H    -0.101378    -0.366086    0.778957    -0.498928
F2    N    -0.145292    -0.590011    -0.616724    -0.500428
F    P    -0.561637    0.653219    -0.0865941    -0.500371
M    P    0.808194    0.30195    -0.0733369    -0.500271

 

2. 使用R进行画图:

#!/bin/R

library("FactoMineR")
library("factoextra")

data <- read.table("SNP_test.eigenvec",header = TRUE,sep="\t")
data3 <- data[,-1]
data2 <- as.data.frame(data3)
pdf("SNP_test_pca.pdf")
ggplot(data2, aes(x=data$PC1,y=data$PC2,color=data$IID)) + geom_point(shape=19,size=4) +
  scale_shape_manual(values=c(1:8))  + labs(title="PCA",x="PC1",y="PC2")  +
  theme(plot.title = element_text(hjust = 0.5))
dev.off()

3.  得到PCA图(可以根据需要修改R脚本进行优化)

从VCF文件画PCA图_第1张图片

 

 

你可能感兴趣的:(生物信息学)