快捷搜索:  汽车  科技

特殊的性状分离比计算方法(单性状BLUP的计算方法)

特殊的性状分离比计算方法(单性状BLUP的计算方法)混合线性方程组假定实验内容模型矩阵形式

BLUP(Best Linear Unbiased Prediction)译为最佳线性无偏差预测。在动物生产实践中,常用到的育种值(EBV)是由BLUP估测而来。BLUP不单单可以区分出固定效应(例如,奶牛的产奶受产仔年龄,产仔季节和空怀天数等因子影响)对性状表型的影响,还可以评估随机效应(包括遗传效应,例如,奶牛本身遗传潜力对产奶量的影响)对性状表型的影响。今天我们以教科书中的一则案例介绍如何通过ASReml软件来计算单性状BLUP。

刘文忠 徐银学. 动物育种学实验教程[M]. 中国农业大学出版社 2007.

实验十八:单性状动物模型BLUP育种值估计

特殊的性状分离比计算方法(单性状BLUP的计算方法)(1)

实验目的

  • 熟悉并掌握无重复观测值时动物模型BLUP育种值估计的基本原理和方法
  • 了解育种软件的基本原理及使用方法

实验内容

  • 模型
  • 混合模型方程组及其求解
  • 育种值估计的准确性
  • 育种值估计的可靠性

模型

特殊的性状分离比计算方法(单性状BLUP的计算方法)(2)

矩阵形式

特殊的性状分离比计算方法(单性状BLUP的计算方法)(3)

假定

特殊的性状分离比计算方法(单性状BLUP的计算方法)(4)

混合线性方程组

特殊的性状分离比计算方法(单性状BLUP的计算方法)(5)

个体育种值估计的准确性

特殊的性状分离比计算方法(单性状BLUP的计算方法)(6)

数据

数据包括2个场的7个个体的观测值,性状的遗传力为1/3.

chang <- c(1 1 1 2 2 2 2)

ID <- c(1:7)

Sire <- c(0 0 1 1 3 1 5)

Dam <- c(0 0 0 2 4 4 6)

y <- c(225 200 255 250 198 245 260)

dat <- data.frame(chang ID Sire Dam y)

ped <- data.frame(ID Sire Dam)

dat$ID <- as.factor(dat$ID)

ASReml4-R处理流程

计算亲缘关系矩阵

library(asreml)

ainv <- as.data.frame(ainverse(ped))

head(ainv)

re_mat = matrix(0 max(ainv$Row) max(ainv$Column))

re_mat[as.matrix(ainv[ 1:2])]=ainv[ 3]

re_mat[upper.tri(re_mat)] = t(re_mat)[upper.tri(re_mat)]

A = round(solve(re_mat) 4)

A

特殊的性状分离比计算方法(单性状BLUP的计算方法)(7)

定义遗传力和方差组分,这里定义残差方差组分为20,加性方差组分为10

Va <- 10

Ve <- 20

定义模型:chang为固定因子,加性效应为随机因子

ainv = ainverse(ped)

init <- asreml(y ~ chang random =~ vm(ID ainv) residual = ~ idv(units) data=dat start.values = T)

init$vparameters.table$Value[c(1 3)] = c(Va Ve)

init$vparameters.table$Constraint[c(1 3)] = c("F" "F")

vc = init$vparameters.table

mod <- asreml(y ~ chang random =~ vm(ID ainv) residual = ~ idv(units) data=dat G.param = vc R.param = vc)

summary(mod)$varcomp

> mod <- asreml(y ~ chang random =~ vm(ID ainv) residual = ~ idv(units) data=dat G.param = vc R.param = vc)

Model fitted using the sigma parameterization.

ASReml 4.1.0 Fri Mar 13 10:27:43 2020

LogLik Sigma2 DF wall cpu

1 -88.0641 1.0 5 10:27:43 0.0

2 -88.0641 1.0 5 10:27:43 0.0

育种值

coef(mod)$random

带有标准误的BLUP值

blup <- as.data.frame(summary(mod coef=T)$coef.random)

blup

以上即为通过ASReml 软件计算单性状BLUP 的方法,你学会了么?如果还想了解更多ASReml软件在遗传育种参数分析的应用。请参考下图详情:

特殊的性状分离比计算方法(单性状BLUP的计算方法)(8)

更多详细ASReml 功能详情信息,评论区见。

猜您喜欢: