专栏首页育种数据分析之放飞自我软件介绍: BLUPF90的无敌和寂寞

软件介绍: BLUPF90的无敌和寂寞

前同桌说, 要带粉丝了, 一个换一个, 我就把题目改了一下, 原来的题目是《遗传育种软件三剑客之一:BLUPF90》,但我还是喜欢现在这个题目《BLUPF90的无敌和寂寞》。

BLUPF90号称遗传评估领域的三剑客之一(另外两个分别是ASREML和DMU), 其应该是最先开发了支持基因组数据的模块, 并且里面的基因组数据过滤筛选非常友好。除了上述优势外,BLUPF90还具有以下功能:

  • SSGWAS:之前的GWAS都是基于G矩阵或SNP数据, 现在可以同时利用系谱和SNP信息;
  • PCA分析:之前的PCA都是基于G矩阵或者SNP数据, 现在可以利用H矩阵来进行群体划分;
  • 亲子鉴定:BLUPF90的seekparents模块在进行系谱矫正、亲子鉴定分析时, 速度非常快!
  • 重复样本和异常样本检查:BLUPF90的模块在检查样本可能存在的重复或者异常现象时使用方便;
  • H逆矩阵的输出与再利用:BLUPF90输出的H逆矩阵,在DMU和ASREML中同样适用。

1. ABLUP VS SSGBLUP

传统ABLUP与SSGBLUP的区别在于,原来的A逆矩阵变为了H逆矩阵。

1.1 传统的动物模型计算BLUP值

根据系谱计算A矩阵,然后使用Henderson方程组计算BLUP(EBV值)。

1.2 SSGBLUP计算BLUP值

2. BLUPF90进行SSGBLUP分析

  • RENUMF90对数据进行预处理
  • BLUPF90进行SSGBLUP的计算(已知方差组分时)
  • AIREMLF90进行SSGBLUP方差组分估算(未知方差组分时)
  • PREGSF90进行H逆矩阵的计算

2.1 renumf90预处理数据

2.2 blupf90计算H矩阵以及育种值

2.3 pregsf90计算H矩阵

主要作用:

  • 根据基因组数据构建G矩阵
  • 根据系谱构建A矩阵
  • 根据公式构建H逆矩阵

3. 构建H矩阵的参数设置

4. 基因组数据的筛选

5. 亲子鉴定的作用

6. G矩阵结果数据挖掘

6.1 检测异常个体

G矩阵中, 某些个体对角线有较高的值。这说明有可能这个个体不是群体内的个体, 可能来源于其它群体或者家系, 或者call rate值较低。

6.2 检测重复样本

如果某两个个体的亲缘关系大于0.9, 则表明这两个个体可能是重复样本。

6.3 G矩阵和A22矩阵的关系

G矩阵和A22矩阵是相同个体构建的G矩阵和A矩阵,因此二者应该具有很高的相似性。如果对角线和非对角线相似度较低, 这说明出现了一些问题,需要引起重视。可能是测序个体ID错误, 也可能是数据量较少导致等等。

6.4 根据基因组数据进行PCA分析

7. 构建A22矩阵时的高效方法

可以看出, 构建A22矩阵时, 使用57,000系谱数据, 6,500测序个体, Tabular用了311s, 内存占用12G, 而Colleau method用了45s, 内存占用322Mb。因此使用Colleau方法更合适。

8. BLUPF90构建H逆矩阵输出

如果想要使用DMU, ASREML或者WOMBAT利用BLUPF90构建好的H逆矩阵,需要输出Original ID的形式。然后转化为DMU和ASREML的格式即可。

本文分享自微信公众号 - 育种数据分析之放飞自我(R-breeding)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-04-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 一步法中混合线性模型方程组构建和控制--blupf90

    http://nce.ads.uga.edu/wiki/lib/exe/fetch.php?media=singlestepblupf90.pdf

    邓飞
  • 线性混合模型系列四:矩阵求解

    这篇文章通过R语言代码的形式,介绍给定方差组分的情况下,如何根据两种矩阵求解的方法分别计算BLUE值和BLUP值。

    邓飞
  • R语言中矩阵常用的操作(笔记)

    发现好久没有更新微信文了, 所谓才思枯竭, 黔驴技穷就是我现在的状态. 记得看过这样一句话: "如果你不知道写什么东西, 那就写不知道写什么事情这件事吧". 深...

    邓飞
  • 一步法中混合线性模型方程组构建和控制--blupf90

    http://nce.ads.uga.edu/wiki/lib/exe/fetch.php?media=singlestepblupf90.pdf

    邓飞
  • 【干货】​深度学习中的线性代数

    【导读】近日,机器学习专业学生 Niklas Donges 撰写了一篇关于深度学习需要的数学基础相关知识。线性代数对于理解机器学习和深度学习内部原理至关重要,这...

    WZEARW
  • 数学实验(预习)

    也可以用初等变换求逆矩阵,构造一个n行2n列的矩阵(A E),并进行初等变换,A编程单位矩阵的时候,E就变成了A的逆矩阵.

    云深无际
  • 吹弹牛皮之Unity 引擎基础 - 矩阵(三)

    上图中展示了p,q两个基向量(单位向量)绕原点旋转后得到的新基向量p'和q'。根据勾股定理有:

    用户7698595
  • 吹弹牛皮之Unity 引擎基础 - 矩阵(一)

    沉迷于硬笔的练习偷懒了很长时间。过去的7月份仅仅更新了一篇文章,实在是深表遗憾。接着之前的向量篇小菜继续向下探索。谢谢大家长久来的鼓励和支持。

    用户7698595
  • 一起来学matlab-matlab学习笔记10 10_1一般运算符

    本文为matlab自学笔记的一部分,之所以学习matlab是因为其真的是人工智能无论是神经网络还是智能计算中日常使用的,非常重要的软件。也许最近其带来的一...

    DrawSky
  • 吴恩达机器学习笔记18-逆矩阵、矩阵转置

    “Linear Algebra review(optional)——Inverse and transpose”

    讲编程的高老师

扫码关注云+社区

领取腾讯云代金券