前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >GCTA学习1 | 抛砖引玉--初步介绍

GCTA学习1 | 抛砖引玉--初步介绍

作者头像
邓飞
发布于 2022-02-08 07:52:42
发布于 2022-02-08 07:52:42
1.3K00
代码可运行
举报
运行总次数:0
代码可运行

康德说:世界上只有两样东西是值得我们深深景仰的,一个是我们头上的灿烂星空,另一个是我们内心的崇高道德法则。

论起软件,也有两款软件,让我学习的过程中,不断的有所收获,不断的感慨功能的强大,一个是plink,另外一个是GCTA。

本篇介绍,是2020年的博客,里面的内容有些老了,最近,GCTA又增加了GWAS的模块fast-GWA,速度远超同类软件,更重要的话,windows电脑也可以用,这样混线性模型GEMMA只能在Linux下使用的弊端,GCTA解决了。不用Linux,就不用Linux吧,现在GCTA也可以分析MLM的GWAS模块了!

1. GCTA介绍

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

2. 安装方法

2.1 使用conda自动安装

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
conda install -c biobuilds gcta

2.2 手动安装

官方地址: https://yanglab.westlake.edu.cn/software/gcta/#Download

说明文档: https://yanglab.westlake.edu.cn/software/gcta/#Overview

3. 安装成功测试

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
(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 2019

Options:

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中读取二进制文件, 可以使用如下代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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 gmatrix
  n=dim(id)[1]
  BinFile=file(BinFileName,"rb")
  grm=readBin(BinFile,n=n*(n+1)/2,what=numeric(0),size=size)  # generate the fack gmatrix
  NFile=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: 会用三种方法计算近交系数.

示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
gcta64 --bfile test --autosome --make-grm --out grm

这里:

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

会生成如下三个文件夹:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
(base) [dengfei@localhost plink_file]$ ls grm*
grm.grm.bin  grm.grm.id  grm.grm.N.bin

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
test.grm.bin,
test.grm.N.bin
test.grm.id

命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
gcta64 --grm grm --pca 3 --out out_pca
  • --grmgrm文件
  • --pca PCA的数目为3
  • --out 结果输出文件

结果生成两个文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
(base) [dengfei@localhost plink_file]$ ls out_pca.eigenv*
out_pca.eigenval  out_pca.eigenvec

8. 利用PCA结果画图

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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")))

结果:

2022-01-05更新

GCTA最新版是 v1.93.3beta2,它的功能也分为三部分:

第一部分:遗传力、遗传相关、表型预测

第二部分:GWAS

第三部分:GWAS模拟数据、群体遗传、孟德尔随机化

学习一件事物最好的方法,就是对此写一本书,那就开始吧。

比如,我不太理解GWAS中显著性SNP的解释百分比(PVE),写了几篇博客后,就搞懂了:

GWAS分析中SNP解释百分比PVE | 第一篇,SNP解释百分比之和大于1?

GWAS分析中SNP解释百分比PVE | 第二篇,GLM模型中如何计算PVE?

GWAS分析中SNP解释百分比PVE | 第三篇,MLM模型中如何计算PVE?

GWAS分析中SNP解释百分比PVE | 第四篇,MLM模型中手动计算PVE?

下一章,介绍一下GCTA在Windows和Linux的安装

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-01-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 育种数据分析之放飞自我 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. GCTA介绍
    • 2. 安装方法
    • 3. 安装成功测试
    • 4. 功能介绍
    • 5. 参数说明
    • 6. 构建G矩阵
    • 7. 利用构建好的G矩阵, 计算PCA分析
    • 8. 利用PCA结果画图
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档