当前位置: 首页 > news >正文

基因组选择育种-2.3多性状与多组学整合GS-GWAS

多性状与多组学整合:探索 GS-GWAS 合并技术

在复杂的生物学系统中,性状之间往往存在遗传关联,并且表型是基因型、环境以及多层次分子调控网络共同作用的结果。因此,在基因组选择中整合多性状信息和多组学数据,能够显著提高预测精度并揭示更深层次的生物学机制。

多性状基因组选择模型

概念解析:
多性状基因组选择(Multi-Trait Genomic Selection, MTGS) 模型同时利用多个相关性状的表型和基因型信息进行基因组育种值预测。当目标性状的遗传力较低,或者某些性状难以直接测量(例如屠宰性状)时,通过利用与它们存在遗传相关的高遗传力或易测性状的数据,可以显著提高预测精度。

通俗理解:
设想我们要选育高产且抗病的玉米品种。如果只看产量,可能选出不抗病的;只看抗病性,可能产量不高。MTGS 就像一个“综合考官”,它会同时评估玉米的产量和抗病性,并考虑它们之间的遗传关系。如果高产的玉米往往也更抗病(正遗传相关),或者高产的玉米往往也更容易生病(负遗传相关),MTGS 都能利用这些信息,从而做出更全面的选择决策。

数学模型(简化):
一个基本的多性状 GBLUP 模型可以表示为:
(y1y2)=(X100X2)(β1β2)+(Z100Z2)(u1u2)+(e1e2)\begin{pmatrix} \mathbf{y}_1 \\ \mathbf{y}_2 \end{pmatrix} = \begin{pmatrix} \mathbf{X}_1 & \mathbf{0} \\ \mathbf{0} & \mathbf{X}_2 \end{pmatrix} \begin{pmatrix} \boldsymbol{\beta}_1 \\ \boldsymbol{\beta}_2 \end{pmatrix} + \begin{pmatrix} \mathbf{Z}_1 & \mathbf{0} \\ \mathbf{0} & \mathbf{Z}_2 \end{pmatrix} \begin{pmatrix} \mathbf{u}_1 \\ \mathbf{u}_2 \end{pmatrix} + \begin{pmatrix} \mathbf{e}_1 \\ \mathbf{e}_2 \end{pmatrix}(y1y2)=(X100X2)(β1β2)+(Z100Z2)(u1u2)+(e1e2)
其中:

  • y_1,y_2\mathbf{y}\_1, \mathbf{y}\_2y_1,y_2 分别是性状 1 和性状 2 的表型观测值向量。
  • X_1,X_2\mathbf{X}\_1, \mathbf{X}\_2X_1,X_2 是相应的固定效应设计矩阵,β_1,β_2\boldsymbol{\beta}\_1, \boldsymbol{\beta}\_2β_1,β_2 是固定效应参数向量。
  • Z_1,Z_2\mathbf{Z}\_1, \mathbf{Z}\_2Z_1,Z_2 是关联矩阵。
  • u∗1,u∗2\mathbf{u}*1, \mathbf{u}*2u1,u2 是两个性状的基因组育种值向量。其联合协方差结构为:
    Var(u1u2)=(Gσu12Gσu1u2Gσu2u1Gσu22)=G⊗Vu\text{Var} \begin{pmatrix} \mathbf{u}_1 \\ \mathbf{u}_2 \end{pmatrix} = \begin{pmatrix} \mathbf{G}\sigma_{u1}^2 & \mathbf{G}\sigma_{u1u2} \\ \mathbf{G}\sigma_{u2u1} & \mathbf{G}\sigma_{u2}^2 \end{pmatrix} = \mathbf{G} \otimes \mathbf{V}_uVar(u1u2)=(Gσu12Gσu2u1Gσu1u2Gσu22)=GVu
    这里的 V∗u=(σ∗u12σ∗u1u2 σ∗u2u1σ_u22)\mathbf{V}*u = \begin{pmatrix} \sigma*{u1}^2 & \sigma*{u1u2} \ \sigma*{u2u1} & \sigma\_{u2}^2 \end{pmatrix}Vu=(σu12σu1u2 σu2u1σ_u22) 是两个性状间的遗传方差协方差矩阵,⊗\otimes 表示 Kronecker 积。
  • e_1,e_2\mathbf{e}\_1, \mathbf{e}\_2e_1,e_2 是残差向量,其联合协方差结构为 I⊗V_e\mathbf{I} \otimes \mathbf{V}\_eIV_eV_e\mathbf{V}\_eV_e 是残差方差协方差矩阵。

