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

基因组选择育种-2.1.最佳线性无偏估计

最佳线性无偏估计:基因组选择育种的“最优”预测工具

在基因组选择育种中,我们评估个体遗传价值的核心工具是最佳线性无偏估计(BLUE)和最佳线性无偏预测(BLUP)。它们确保了我们对固定效应的估算和随机效应的预测都是最精确、最可靠的。


1. 核心概念:“最优”、“线性”与“无偏”

无论BLUE还是BLUP,它们都具备三个关键特性:

  • 线性(Linear): 估算或预测值是基于观测数据(比如表型值)的线性组合。
  • 无偏(Unbiased): 估算或预测结果没有系统性偏差,长期来看平均值等于真实值。
  • 最佳(Best): 在所有线性和无偏的方法中,它们的方差最小,意味着结果最接近真实值,精度最高。

2. 最佳线性无偏估计(BLUE):估算固定效应的“精确测量尺”

BLUE主要用于估算固定效应的真实值。固定效应是我们感兴趣的、非随机的特定类别或处理水平,例如不同品种的平均产量、不同年份对性状的影响或性别的平均差异。

通俗理解: 就像你要精确测量几个特定物品的长度,BLUE会给你最准确、无偏差的测量结果。

应用场景:

  • 比较不同玉米品种的平均产量。
  • 评估不同饲养方案对动物生长性能的平均影响。

R 代码示例:使用 lm() 进行 BLUE 估算
对于简单的固定效应模型,R 中的 lm() 函数就能实现 BLUE 估算(在线性模型假定下)。

# 假设有以下数据:玉米产量 (yield),品种 (variety),年份 (year)
data <- data.frame(yield = c(80, 85, 75, 90, 92, 88, 70, 78, 82, 85, 95, 89),variety = rep(c("A", "B", "C"), each = 4),year = rep(c(2023, 2023, 2024, 2024), 3)
)# 估算不同品种的固定效应
# 这里 'variety' 被视为固定效应,模型会估算每个品种的平均产量(相对于参考水平)
model_blue <- lm(yield ~ variety, data = data)
summary(model_blue)# 结果中的 Coefficients 部分会显示品种A、B、C的效应估算(其中一个品种作为截距参考)
# 例如:
# Coefficients:
#             Estimate Std. Error t value Pr(>|t|)
# (Intercept)   86.250      2.100  41.066  < 2e-16 *** (品种 A 的估计平均值)
# varietyB      -1.750      2.970  -0.589    0.569   (品种 B 相对于品种 A 的差异)
# varietyC      -5.750      2.970  -1.936    0.083   (品种 C 相对于品种 A 的差异)

3. 最佳线性无偏预测(BLUP):预测随机效应的“水晶球”

BLUP主要用于预测随机效应的真实值。这些效应通常是我们无法直接测量但又需要知道的个体特定值,例如每个个体的育种值。BLUP能整合亲缘关系、群体结构等信息,对这些随机的、未知的效应进行最佳预测。

通俗理解: 就像你要预测一个未来冠军赛马的潜力,你不能直接测量它的“冠军基因”,但你可以根据它的血统、兄弟姐妹的表现,以及自身特点等,用BLUP来预测它的遗传潜力。BLUP还会把极端的预测值拉向群体平均值,因为极端情况往往是偶然因素。

应用场景:

  • 估算动物的育种值,用于筛选优秀的种畜。
  • 预测植物株系的遗传潜力。

R 代码示例:使用 lme4 包进行 BLUP 预测
在R中,lme4 包常用于处理混合线性模型,从而实现BLUP预测。这里我们以一个简单的动物模型来预测个体的育种值。

