【百奥云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两步走 示例 缩短周期和成本 ...
随机推荐
- 【二食堂】Alpha - Scrum Meeting 4
Scrum Meeting 4 例会时间:4.14 12:30 - 12:50 进度情况 组员 昨日进度 今日任务 李健 1. 主页面的搭建工作issue 1. 完成主页搭建**issue2. 与后端 ...
- ST表 ----kzsn考挂后有感
ST表,一个十分神奇的东西,需要O(nlogn)的时间预处理,但是他查询只需要O(1). 看似与线段树等数据结构时间复杂度一样,但是ST表的复杂度只在于预处理,预处理之后可以当做不耗时! 而想线段树这 ...
- geos编译问题
gdal编译geos的时候会用到geos_c_i.lib这个文件,我用cmake编译的时候仅仅产生geos_c.lib这个文件,所以只能使用nmake的编译方式来编译geos库,nmake编译geos ...
- DP接口中AUX
背景技术: DP接口(DisplayPort)是一种图像显示接口,它不仅可以支持全高清显示分辨率(1920×1080),还能支持4k分辨率(3840×2160),以及最新的8k分辨率(7680×432 ...
- 关于STM32 (Cortex-M3) 中NVIC的分析
一.STM32 (Cortex-M3) 中的优先级概念 STM32(Cortex-M3)中有两个优先级的概念:抢占式优先级和响应优先级,也把响应优先级称作"亚优先级"或" ...
- 攻防世界 杂项13.can_has_stdio?
打开发现是由trainfuck编码组成的小星星阵容,果断交给解密网站进行解密, 解密网站:http://ctf.ssleye.com/brain.html flag:flag{esolangs_for ...
- 字符串与模式匹配算法(三):KMP算法
一.KMP算法介绍 KMP算法与前面的MP算法一脉相承,都是充分利用先前匹配的过程中已经得到的结果来避免频繁回溯.回顾一下MP算法,如下图的模式串偏移,当前模式字符串P的左端的p0与目标字符串T中tj ...
- linux中dd命令
转载:https://www.runoob.com/linux/linux-comm-dd.html Linux dd 命令用于读取.转换并输出数据. dd 可从标准输入或文件中读取数据,根据指定的格 ...
- CPU使用率和平均负载
转载: https://mp.weixin.qq.com/s?__biz=MzU4NzU0MDIzOQ==&mid=2247487782&idx=3&sn=3f04bb053d ...
- 学会python永不加班系列之操作excel
python作为一种解释性语言,简单高效的模式逐渐火爆.同时存在多种扩展性. 永不加班系列 python正确操作excel 实验环境: 系统:win10 语言:python3.8 承载软件:pycha ...