前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >GCTA学习7 | 计算单性状遗传力和标准误

GCTA学习7 | 计算单性状遗传力和标准误

作者头像
邓飞
发布2022-02-09 09:44:30
2.1K0
发布2022-02-09 09:44:30
举报

前面的几节中,我们介绍了GCTA计算G矩阵,本节我们介绍,如果使用GCTA进行遗传力的估计。

1. GCTA计算单性状遗传力常用参数

1.1 --reml(必须)

这部分,是使用reml的方法进行估计方差组分。默认的是AI算法,可以使用EM算法。

1.2 --reml-alg 指定迭代方法(非必须)

--reml-alg 0 # AI算法,默认算法 --reml-alg 1 # EM算法

1.3 --reml-priors 迭代初始值

指定迭代初始值,当数据量较大时,指定初始值,会加快迭代速度。

代码语言:javascript
复制
--reml-priors 0.45 0.55

表示Va为0.45, Ve为0.55

1.4 --grm(必须)

指定GRM矩阵

--grm # 接二进制文件GRM的前缀 --grm-bin # 同上 --grm-gz # 接文本的GRM文件前缀

推荐使用二进制的文件,因为速度快,占用空间少。

1.5 --covar(非必须)

这是接因子协变量的,第一列和第二列分别是FID和IID,后面接因子协变量,比如场年季

1.6 --qcovar(非必须)

接的是数字协变量,比如PCA,比如初生重等

1.7 --pheno(必须)

接的是表型数据,格式也是plink的格式,第一列FID,第二列IID,第三列是表型数据(缺失用NA表示)

如果是多个表型,想指定第四列为表型,可以用--mpheno 2,表示第四列为分析的性状。

1.8 ----mpheno 2 表型数据第四列

如果表型数据中有多列,可以设置第四列为分析的性状。

1.9 --reml-pred-rand 输出育种值BLUP

加上这个代码,会输出BLUP值,GBLUP育种值。

1.10 --blup-snp 输出SNP效应值

再加上--reml-pred-rand--bfile,加上plink二进制文件和育种值信息,会计算SNP的效应值,类似rrblup的值。

1.11 --blup-snp 输出SNP效应值

再加上--reml-pred-rand--bfile,加上plink二进制文件和育种值信息,会计算SNP的效应值,类似rrblup的值。

2. 数据准备

2.1 表型数据

三列,第一列是FID,第二列IID,第三列是表型数据y,没有行头,空格隔开。

2.2 基因型数据

plink的二进制文件

2.3 协变量

这里,示例数据中,没有提供协变量信息。如果提供,可以按照第一列是FID,第二列是IID,其它是协变量的方法整理数据。协变量分为数字协变量和因子协变量,要分开整理。

3. 构建GRM矩阵

3.1 使用Yang的方法

这里,默认的是Yang的方法。

代码语言:javascript
复制
gcta64 --bfile ../test --make-grm --make-grm-alg 0 --out g1

结果文件:

3.2 使用Van的方法

这里,用Van的方法,类似我们GBLUP估计所用的矩阵构建形式。

代码语言:javascript
复制
gcta64 --bfile ../test --make-grm --make-grm-alg 1 --out g2

结果文件:

4. 单性状估算遗传力和标准误

这里,已经构建好了GRM矩阵,指定表型数据,进行遗传力的估计

4.1 使用Yang的GRM矩阵

代码语言:javascript
复制
gcta64 --grm g1 --pheno ../test.phen --reml --out re1

结果可以看出:

  • Vg:加性方差组分为0.022
  • Ve:残差方差组分为0。969
  • Vp:表型方差组分(Vg+Ve),为0.991

遗传力为0.02,标准误是0.008

4.2 使用Van的GRM矩阵

代码语言:javascript
复制
gcta64 --grm g2 --pheno ../test.phen --reml --out re2

