现将如何基于全基因组的SNP数据进行PCA分析流程记录下来:

1)全基因组snp数据格式为 .vcf

2)利用vcftools软件进行格式转换(Linux系统下:进入 /vcftools_0.1.13/cpp

路径后,会注意有个文件vcftools是别样颜色):

./vcftools --vcf tmp.vcf --plink --out tmp

此时会生成两个文件:tmp.ped 和 tmp.map

3)利用plink软件进行数据格式转换(Linux系统下:下载plink软件,进入 /plink-1.07-i686 路径下 ,

运行:chmod a+x plink ,此时会发现plink文件变了颜色,接下来运行下一行):

./plink --noweb --file tmp --make-bed --out tmp

注意,输入文件和输出文件都不需要文件名的后缀,此时生成3个文件:tmp.bed,tmp.bim 和 tmp.fam

4)利用gcta软件进行pca构建(Linux系统下:下载gcta软件,进入 /gcta 路径下 , 运行:chmod a+x

gcta ,此时会发现gcta文件变了颜色,接下来运行下一行):

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

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

7)

EIGEN

GROUP

oldpar

plot(EIGEN[,3],EIGEN[,4],col=c("red","blue")[GROUP$group],xlab="PC1",ylab="PC2");grid()

plot(EIGEN[,3],EIGEN[,5],col=c("red","blue")[GROUP$group],xlab="PC1",ylab="PC3");grid()

plot(EIGEN[,4],EIGEN[,5],col=c("red","blue")[GROUP$group],xlab="PC2",ylab="PC3");grid()

par(oldpar)

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

linux中主成分分析软件,基于全基因组snp数据进行主成分分析(PCA)相关推荐

  1. 基于全基因组测序数据鉴定结构变异的四大类方法总结

    不同类型的基因组变异示意图(图片来源:labspaces) 上次给大家总结介绍了基因组单核苷酸多态性(single nucleotide polymorphism,SNP)的鉴定方法,今天给大家介绍结 ...

  2. Linux中常用软件安装

    Linux中常用软件安装 0 软件安装命令 rpm命令 yum命令 1 JDK安装 2 Mysql安装 0 MySQL安装与卸载 (新增于 2021-06-06) 1 卸载 yum方式 rpm方式 2 ...

  3. debian linux如何安装软件,怎样在Debian Linux中安装软件?

    Debian Linux附带了超过 29000 个软件包,这些预先编译好的软件被包裹成一种良好的格式以便于在您的机器上进行安装.如果您使用的是Debian的桌面版本,则可以使用Synaptic通过点击 ...

  4. oracle中日期自动补全,没有数据自动补0

    oracle中日期自动补全,没有数据自动补0 1. 描述 最近在项目中遇到一个问题,在进行oracle相关查询操作的时候,查询某个月的数据,这个月中某些日期没有数据,就造成了日期的缺失,我想做的就是不 ...

  5. Linux中常用软件安装(基于Ubuntu)

    安装软件对于初学者来说都是比较困难的,刚刚接触Linux时,初学者会因为软件安装的不正确而花费大量的时间,本文为了更加方便地为初学者提供参考: ============================ ...

  6. linux中的软件管理(包括配置本地yum源、配置共享yum源、第三方仓库的搭建、yum命令、rpm命令)

    1.什么是yum源? yum源就是一个软件集合地,你只需要搜索并安装你想要的软件,它会帮你解决大部分软件的依赖问题 本地yum源:比如说光盘里面一般会附带一些软件,这个时候就可以把光盘当成本地源来安装 ...

  7. 如何查看linux安装了那些软件下载,linux中安装软件,查看、卸载已安装软件方法...

    各种主流Linux发行版都采用了某种形式的包管理系统(PMS)来控制软件和库的安装. 软件包存储在服务器上,可以利用本地Linux系统上的PMS工具通过互联网访问.这些服务器称为仓库. 由于Linux ...

  8. 麒麟信安携手中望软件打造全国产操作系统+CAD解决方案

    近日,麒麟信安操作系统系列产品(麒麟信安操作系统V3.麒麟信安服务器操作系统V3.麒麟信安桌面操作系统V3)与广州中望龙腾软件股份有限公司(以下简称中望软件)中望CAD 2021 Linux版完成兼容 ...

  9. Linux中常见软件安装方法及常见管理方法

    软件安装及管理 一.软件的类型 二.Tar包安装.升级.卸载(必须会) 三.RPM软件包安装及管理(必须会) 四.脚本安装.升级.卸载 五.SRPM包安装(知道就行,很少用) 一.软件的类型 1.软件 ...

最新文章

  1. 【Qt】QWidget对样式表设置边框无效的解决方法
  2. 测序仪的序列:DNA测序的历史
  3. BOM中的其他对象以及短路运算
  4. 【Servlet】ServletContext、ServletConfig对象学习、用户登录系统完善
  5. linux mint 用户管理,Linux Mint 新工具:将网站转变为独立的应用
  6. 距离传感器控制灯泡代码_生迪全彩智能 LED 灯泡体验评测
  7. python创建和控制的实体称为_Python eds包_程序模块 - PyPI - Python中文网
  8. oracle数字日期43841怎么转,安装0racle已崩溃,求助大佬
  9. 其他手机安装鸿蒙系统,不是华为手机,也能用上鸿蒙系统
  10. laravel 模型事件几种用法
  11. ios13 文件 连接服务器 您已离线,iOS13,终于可以屏蔽系统更新了
  12. ubuntu 下openkore的运行
  13. IDEA/Android Studio中替换(replace)快捷键
  14. IIS应用程序池自动停止,报503错误解决方法
  15. 群聊头像 - 取前五个用户头像生成一个新的头像
  16. 用C语言编辑一光年相当于多少米,天文学里一光年是多长的距离?
  17. 【WLAN】【测试】盘点如何查看系统连接过的WIFI密码(包括手机、电脑及不同系统)
  18. 上交计算机考研专业课,2018上交考研经验贴
  19. C# PrintDocument 打印 和 打印预览
  20. 爬虫(利用正则表达式爬取百度新闻(淘宝))

热门文章

  1. 基于PHP的中华诗歌网的设计与实现
  2. beckhoff倍福TwinCAT HMI使用笔记,BestMrRight整理
  3. 快速了解TCP的流量控制与拥塞控制
  4. PS2023神经元滤镜离线安装教程,解决PS神经滤镜灰色不可用!
  5. 告别晕车七种方法,献给我晕车的朋友
  6. 数字教学媒体有计算机,外语数字化网络媒体教学
  7. 商机网海量资源,帮助企业高效采购
  8. godaddy设置php,GoDaddy主机如何命名PHP初始化文件 | Godaddy美国主机中文指南
  9. 软件工程—理论与实践
  10. 个人日程管理软件(最新版本1.6 beta 202009261922)