优势:

  • 提高预测精度: 当性状之间存在遗传相关时,MTGS 可以通过“借用”信息来提高预测精度,尤其对遗传力较低的性状。
  • 节省资源: 对于难以测量或成本高昂的性状,可以通过测量与其相关的辅助性状来间接进行预测。
  • 更全面的选择: 能够同时优化多个育种目标,实现综合改良。

R 代码示例:使用 sommer 包进行多性状 GBLUP 预测

sommer 包是 R 中一个功能强大的混合模型框架,支持多性状分析。

# 首先,安装并加载 sommer 包
# install.packages("sommer")
library(sommer)# 创建多性状示例数据
# 假设有20个个体,两个性状 trait1 和 trait2
set.seed(456)
n_ind <- 20
geno_data <- matrix(sample(0:2, n_ind * 500, replace = TRUE), nrow = n_ind)
rownames(geno_data) <- paste0("Ind", 1:n_ind)# 模拟性状数据,假设 trait1 和 trait2 有一定的遗传相关
# 先计算G矩阵
G_matrix <- sommer::A.mat(geno_data)# 模拟遗传效应和残差,使其具有相关性
# 假设遗传方差协方差矩阵
Vg <- matrix(c(10, 5, 5, 8), nrow=2, byrow=TRUE) # trait1, trait2
# 假设残差方差协方差矩阵
Ve <- matrix(c(15, 2, 2, 12), nrow=2, byrow=TRUE)# 模拟真实的基因组育种值
u_true <- mvtnorm::rmvnorm(n_ind, mean=c(0,0), sigma = G_matrix %x% Vg)
u1 <- u_true[,1]
u2 <- u_true[,2]# 模拟残差
e_true <- mvtnorm::rmvnorm(n_ind, mean=c(0,0), sigma = diag(n_ind) %x% Ve)
e1 <- e_true[,1]
e2 <- e_true[,2]# 模拟表型
pheno_data_mt <- data.frame(id = paste0("Ind", 1:n_ind),trait1 = 50 + u1 + e1,trait2 = 100 + u2 + e2
)# 运行多性状 GBLUP 模型
# traits = c("trait1", "trait2") 表示要分析的性状
# random = ~vs(id, G = G_matrix) 表示 id 是随机效应,并使用 G 矩阵
# rcov = ~vs(units) 表示残差协方差结构 (这里是默认的非结构化残差)
multitrait_model <- mmer(fixed = cbind(trait1, trait2) ~ 1, # 固定效应只包含截距random = ~vs(id, G = G_matrix), # 基因组效应 (GBLUP)rcov = ~vs(units), # 残差data = pheno_data_mt
)# 提取基因组育种值 (GEBV)
# GEBVs_mt_gblup 会是一个包含两个性状GEBV的数据框
GEBVs_mt_gblup <- multitrait_model$U$`u:id`
cat("\n多性状 GBLUP 预测的 GEBV(部分):\n")
print(head(GEBVs_mt_gblup))# 查看估计的方差组分
# Variance-covariance matrix for random effects (G matrix)
cat("\n估计的遗传方差协方差矩阵:\n")
print(multitrait_model$sigma_by_trait$`u:id`)
# Variance-covariance matrix for residuals
cat("\n估计的残差方差协方差矩阵:\n")
print(multitrait_model$sigma_by_trait$units)

GS-GWAS 合并技术

概念解析:
GS-GWAS 合并技术 旨在将全基因组关联分析(GWAS)和基因组选择(GS)的优势结合起来。GWAS 主要用于识别与性状显著关联的特定基因组区域或 SNP,而 GS 则利用全基因组标记信息预测个体的整体遗传潜力。GS-GWAS 合并技术通过多种策略将 GWAS

识别出的信号 SNP 纳入 GS 模型,以期提高预测精度,同时也能增强对性状遗传结构的理解。

通俗理解:
GWAS 就像一个“探照灯”,它能精准地照亮基因组中那些对性状有显著影响的“关键区域”(比如某个 SNP 或基因)。而 GS 就像一个“大网”,它试图捕捉所有基因的微小影响,然后综合起来预测个体。GS-GWAS 合并技术就是把“探照灯”和“大网”结合起来:先用探照灯找出最重要的几个点,然后把这些点的信息更“强调”地放入大网中,这样既能提高预测的准确性,也能更好地理解哪些基因是真正重要的。

