2022-01-06

混合线性模型是把因变量分解成固定效应值和随机效应值的组合。其一般形式为:


y 是因变量,β是固定效应,u 是随机效应,X 和 Z 为对应的设计矩阵,ε是残差。由于β是固定值,所以并无方差。如果把基因型效应看成固定效应,做一下LRT这就是GWAS。如果把基因型效应看成随机效应,此公式为GS。

GS分为直接法和间接法:

直接法,利用群体标记信息构建群体遗传关系 G 矩阵,通过使用混合线性模型估计不同组分的方差进行个体 GEBV 的估计。

间接法,通过使用贝叶斯先验的思想和方法估计每个标记的效应进行 GEBV 的估计。

直接法和间接法的等效性:



  直接法估计$\widehat$,间接法估计标记效应之和m$\widehat$。当K=M`M且标记效应g服从独立正态分布时,两种方法估计的育种值是一样的$\widehat$=m$\widehat$,我的理解是没有局部上位没有搭载效应。

  y=u+A + AA + e 表型等于截距相+加性相+上位性相。如何利用R语言的sommer和BGLR实现上述模型。基础数据的格式如下:



(1)直接法:

A + AA 模型

# 首先进行工作目录的设置,加载需要的R包

setwd("D:/XX/XX/XX")

library(sommer,BGLR)

# 加载基因型数据和表型数据

plink --bfile /platform/handejun/zhangcl/1376/17000 --recodeA --out /platform/handejun/zhangcl/1376/17000test

cat /platform/handejun/zhangcl/1376/17000test.raw | cut -d" " -f1,7- | sed 's/_[A-Z]//g' | sed 's/NA/-2/g' > /platform/handejun/zhangcl/1376/17000genotype.csv

Makers<-as.matrix(read.csv("17000genotype.csv",header = T,sep=" "))

Makers1<-Makers[,-1]

Makers2=apply(Makers1,2,as.numeric)

Genotype=Makers2-1

Pheno <- as.matrix(read.csv(file ="Trait3.csv", header=T))

Pheno <- as.data.frame(Pheno)

Pheno$id <- as.factor(rownames(Pheno))

Genotype<- as.data.frame(Genotype)

rownames(Genotype) <- rownames(Pheno)

set.seed(123)

y.train <- Pheno

SL <- sample(rownames(Pheno),round(nrow(Pheno)/5))

y.train[SL,"SL18NYW"] <- NA

y.train[1:5,1:5]

#  加行模型

A <- A.mat(Genotype)

A[1:5,1:5]

colnames(A) <- rownames(A) <- rownames(Pheno)

AA <- E.mat(Genotype)

colnames(AA) <- rownames(AA) <- rownames(Pheno)

ans <- mmer(SL18NYW~1, random=~vs(id,Gu=A),rcov=~units,data=y.train,verbose = FALSE))


ans2 <- mmer(SL18NYW~1, random=~ vs(id,Guu=AA),data=y.train,verbose = FALSE))   #上位性模型


通过两模型误差项比较,可以看出上位性模型对误差项的稀释比较严重。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容