【百奥云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两步走 示例 缩短周期和成本 ...
随机推荐
- 【UE4 C++】播放声音、特效
播放声音 PlaySoundAtLocation() USoundCue* HitSound = LoadObject<USoundCue>(this, TEXT("SoundC ...
- MySQL:基础语法-3
MySQL:基础语法-3 记录一下 MySQL 基础的一些语法,便于查询,该部分内容主要是参考:bilibili 上 黑马程序员 的课程而做的笔记,由于时间有点久了,课程地址忘记了 上文MySQL:基 ...
- UltraSoft - Alpha - Scrum Meeting 8
Date: Apr 23th, 2020. Scrum 情况汇报 进度情况 组员 负责 昨日进度 后两日任务 CookieLau PM.后端 aliyun连接前后端,跑通demo 实现邮箱注册的验证码 ...
- FastAPI 学习之路(三十四)数据库多表操作
之前我们分享的是基于单个的数据库表的操作,我们在设计数据库的时候也设计了跨表,我们可以看下数据库的设计. class User(Base): __tablename__ = "users&q ...
- 大牛针对零基础入门c语言详解指针(超详细)
C语言指针说难不难但是说容易又是最容易出错的地方,因此不管是你要做什么只要用到C指针你就跳不过,今天咱们就以 十九个例子来给大家简单的分析一下指针的应用,最后会有C语言视频资料提供给大家更加深入的参考 ...
- 六个好习惯让你的PCB设计更优
PCB layout工程师每天对着板子成千上万条走线,各种各样的封装,重复着拉线的工作,也许很多人会觉得是很枯燥无聊的工作内容.看似软件操作搬运工,其实设计人员在过程中要在各种设计规则之间做取舍,兼顾 ...
- Java 将Excel转为et和ett格式
以.et结尾的文件格式是属于金山办公软件WPS Office中的电子表格文件,.ett是一种模板文件格式.除了通过WPS软件可以创建该格式的电子表格外,也可以通过格式转换的方法来获得,如将Micros ...
- 转:VIVADO使用技巧:设置DCI与内部参考电压
本文转自:Vivado使用技巧(12):设置DCI与内部参考电压 - 灰信网(软件开发博客聚合) (freesion.com) DCI与内部参考电压 Xilinx FPGA提供了DCI(Digital ...
- poj 3417 Network (LCA,路径上有值)
题意: N个点,构成一棵树.给出这棵树的结构. M条边,(a1,b1)...(am,bm),代表给树的这些点对连上边.这样就形成了有很多环的一个新"树". 现在要求你在原树中断一条 ...
- 测试平台系列(71) Python定时任务方案
大家好~我是米洛! 我正在从0到1打造一个开源的接口测试平台, 也在编写一套与之对应的完整教程,希望大家多多支持. 欢迎关注我的公众号测试开发坑货,获取最新文章教程! 定时任务 定时任务,顾名思义: ...