【百奥云GS专栏】全基因组选择之工具篇
前面我们已经介绍了基因组选择的各类模型,今天主要来了解一下做GS有哪些可用的软件和工具。基因组选择处在热门研究阶段,每年都有不少新工具开发出来,可分析的软件非常之多,为了便于大家更加清晰地了解,这里我将它们分为免费开源包/库、成熟软件、WEB/GUI工具三类,用户使用难度依次降低。
1. 免费开源包/库
R和Python语言作为开源软件的代表,在数据分析领域有着不可替代的优势。近几年大部分GS分析软件都是由这两种语言开发。免费开源的R包或者Python库使用起来比较灵活,可根据用户的具体需求随时变化参数来获得最佳性能,但对使用用户而言需要有一定的数据分析基础。
1.1 R包
rrBLUP
https://cran.r-project.org/web/packages/rrBLUP/rrBLUP.pdf
主要用于建立RRBLUP模型,可估计每个SNP的效应值。sommer
https://cran.r-project.org/web/packages/sommer/sommer.pdf
更新较频繁,不同版本的用法可能稍有差异。可求解各种混合效应模型,包括RRBLUP和GBLUP经典模型。BGLR
https://github.com/gdlc/BGLR-R
主要用于建立Bayes类模型,包括BayesA、BayesB、BayesC、BayesCpi、BRR、BL、RKHS,也可用于建立GxE、多性状等复杂模型。brnn
https://cran.r-project.org/web/packages/brnn/brnn.pdf
全称贝叶斯正则化前馈神经网络(Bayesian regularization for feed-forward neural networks),专门建立brnn模型,计算比较耗时。HIBLUP
https://hiblup.github.io/
基于BLUP方法的分析工具,可实现ABLUP/PBLUP、GBLUP、SSBLUP等模型。具体可包括A、G、H矩阵构建,AI、EM等多种方差组分估计方法,以及混合模型方程求解等。BWGS
https://cran.r-project.org/web/packages/BWGS/BWGS.pdf
针对小麦基因组选择分析开发的R包,同样适用于其他作物。整合了BLUP、Bayes和机器学习三类方法,其实就是整合了单独分析这三类方法的R包,如rrBLUP、BGLR、glmnet、randomForest、brnn、e1071等。主要函数有交叉验证建模和表型预测两个。synbreed
http://synbreed.r-forge.r-project.org/
很古老的R包,实现的功能有数据预处理、可视化及统计建模,包括BLUP和贝叶斯类方法。cpgen
https://github.com/cheuerde/cpgen
可建立BLUP、Bayes模型,还可以做GWAS,特点是能实现多线程并行化计算。GSMX
https://cran.r-project.org/web/packages/GSMX/GSMX.pdf
多变量基因组选择分析工具。主要用于估计性状遗传力和处理过拟合。PopVar
https://cran.r-project.org/web/packages/PopVar/PopVar.pdf
可建立常见的RRBLUP、BayesA/B/C、BL、BRR等模型,特点是可以根据双亲群体的子代作为训练群体来预测双亲。此外也可进行多性状分析。BGGE
https://cran.r-project.org/web/packages/BGGE/BGGE.pdf
基于贝叶斯方法建立GxE模型。GAPIT
https://www.zzlab.net/GAPIT/
主要用于GWAS分析,内置了作者提出的sBLUP和cBLUP方法。此外,作者专门开发出GUI工具iPat,详见第三节。KAML
https://github.com/YinLiLin/KAML
在BLUP方法LMM的基础上,通过改变遗传结构方法,如将pseudo-QTNs设为协变量,将某特异性状赋予权重优化亲缘关系矩阵等。可搭配HIBLUP使用。snpReady
https://cran.r-project.org/web/packages/snpReady/vignettes/snpReady-vignette.html
不是专门做GS建模的R包,主要用来做SNP的预处理,包括质控、G矩阵处理、群体遗传汇总。GSelection
https://cran.r-project.org/web/packages/GSelection/GSelection.pdf
分析功能包括特征选取、特征去冗余、方差估计、表型预测等。MTGS
https://rdrr.io/cran/MTGS/
全称Genomic Selection using Multiple Traits,用于多性状分析。但此包已被CRAN移除,只能源码安装旧版本。BMTME
https://cran.r-project.org/web/packages/BMTME/BMTME.pdf
全称Bayesian Multi-Trait Multi-Environment for Genomic Selection Analysis,基于贝叶斯模型的多环境和多性状分析。DeepGS
https://github.com/cma2015/DeepGS
通过卷积神经网络算法来预测表型,并集成了RR-BLUP模型,提高预测性能。机器学习用于GS的常见R包:如randomForest、glmnet、e1071、mxnet等。
混合线性模型分析的常见R包:lme、lme4、nlme、MCMCglmm等。
1.2 Python库
SeqBreed
https://github.com/miguelperezenciso/SeqBreed
主要能实现常见的BLUP类模型,也可以灵活地评估特定场景中地遗传结构,如QTN数目、作用及性状数量等来提升预测性能。常见机器学习Python工具:经典机器学习模块如sklearn,深度学习框架如Karas、TensorFlow、PyTorch等。
2. 成熟软件
动物基因组选择发展较早,因此成熟的遗传评估软件一开始是专门为动物育种而设计开发,只有其中一部分功能适用于植物育种。
早期的软件一部分是商业软件,使用需付费。一部分虽然免费,但允许使用的数据量小,商用需授权。它们大多用FORTRAN、C等语言编写,运行稳定且运算较快。但模型比较单一,基本都是通过混合线性模型来评估遗传参数,建立的大多是BLUP类模型。
近几年越来越多的高性能免费软件趋于成熟,随着海量数据的积累和实际应用的需求,这类软件将显得越来越重要。
ASREML
https://www.vsni.co.uk/software/asreml
包括ASReml-W和ASReml-R,专门用于海量数据的混合模型分析,可评估许多重要的遗传参数,运算较快。仅应用BLUP类方法。BLUPF90
http://nce.ads.uga.edu/wiki/doku.php
BLUPF90系列程序是Fortran 90/95中的软件集合,用于动物育种中的混合模型计算。DMU
https://dmu.ghpc.au.dk/
历史悠久,主要用于动物数量遗传评估。功能包括估计方差组分和固定效应,预测育种值。MixBLUP
https://www.mixblup.eu/
动物育种软件,结合系谱和基因组信息基于BLUP方法估计育种值。WOMBAT
http://didgeridoo.une.edu.au/km/wombat.php
为动物育种开发,使用REML估计方差组分。PIBLUP
https://github.com/huiminkang/PIBLUP
各类BLUP模型构建,包括加性、显性和上位性矩阵。虽然用R编写,但使用了多线程并行运算,加入了数学核心函数库,使用预处理共轭梯度等方法加快了运算速度。GVCBLUP
https://animalgene.umn.edu/gvcblub
在GBLUP基础上可对加性和显性效应进行基因组预测和方差成分估计。JWAS
http://reworkhow.github.io/JWAS.jl/latest/
Julia语言编写,基于贝叶斯多元回归方法。对固定和随机效应无限制,且可用于多性状分析。
3. WEB/GUI工具
基于网页或图形界面的工具目前还较少,因此对于普通用户使用GS技术,仍有一定的门槛。以下几个工具仅供参考。
GS1.0
http://www.rmbreeding.cn/tool/gs1.0
基于GBLUP的水稻基因组选择在线分析模块,要求输入基因型、表型和亲缘关系矩阵三个文件。solGS
https://cassavabase.org/solgs
基于RRBLUP模型建立的web工具。iPat
http://zzlab.net/iPat/#!
图形用户界面GUI工具,可单独进行GS(包括BLUP和贝叶斯类模型,内置rrBLUP、BGLR等R包),也可结合GWAS辅助GS分析。
以上仅列出了常见的GS分析工具及其简介,更多的软件未能一一列出(如数据前期的清洗、指标评价、数据可视化等),具体的用法也可以去查看对应的文档。
【百奥云GS专栏】全基因组选择之工具篇的更多相关文章
- 【百奥云GS专栏】全基因组选择之模型篇
目录 1. 前言 2. BLUP方法 ABLUP GBLUP ssGBLUP RRBLUP 3. 贝叶斯方法 BayesA BayesB BayesC/Cπ/Dπ Bayesian Lasso 4. ...
- 【百奥云GS专栏】1-全基因组选择介绍
目录 什么是基因组选择? 基因组选择技术的发展 基因组选择的原理和流程 基因组选择的模型 基因组选择的展望 参考资料 什么是基因组选择? 基因组选择(Genomic Selection,简称GS)这一 ...
- 【GS文献】全基因组选择模型研究进展及展望
目录 1. GS概况 2. GS模型 1)直接法 GBLUP 直接法的模型改进 ①单随机效应 ②多随机效应 2)间接法 间接法模型 基于间接法的模型改进 3. GS模型比较 模型比较结论 4.问题及展 ...
- 【GS文献】植物全基因组选择育种技术原理与研究进展
目录 1. 优势杂交育种预测 2. GS育种原理与模型算法 岭回归和LASSO回归 贝叶斯方法 GBLUP和RRBLUP 偏最小二乘法 支持向量机/支持向量回归 其他方法 3. 模型预测能力验证 4. ...
- 全基因组选择育种(GS)简介
全基因组选择(Genomic selection, GS)是一种利用覆盖全基因组的高密度标记进行选择育种的新方法,可通过早期选择缩短世代间隔,提高育种值(Genomic Estimated Breed ...
- 【GS模型】全基因组选择之rrBLUP
目录 1. 理论 2. 实操 2.1 rrBLUP包简介 2.2 实操 3. 补充说明 关于模型 关于交叉验证 参考资料 1. 理论 rrBLUP是基因组选择最常用的模型之一,也是间接法模型的代表.回 ...
- 【GS文献】基因组选择技术在农业动物育种中的应用
中国农业大学等多家单位2017年合作发表在<遗传>杂志上的综述,笔记之. 作者中还有李宁院士,不胜唏嘘. 1.概述 GS的两大难题:基因组分型的成本,基因组育种值(genomic esti ...
- 【GS文献】基因组选择在植物分子育种应用的最新综述(2020)
目录 1. 简介 2. BLUP类模型 3. Bayesian类模型 4. 机器学习 5. GWAS辅助的GS 6. 杂交育种 7. 多性状 8. 长期选择 9. 预测准确性评估 10. GS到植物育 ...
- 【GS应用】基因组选择在杂交玉米上的应用示例
目录 GS两步走 示例 缩短周期和成本 分类 杂交类型 试验研究 选择响应 选择的强度 选择的周期 预测能力 数据分析的注意事项 GS实施 优缺点 GS的成功 展望 GS两步走 示例 缩短周期和成本 ...
随机推荐
- 手把手教你学Dapr - 1. .Net开发者的大时代
Dapr全称 Distributed Application Runtime,分布式应用运行时 Dapr的口号 简化云原生应用开发,聚焦在应用的核心逻辑,让代码简单.可移植 Dapr的目标 最佳实践的 ...
- 免费UML工具介绍 - 基于云技术
现在,我们的时间很短,无法完成我们的项目.我们不想花时间在软件配置.安装上,而是集中精力解决问题,对吗? 今天我想给大家介绍一个非常特殊的IT专业人员工具.软件开发.战略分析.客户行程映射等灵活的免费 ...
- reactnative实现qq聊天消息气泡拖拽消失效果
前言(可跳过) 我在开发自己的APP时遇到了一个类似于qq聊天消息气泡拖拽消息的需求,因为在网上没有找到相关的组件,所以自己动手实现了一下 需求:对聊天消息气泡拖拽到一定长度松开时该气泡会消失(可自行 ...
- 多线程--vthread
vthread中包含两个类: vthread.vthread.pool vthread.vthread.thread 其中class pool的原型如下: class pool(builtins.ob ...
- 碰撞的蚂蚁 牛客网 程序员面试金典 C++ Java Python
碰撞的蚂蚁 牛客网 程序员面试金典 C++ Java Python 题目描述 在n个顶点的多边形上有n只蚂蚁,这些蚂蚁同时开始沿着多边形的边爬行,请求出这些蚂蚁相撞的概率.(这里的相撞是指存在任意两只 ...
- hdu 1709 The Balance(母函数)
题意: 有一个天平.有N个砝码.重量分别是A1...AN. 问重量[1..S]中有多少种重量是无法利用这个天平和这些砝码称出来的. S是N个砝码的重量总和. 思路: 对于每一个砝码来说,有三种:不放, ...
- JAVA笔记1__基本数据类型/输入输出/随机数/数组
/**八种基本数据类型 boolean byte short int long char float double */ public class test1{ public static void ...
- Vue面试题01
说出vue常用的指令: v-text, v-html, v-bind, v-for, v-if, v-else, v-else-if, v-show, v-on, 谈谈你对MVC ...
- Java使用iText7生成PDF
前言 我们之前使用js库html2canvas + jspdf实现html转PDF.图片,并下载(详情请戳:html页面转PDF.图片操作记录),大致原理是将页面塞到画布里,以图片的方式放到PDF中, ...
- MyBatis Plus中使用and和or
如图:show me the code 参考: https://mp.baomidou.com/guide/wrapper.html#or