前一段时间进行了Bayes培训,所以想总结和进一步学习Bayes方法。
主要是用来估计SNP的效应(GWAS)和应用不同生物信息给SNP权重,提高GP的准确性
Bayes算法简单介绍
BayesRR:贝叶斯岭回归,所有SNP都具有非零效应并具有相同的方差,等于RRBLUP或GBLUP。
BayesA:所有 SNP 都具有非零效应,并采用遵循反卡方分布的不同方差。
BayesB:只有一小部分 SNP (1-Pi) 具有非零效应,并采用遵循反卡方分布的不同方差。
BayesBpi:与“BayesB”相同,但“Pi”不固定。
BayesC:只有一小部分 SNP (1-Pi) 具有非零效应,并且具有相同的方差。
BayesCpi:与“BayesC”相同,但“Pi”不固定。
BayesL:BayesLASSO,所有SNP都具有非零效应,并采取不同的方差,遵循指数分布。
BSLMM:所有SNP都具有非零效应,并采用相同的方差,但一小部分SNP具有额外的共享方差。
BayesR:只有一小部分SNP具有非零效应,并且将SNP分配到不同的组中,每个组具有相同的方差。
以下介绍的包基本可以完成上述的算法,并且部分进行优化。
一. R包
1 BGLR
文档:https://github.com/gdlc/BGLR-R
可以进行上述算法的单性状和多性状模型分析
具有的例子:
单性状:
多性状:
2 hibayes
文档:https://github.com/YinLiLin/hibayes
可使用个体级别、摘要级别和个体加谱系级别(单步)数据来拟合 3 种类型的贝叶斯模型,用于基因组预测/选择( GS)和全基因组关联研究(GWAS),旨在估计复杂性状的联合效应和遗传参数
(1) 固定效应和协变量系数
(2) 环境随机效应及其相应的方差
(3) 遗传方差
(4) 残差方差
(5) 遗传力
(6) 基因分型和非基因分型个体的基因组估计育种值 ( GEBV )
(7) SNP 效应大小
(8) 单个个体的表型/遗传方差解释 ( PVE )或多个SNP
(9) 基因组窗口关联后验概率( WPPA )
(10) 后验包含概率( PIP )
特别:可以使用summary-level 分析
二. Julia 包
1 JWAS
文档: https://reworkhow.github.io/JWAS.jl/latest/;例子:https://github.com/reworkhow/JWAS.jl/wiki
可以应用以下多个模型
特别的算法: 神经网络-混合模型 (NN-LMM);GWAS 的结构方程模型
2 NextGP
文档: https://github.com/datasciencetoolkit/NextGP.jl
特别算法:Bayesian log-linear variance model(BayesLV) - 非重叠和/或重叠注释 + GWAS 结果(与BayesRC, BayesRCπ类似)- 目前未发表
- 使用功能信息的通用模型,基于对数线性模型中的 SNP 方差建模。
- 这些模型在遗传学的其他应用中也被描述为双层次广义线性模型。
- 对数线性模型可以直接处理重叠的功能组,并且可以包括基因作图结果作为汇总统计的回归。
主要的两个方向:
- 多品种(群体、品系等)分析模型
- 基因调控网络估计
三. Fortran 软件
1. BayesRCO
此软件给出的的算法可以加入更多的多组学注释信息(对SNP 分组)来进行GS或GP
文档连接: https://github.com/FAANG/BayesRCO;https://github.com/FAANG/BayesRCO/blob/main/doc/BayesRCO.pdf
BayesRCO 包括三种最先进的贝叶斯分层模型的实现:
BayesCpi:二类模型,对应于遗传变异的无效效应和非无效效应
BayesR:四类模型,对应于遗传变异的无效效应、小效应、中效应和大效应
BayesRC:一种包含遗传变异的不相交先验类别的 BayesR 模型。
另外拓展的两个算法
BayesRC+:BayesR 模型,其中假设多个类别会累积影响变量估计
BayesRCpi:BayesR 模型,其中多注释变体的分类是随机建模的。
上述5个算法的图示:
2. BLUF90家族软件-wss-GBLUP
虽然不是Bayes算法,但是能估计SNP效应和p值。使用BLUPF90+ & postGSf90 软件
更系统学习的新书籍
其主要使用R代码进行举例实现讲解
PDF下载(有条件的推荐买书): https://link.springer.com/book/10.1007/978-3-031-35851-7