#
使用随机效应交互对遗传异质性建模
#上提到的问题,抽样之后准确率不稳定,有可能少数几次准确率很低,可能因为基因型频率出现问题(基因型异质性导致),解决方案如下:
X0=X
# for main effects
X1=X; X1[group==2,]=0 #interactions
X2=X; X2[group==1,]=0 #interactions
Z2=as.matrix(as.integer(group==2))
根据PCA进行亚群划分,基因型和表型进行矩阵双倍化(格式上的双倍化),进行随机建模。
(1)
均质效应模型(取样随机化)
fm0=BGLR(
y=y,ETA=list(
int=list(X=Z2, model='FIXED'),
list(X=X0,model='BRR')
),
nIter=6000,burnIn=1000,saveAt='m0_')
(2)
分层分析(分组分析)
fm1=BGLR(
y=y[group==1],
ETA=list( list(X=X0[group==1,],model='BRR')),
nIter=6000,burnIn=1000,saveAt='m1_')
fm2=BGLR( y=y[group==2],
ETA=list( list(X=X0[group==2,],model='BRR')),
nIter=6000,burnIn=1000,saveAt='m2_')
(3)
交互模型(认为亚群之间有联系,单亚群固定化,亚群之间随机化);这个能够扩展到GbyE上,严威凯老师提出主效可加微效可成模型)(AMMI)就是这个道理。
fm12=BGLR(y=y,ETA=list(
int=list(X=Z2, model='FIXED'),
main=list(X=X0,model='BRR'),
int1=list(X=X1,model='BRR'),
int2=list(X=X2,model='BRR')
),
nIter=6000,burnIn=1000,groups=group,saveAt='m12_')
varU1=fm12$ETA[[2]]$varB+fm12$ETA[[3]]$varB
varU2=fm12$ETA[[2]]$varB+fm12$ETA[[4]]$varB
varE1=fm12$varE[1]
varE2=fm12$varE[2]
h2_1=varU1/(varU1+varE1)
h2_2=varU2/(varU2+varE2)
fm12$ETA[[2]]$varB/sqrt(varU1*varU2)
#correlation of effects
#(1)(3)均不能很好的改善预测性能的稳健性,分析原因可能是分群出现问题