加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

[vcftools]基于全基因组snp数据如何进行主成分分析(PCA)

(2014-08-26 02:16:55)
标签:

ngs

vcftools

分类: 【转】NGS算法

http://www.bioask.net/question/238

经过“基因组-health (213256700)”的热情指导,以及我本人的理解,现将如何基于全基因组的SNP数据进行PCA分析流程记录下来,不妥之处欢迎拍砖。

1)全基因组snp数据格式为 .vcf
2)利用vcftools软件进行格式转换:vcftools --vcf tmp.vcf --plink --out tmp
此时会生成两个文件:tmp.ped 和 tmp.map
3)利用plink软件进行数据格式转换:./plink --noweb --file tmp --make-bed --out tmp
注意,输入文件和输出文件都不需要文件名的后缀,此时生成3个文件:tmp.bed,tmp.bim 和 tmp.fam 
4)利用gcta软件进行pca构建
4.1 ./gcta --bfile tmp --make-grm --autosome --out tmp
此时生成一个文件:tmp.grm.gz
4.2 ./gcta --grm tmp --pca 3 --out pcatmp
此时生成两个文件:pcatmp.eigenval 和 pcatmp.eigenvec
5)将生成的pcatmp.eigenvec用文本编辑器打开,在最上面加入一行:1 2 pc1 pc2 pc3(之间以空格隔开),保存
6)打开R软件
6.1 输入文件:a <- read.table("D:/pcatmp.eigenvec", header=TRUE) 
6.2 绘散点图:plot(a$pc1,a$pc2, pch=c(1,2,3,4,5,6,7,8,9,10), col=c(1,2,3,4,5,6,7,8,9,10) , main="pca",xlab="pc1",ylab="pc2")
6.3 添加图例: legend("bottomleft", c("CL","IN","GZ","DA","PP","YN","DX","JY","NP","SL"), pch=c(1,2,3,4,5,6,7,8,9,10), col=c(1,2,3,4,5,6,7,8,9,10))
文件 > 另存为 > Jpeg or Tiff
That's all, Game over. 再次向基因组-health (213256700)予以致谢!

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有