主要合并策略:

  1. SNP 加权 GS (Weighted GBLUP / Weighted RR-BLUP):

    • 思想: GWAS 分析中识别出与性状关联度较高的 SNP 被赋予更大的权重,而关联度较低的 SNP 权重较小。
    • 实现: 在 GBLUP 模型中构建加权基因组亲缘关系矩阵(G_WG\_WG_W),或者在 RR-BLUP 模型中对不同 SNP 效应赋予不同的方差(即改变 σ_s2\sigma\_s^2σ_s2 的假设)。这使得模型能够更强调那些被认为对性状影响更大的区域。
  2. 选择性标记(Selected Markers)GS:

    • 思想: 只选择 GWAS 中达到显著性阈值的 SNP 作为预测模型中的标记,而不是使用全部 SNP。
    • 实现: 构建一个只包含显著 SNP 的基因型矩阵 M∗M^*M,然后用 M∗M^*M 进行 RR-BLUP 或 GBLUP。
  3. 两阶段或多阶段模型:

    • 思想: 先进行 GWAS 识别显著 QTL 或 SNP,然后将这些 QTL 或 SNP 作为固定效应(或单独的随机效应)加入到 GS 模型中。
    • 实现: 例如,模型变为 y=Xβ+Qα+Zu+e\mathbf{y} = \mathbf{X}\boldsymbol{\beta} + \mathbf{Q}\boldsymbol{\alpha} + \mathbf{Z}\mathbf{u} + \mathbf{e}y=Xβ+Qα+Zu+e,其中 Qα\mathbf{Q}\boldsymbol{\alpha}Qα 代表显著 QTL/SNP 的效应。
  4. 整合多组学数据:

    • 除了基因组数据,还可以整合转录组、蛋白质组、代谢组等其他“组学”数据来增强基因组预测。

R 代码示例:GS-GWAS 合并技术的简化示例(加权 GBLUP 思路)

# 假设我们已经有了基因型数据 geno_data 和表型数据 pheno_data$trait1# 模拟 GWAS 的结果(实际中通过GWAS分析获得)
set.seed(789)
snp_pvalues <- runif(n_snp, 0, 1)
names(snp_pvalues) <- colnames(geno_data)# 假设显著性阈值为 0.01
significant_snps <- names(snp_pvalues[snp_pvalues < 0.01])# 策略一:简单的加权 GBLUP
weights <- -log10(snp_pvalues + 1e-10) 
weights <- weights / sum(weights) * n_snp centered_geno <- sweep(geno_data, 2, colMeans(geno_data), "-")
weighted_M <- t(t(centered_geno) * weights)GW_matrix <- tcrossprod(weighted_M) / sum(2 * colMeans(geno_data) * (1 - colMeans(geno_data))) weighted_gblup_results <- mixed.solve(y = pheno_data$trait1,Z = NULL,K = GW_matrix
)GEBVs_weighted_gblup <- weighted_gblup_results$u
cat("\n加权 GBLUP 预测的 GEBV(部分):\n")
print(head(GEBVs_weighted_gblup))
http://www.dtcms.com/a/306642.html

相关文章:

  • Python 使用pandas库实现Excel字典码表对照自动化处理
  • 从单体到分布式:解锁架构进化密码
  • MS Access 数据库修复:修复损坏的 MDB 文件的快速指南
  • llama factory本地部署常见问题
  • 大模型的开发应用(二十):AIGC原理
  • 从数据到预测:InfluxDB+Prophet时间序列分析案例实战
  • Promise完全体总结
  • 会吸的簸箕专利拆解:迷你真空组件的吸力控制与吸入口设计原理
  • React 编程式导航
  • 基于 Flask 和 MySQL 的期货数据分析系统
  • 5.Origin2021如何绘制柱状+折线双Y轴图?
  • Gemini CLI 怎么保存会话?两个命令解决 AI 失忆问题
  • 嵌入式开发学习———Linux环境下数据结构学习(五)
  • 一个使用共享内存进行进程间通信的程序,主要功能是创建并读取共享内存中的数据。具体作用如下:
  • 《Flutter篇第二章》MasonryGridView瀑布流列表
  • 机器视觉引导机器人修磨加工系统助力芯片封装
  • 机器人在动态表面上行走的强化学习研究
  • Rust在土木工程中的创新应用
  • Kotlin -> Kotlin Lambda 表达式与 Function 接口的关系
  • EC2 Amazon Linux 快速安装Airbyte (abctl)
  • B 站排名优化:不同领域的差异化实战策略
  • Ubuntu24.04换源方法
  • macOS安装配置Unbound DNS完整指南
  • 地质测绘专业转码容易吗?外业对于转码有帮助吗?
  • WordPress与主流CMS拿Webshell实战
  • NEG指令说明
  • 鸿蒙中相册权限弹窗
  • 单片机电路基础
  • Prompt编写规范指引
  • 一种高维数据可视化的方法:Visualization and Mapping on Arcs (VMA)