# 假设有以下数据:产奶量 (milk),个体ID (animal_id),以及一个随机的环境因子 (pen)
# 为了简化,我们假设个体间有某种隐式关系,实际中会提供亲缘关系矩阵
library(lme4)data_blup <- data.frame(milk = c(25, 28, 22, 30, 26, 29, 23, 31, 27, 24),animal_id = factor(1:10), # 假设10个个体pen = factor(c(1,1,2,2,3,3,1,1,2,2)) # 假设存在圈舍(随机效应)
)# 构建一个简单的混合模型:产奶量受固定效应(截距)和随机效应(个体ID和圈舍)影响
# 这里的 (1|animal_id) 表示 animal_id 是一个随机效应,用于预测每个个体的随机遗传效应(类似育种值)
# (1|pen) 表示 pen 是一个随机效应,用于预测每个圈舍的随机效应
model_blup <- lmer(milk ~ 1 + (1|animal_id) + (1|pen), data = data_blup)# 提取随机效应的预测值 (BLUPs)
# random.effects() 或 ranef() 函数可以获取随机效应的预测值
random_effects <- ranef(model_blup)# 查看个体ID的随机效应(这可以视为简化的育种值预测)
print(random_effects$animal_id)
# 实际的基因组BLUP (GBLUP) 会更复杂,需要传入基因组亲缘关系矩阵 (G矩阵)
# 这通常需要 'BGLR' 或 'sommer' 等更专业的包来处理
# 例如,使用sommer包 (需要提前计算G矩阵):
# library(sommer)
# data_gblup <- data.frame(
#   yield = c(80, 85, 75, 90, 92, 88),
#   line = factor(1:6) # 系谱线或个体ID
# )
# G_matrix <- diag(6) # 假设一个单位矩阵作为示例G矩阵,实际需要根据SNP数据计算
# ans <- mmer(yield ~ 1,
#              random = ~vs(line, G = G_matrix), # G = G_matrix 指定基因组亲缘关系矩阵
#              data = data_gblup)
# GEBVs <- ans$U$`u:line`$yield # 获取基因组育种值
# print(GEBVs)

4. BLUE与BLUP的协同作用

在实际的基因组选择中,我们几乎总是使用一个混合线性模型,它能同时估算固定效应(用BLUE)和预测随机效应(用BLUP)。比如,在评估奶牛的产奶量时,我们会把农场、年份等作为固定效应(用BLUE估算它们的平均影响),而把每头奶牛自身的遗传潜力(育种值)作为随机效应(用BLUP进行预测)。这种综合分析能让我们更全面、更准确地进行遗传评估,从而做出最佳的育种决策。

http://www.lryc.cn/news/604609.html

相关文章:

  • GitHub使用小记——本地推送、外部拉取和分支重命名
  • RPA软件推荐:提升企业自动化效率
  • STM32学习记录--Day3
  • IPEmotion数据采集软件功能介绍
  • 【n8n】如何跟着AI学习n8n【02】:基础节点学习
  • Java面试宝典:MySQL InnoDB引擎底层解析
  • 5.Origin2021如何绘制柱状+折线双Y轴图?
  • 51单片机外部引脚介绍
  • 影视级 3D 特效的软件工具链:从概念到成片的全流程解析
  • LAMP及其环境的部署搭建
  • 逻辑回归:从线性回归到分类决策的演化
  • Spring Boot音乐服务器项目-查询喜欢的音乐模块
  • .clang-format的作用是什么,什么情况下会生效
  • 常见cms里面的几个cms框架的webshell方法(wordpress,dedecms,phpmyadmin,pageadmin)
  • 91-基于Spark的空气质量数据分析可视化系统
  • neovim 怎么调用 clang-format进行格式化
  • 常⻅CMS漏洞
  • 《Flutter篇第二章》MasonryGridView瀑布流列表
  • 算法能力提升之快速矩阵
  • python反爬:一文掌握 undetected-chromedriver 的详细使用(可通过机器人验证)
  • Flutter封装模板及最佳实践
  • git本地仓库,工作区和暂存区的知识
  • 操作系统- lecture3(进程的定义)
  • RAG:检索增强生成的范式演进、技术突破与前沿挑战
  • 通义万相文生图模型wan2.2-t2i-flash和wan2.2-t2i-plus全维度深度对比
  • 通达OA服务器无公网IP网络,如何通过内网穿透实现外网远程办公访问OA系统
  • FIN1531 LVDS输出
  • SpringBoot升级2.5.3 2.6.8
  • Vue3 Composition API
  • 【LeetCode 热题 100】33. 搜索旋转排序数组——(解法二)一次二分