软件介绍系列

1. GCTA介绍

在群体遗传中,GCTA中做PCA非常方便, 下面介绍一下GCTA的安装方法.

2. 安装命令

使用conda自动安装

conda install -c biobuilds gcta 

手动安装

官方地址

说明文档

3. 安装成功测试

这里, 应该键入gcta64, 而不是gcta

(base) [dengfei@localhost bin]$ gcta64
*******************************************************************
* Genome-wide Complex Trait Analysis (GCTA)
* version 1.26.0
* (C) 2010-2016, The University of Queensland
* MIT License
* Please report bugs to: Jian Yang <jian.yang@uq.edu.au>
*******************************************************************
Analysis started: Wed Apr 24 14:07:43 2019Options:Error: no analysis has been launched by the option(s).Analysis finished: Wed Apr 24 14:07:43 2019
Computational time: 0:0:0

显示上面信息, 表明软件安装成功.

4. 功能介绍

5. 参数说明

5.1 输入输出文件

输入文件:

  • --bfile test: 类似plink的参数格式. 支持binary文件(test.fam,test.bim,test.bed)
  • --dosage-mach test.mldose test.mlinfo支持其它数据格式

输出文件:

  • --out result: 类似plink的--out参数, 定义输出文件名

5.2 数据清洗

ID保留和删除
如果不写, 默认全部使用

  • --keep test.indi.list定义分析个体列表
  • --remove test.indi.list 删除个体列表

选择SNP

--chr 1:选择染色体
--autosome 选择所有SNP

6. 构建G矩阵

--make-grm 会生成三个文件:

如何你想在R中读取二进制文件, 可以使用如下代码:

ReadGRMBin=function(prefix,AllN=F,size=4){sum_i=function(i){return(sum(1:i))}BinFileName=paste(prefix,".grm.bin",sep="")NFileName=paste(prefix,".grm.N.bin",sep="")IDFileName=paste(prefix,".grm.id",sep="")id = read.table(IDFileName) # read the ID of the gmatrixn=dim(id)[1]BinFile=file(BinFileName,"rb")grm=readBin(BinFile,n=n*(n+1)/2,what=numeric(0),size=size)  # generate the fack gmatrixNFile=file(NFileName,"rb");if(AllN==T){N=readBin(NFile,n=n*(n+1)/2,what=numeric(0),size=size)}else{N=readBin(NFile,n=1,what=numeric(0),size=size)}i=sapply(1:n,sum_i)return(list(diag=grm[i],off=grm[i],id=id,N=N))
}

计算近交系数

--ibc: 会用三种方法计算近交系数.

示例:

gcta64 --bfile test --autosome --make-grm --out grm

这里:

  • --bfile 读取的是plink的二进制文件
  • --autosome 是利用常染色体上的所有SNP信息, 这个不能省略
  • --make-grm生成grm矩阵
  • --out 生成前缀名

会生成如下三个文件夹:

(base) [dengfei@localhost plink_file]$ ls grm*
grm.grm.bin  grm.grm.id  grm.grm.N.bin

7. 利用构建好的G矩阵, 计算PCA分析

--grm test: 这里的xx是前缀, 它其实包括三个文件:

test.grm.bin,
test.grm.N.bin
test.grm.id

命令:

gcta64 --grm grm --pca 3 --out out_pca
  • --grmgrm文件
  • --pca PCA的数目为3
  • --out 结果输出文件

结果生成两个文件:

(base) [dengfei@localhost plink_file]$ ls out_pca.eigenv*
out_pca.eigenval  out_pca.eigenvec

8. 利用PCA结果画图

在R语言中, 设置好工作路径, 键入如下命令:

dd=read.table("out_pca.eigenvec",header=F)
head(dd)
names(dd) = c("Fid","ID","PC1","PC2","PC3")
plot(dd$PC1,dd$PC2,pch=c(rep(1,112),rep(2,103)),col=c(rep("blue",112),rep("red",103)),main="PCA",xlab="pc1",ylab="pc2")
legend("bottomright",c("TEXT1","TEXT2"),pch=c(rep(1),rep(2)),col=c(rep("blue"),rep("red")))

结果:

后记1, 使用示例数据b.pedb.map使用gcta64做PCA分析

看完gcta, 发现plink也可以构建G矩阵, 也可以进行PCA分析, 本数据使用plink的解决方案:

  • 将ped文件, 转化为bed文件
plink --file b --make-bed --out test

生成test.bed, test.bim,test.fam三个文件

  • 构建G矩阵grm
 gcta64 --bfile test --autosome --make-grm --out grm

生成三个文件:

grm.grm.bin  grm.grm.id  grm.grm.N.bin
  • 生成PCA, 数目为3
gcta64 --grm grm --pca 3

生成两个文件:

gcta.eigenval  gcta.eigenvec
  • 作图
dd=read.table("gcta.eigenvec",header=F)
head(dd)
names(dd) = c("Fid","ID","PC1","PC2","PC3")
plot(dd$PC1,dd$PC2,pch=c(rep(1,112),rep(2,103)),col=c(rep("blue",112),rep("red",103)),main="PCA",xlab="pc1",ylab="pc2")
legend("bottomright",c("TEXT1","TEXT2"),pch=c(rep(1),rep(2)),col=c(rep("blue"),rep("red")))

结果:

后记2, 使用示例数据b.pedb.map使用plink做PCA分析

看完gcta, 发现plink也可以构建G矩阵, 也可以进行PCA分析, 本数据使用plink的解决方案:

只用一行代码, 就可以生成PCA的数据, 比gcta64简单太多了.

plink --file b --pca 3