结果可以看出:

  • Vg:加性方差组分为0.022
  • Ve:残差方差组分为0。97
  • Vp:表型方差组分(Vg+Ve),为0.991

遗传力为0.02,标准误是0.008

两种方法,结果基本一致。

4.3 使用ASReml作为对比

将二进制的GRM文件,变为asreml支持的ginv格式。

「asreml代码:」

代码语言:javascript
复制
mod = asreml(V3 ~ 1, random = ~ vm(V2,ginv), residual = ~ idv(units),
             workspace = "10Gb",
             dense = ~ vm(V2,ginv),
             data=dat)
summary(mod)$varcomp
vpredict(mod,h2 ~ V1/(V1+V2))

「方差组分和遗传力结果:」

结果和GCTA一致。

5. GBLUP育种值计算和比较

5.1 GCTA计算GEBV值

「代码:」

代码语言:javascript
复制
gcta64 --bfile ../test --make-grm --make-grm-alg 1 --out g2 
gcta64 --grm g2 --pheno ../test.phen --reml --out re2 --reml-pred-rand

计算的育种值:re2.indi.blp,第四列为GEBV。

5.2 ASReml计算BLUP值

代码语言:javascript
复制
mod = asreml(V3 ~ 1, random = ~ vm(V2,ginv), residual = ~ idv(units),
             workspace = "10Gb",
             dense = ~ vm(V2,ginv),
             data=dat)
summary(mod)$varcomp
vpredict(mod,h2 ~ V1/(V1+V2))

blup = coef(mod)$random %>% tiqu_blup()
head(blup)

5.3 GCTA与ASReml的GEBV进行比较:

代码语言:javascript
复制
blup = coef(mod)$random %>% tiqu_blup()
head(blup)

aa = fread("../10_reml_van_uni/re2.indi.blp")
head(aa)

re = merge(blup,aa,by.x = "ID",by.y = "V2")
head(re)
re %>% select(effect,V4) %>% cor

可以看出,结果完全一样。

下一篇介绍GCTA评估两性状遗传力及遗传相关。

相关系列阅读:

第一篇:GCTA学习1 | 抛砖引玉--初步介绍

第二篇:GCTA学习2 | 软件下载安装--windows和Linux

第三篇:GCTA学习3 | GCTA的两篇NG:fast-LMM和fast-GLMM

第四篇:GCTA学习4 | GCTA说明文档--功能分类及常见问题

第五篇:GCTA学习5 | GCTA计算PCA及可视化

第六篇:GCTA学习6 | GCTA计算GRM矩阵(G矩阵)

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. GCTA计算单性状遗传力常用参数
    • 1.1 --reml(必须)
      • 1.2 --reml-alg 指定迭代方法(非必须)
        • 1.3 --reml-priors 迭代初始值
          • 1.4 --grm(必须)
            • 1.5 --covar(非必须)
              • 1.6 --qcovar(非必须)
                • 1.7 --pheno(必须)
                  • 1.8 ----mpheno 2 表型数据第四列
                    • 1.9 --reml-pred-rand 输出育种值BLUP
                      • 1.10 --blup-snp 输出SNP效应值
                        • 1.11 --blup-snp 输出SNP效应值
                        • 2. 数据准备
                          • 2.1 表型数据
                            • 2.2 基因型数据
                              • 2.3 协变量
                              • 3. 构建GRM矩阵
                                • 3.1 使用Yang的方法
                                  • 3.2 使用Van的方法
                                  • 4. 单性状估算遗传力和标准误
                                    • 4.1 使用Yang的GRM矩阵
                                      • 4.2 使用Van的GRM矩阵
                                        • 4.3 使用ASReml作为对比
                                        • 5. GBLUP育种值计算和比较
                                          • 5.1 GCTA计算GEBV值
                                            • 5.2 ASReml计算BLUP值
                                              • 5.3 GCTA与ASReml的GEBV进行比较:
                                              领券
                                              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档