比较两个数据的结果, 可以看出, plinkgcta64结果一致.

对PCA作图:

结果一致, 因为plink调用的是gcta64的算法, 构建G矩阵, 构建PCA.

福利1
计算gcta64或者plink可以构建矩阵, asreml也支持下三角的G矩阵或者G逆矩阵, 问题来了, 两者怎么联系到一起呢?

这样asreml就可以愉快的进行GBLUP的分析了.

福利2
之前的博客中有提到利用H矩阵构建PCA分析, 那么如何操作呢?

欲听后事如何, 请听下回分解.

公众号后台回复:plink, 获得测试数据:b.pedb.map, 用于本次分析.



如果您对于数据分析,对于软件操作,对于数据整理,对于结果理解,有任何问题,欢迎联系我。

GCTA PCA分析以及软件安装教程相关推荐

  1. revman软件_meta分析概述及RevMan软件安装教程

    一.meta分析定义 国内王家良教授主编的<询证医学>教材中将meta分析定义为:对多个目的相同.性质相近的医学研究所进行的一种定量综合分析方法.在医学研究中,针对同一问题会有许许多多类似 ...

  2. ad软件侵权律师函_Aspen Plus 9 软件安装教程

    Aspen Plus 9 软件安装教程 01 Aspen Plus 9 软件安装教程 软件介绍 Aspen 提供最新资产性能管理.工程.制造和供应链软件版本.更好地提高产能,提高利润,降低成本,提高能 ...

  3. ad软件one pin错误是啥意思_Unity3D 4.5 软件安装教程

    Unity3D 4.5 软件安装教程 01Unity3D 4.5软件介绍 [软件名称]:Unity3D 4.5 [安装环境]:Windows Unity3D 4.5是unity系列软件的版本,也是一款 ...

  4. 此加载项为此计算机的所有用户安装_MDI Jade 6.5软件安装教程

    软件下载 ▼ 关注微信公众号:贵州永航科技回复Jade即可获得软件安装包下载地址以及详细安装教程 更多软件安装教程可点击菜单栏获取 软件 介绍 MDI Jade是一款专门用于XRD分析的软件,XRD分 ...

  5. 4广联达4代锁安装6.0_Aspen Plus 8.4 软件安装教程

    Aspen Plus 8.4 软件安装教程 01 Aspen Plus 8.4 软件安装教程 软件介绍 Aspen 提供最新资产性能管理.工程.制造和供应链软件版本.更好地提高产能,提高利润,降低成本 ...

  6. 软件安装教程-Vivado2018.3/ISE14.7/Modelsim10.5/Keil5/AD18/Cadence17.2/CAD2016

    硬件工程师软件安装教程 1.Vivado2018.3安装教程 本文的主要内容是介绍 Vivado 2018.3 版本(提取码:ebdx)的安装步骤及其 license(提取码: 6xkh) 的获取与加 ...

  7. Creo 5.0软件安装教程|兼容WIN10

    Creo 5.0软件安装教程|兼容WIN10 软件简介: Creo5.0最新版本的Creo 3D建模软件,也是目前广受赞誉的2D和3D CAD软件,包含了Pro/ENGINEER.CoCreate和P ...

  8. Creo 4.0 软件安装教程

    Creo 4.0 软件安装教程 软件简介: Creo 4.0提供了最广泛的功能强大而灵活的3D CAD功能,帮助团队在下游流程使用2D CAD.3D CAD.参数化和直接建模创建.分析.查看和利用产品 ...

  9. UG NX7.0软件安装教程

    UG NX7.0软件安装教程 软件简介: UG NX 7.0是集CAD/CAE/CAM于一体的产品生命周期管理软件,能够支持产品开发的整个过程,从概念CAID,到设计CAD,到分析CAE,到制造CAM ...

最新文章

  1. jQuery 3.3.1已经发布,开发团队正在准备4.0版本
  2. Hey, Apple | Decode the Week
  3. idea2020.2中@test是怎么测试的_Sklearn 划分训练集和测试集
  4. SDRAM容量的计算方法
  5. PHP程序无法设置cookie
  6. 60. 理解 Ajax 性能
  7. 2018十大网络用语新鲜出炉,skr入围榜三!
  8. 关于微信群的一个新玩法 (月末总结)
  9. Verilog的时序问题和SystemVerilog TestBench激励时序
  10. pdf加密文件怎么加密
  11. 谁浇了李彦宏一瓶冷水?
  12. 利用C语言 计算一个数组内的平均值
  13. 广州蝶梦网络科技有限公司的互联网意义
  14. centos7的网卡重启方法
  15. java 求一组数据的各自所占百分比
  16. 批量导出VSD文件到JPG文件 宏
  17. C语言:用筛选法求100以内的素数
  18. SpringBoot电脑商城-收货地址
  19. 高通手机900E变砖救活方法及原理分析
  20. 开源不仅是Red Hat的软件

热门文章

  1. 无人机遥感技术在各个行业中的应用
  2. Windows下安装OMNET++仿真工具
  3. 目标导向和UCD以用户为中心的设计-精读
  4. HaaS Python + AI 隆重登场 使用 ESP32 + 摄像头 机器视觉实现水果识别
  5. HTML中首加载项,IE浏览器弹出加载项管理如何解决
  6. 浅析 Linux 系统调用
  7. 以http协议实现onvif协议并完成对IPC摄像头的监控
  8. mysql sql 字段唯一_MySQL数据库唯一性设置(unique index)
  9. SendMessage消息是否进入消息队列
  10. 《基于Adaboost-SVM集合与SMOTE和时间加权的类别不平衡动态金融困境预测》文献阅读整理