首页 > 其他分享 >基因组选择GS应用的四个场景

基因组选择GS应用的四个场景

时间:2023-11-01 20:44:53浏览次数:45  
标签:基因型 场景 GS 预测 基因组 个体 表型

目录

本文整理自Giovanny E Covarrubias Pazaran博士的报告《Genomic Selection in R》,他是国际水稻研究所植物育种和遗传学博士,具有强大的统计学背景以及具有从事育种计划和实践研究的丰富经验,是R和SAS等不同软件平台进行多元线性混合建模的专家,开发了著名的多变量基因组选择混合模型R包软件sommer。

在这里,Giovanny基于sommer总结了GS应用的四种应用场景,对于知道GS但不了解GS如何应用的朋友可能有所帮助。

大多数现有的基因组选择软件只能计算包含一个方差组分,除了误差之外,这使得对具有杂交效应的物种使用加性、显性和上位效应进行杂种预测不可行。R包sommer促进了使用混合模型进行基因组选择和杂交预测,使用多个方差组分并允许指定协方差结构。包括四种用于估计方差组分的算法:平均信息(AI)、牛顿-拉弗逊(NR)、期望最大化(EM)和高效混合模型关联(EMMA;岭回归)。包括用于计算加性、显性和上位关系矩阵的核函数,以及用于基因组分析的其他有用函数。

sommer可以处理比常规基因组选择软件更复杂的问题,比贝叶斯更快,时间在小时到几天的数量级,可以处理缺失数据,使用R等友好的环境。其他可用于基因组选择的软件包括:

  • rrBLUP (仅适用于单一随机效应)
  • regress (只有 NR 算法可用,返回负方差组分)
  • ASReml (收费)
  • BGLR (贝叶斯算法可能需要很长时间)
  • MCMCglmm (更好的贝叶斯方法,但需要很长时间)

GS应用的四个场景

预测杂交种的总体表现

(1)亲本的基因型和表型数据可用,希望根据纯加性模型(没有杂种优势的物种)来预测可能杂交种的表现。

(2)亲本的基因型数据可用,某些可能的杂交组合有表型数据可用(约10%),希望根据加性-显性模型(具有杂种优势的物种)来预测其余可能杂交种的表现(约90%)。

预测群体内个体的具体表现

(3)群体个体的基因型数据可用,但只有某些个体有表型数据(即表型测定非常昂贵),目标是使用纯加性模型来预测其余个体的表现。

(4)群体个体的基因型数据可用,但只有某些个体有表型数据(即表型测定非常昂贵),目标是使用加性-显性-上位基因模型来预测其余个体的表现。

情景1

处理繁殖方式是自交的物种,杂种优势较少出现。在这种情况下,杂交的表现可以估算为亲本育种值(BV)的平均值。为了获得特定亲本的育种值,这些材料会在不同的地点和年份进行测试,并拟合混合模型以获得基因型的BLUP值。

Henderson认为,当一些数据缺失时,可以利用个体之间的系谱关系来预测在数据缺失时一些个体的表现。跟踪系谱在所有育种计划中都很困难,这导致了使用标记来估算亲缘关系的出现。基于标记的这种关系矩阵被命名为基因组关系矩阵,与基于家系的加性关系矩阵类似。

假设您在CIMMYT工作,对599份小麦材料的1279个SNP标记的基因组信息进行了收集。鉴于这些材料是线性的,预计只有加性方差是显著的。现在,若希望预测这599份材料之间的所有可能杂交的表现,使用sommerR包,可以这样做。

#### call the phenotypic and genotypic information
library(sommer)
data(wheatLines)
X <- wheatLines$wheatGeno; X[1:5,1:5]; dim(X)
Y <- wheatLines$wheatPheno
rownames(X) <- rownames(Y)
#### select environment 1 and create incidence and additive
#### relationship matrices
y <- Y[,1] # response grain yield
Z1 <- diag(length(y)) # incidence matrix
K <- A.mat(X) # additive relationship matrix
#### perform the GBLUP pedigree-based approach by
### specifying your random effects (ETA) in a 2-level list
### structure and run it using the mmer function
ETA <- list(add=list(Z=Z1, K=K))
ans <- mmer(y=y, Z=ETA, method="EMMA") # kinship based
summary(ans)
#### Predict the progeny by extracting the BV for the lines
#### and get the average BV for all possible combinations
GEBV.pb <- ans$u.hat # this are the BV
rownames(GEBV.pb) <- rownames(Y)
crosses <- do.call(expand.grid, list(rownames(Y),rownames(Y)));
dim(crosses)
cross2 <- duplicated(t(apply(crosses, 1, sort)))
crosses2 <- crosses[cross2,]; head(crosses2); dim(crosses2)
# get GCA1 and GCA2 of each hybrid
GCA1 = GEBV.pb[match(crosses2[,1], rownames(GEBV.pb))]
GCA2 = GEBV.pb[match(crosses2[,2], rownames(GEBV.pb))]
#### join everything and get the mean BV for each combination
BV <- data.frame(crosses2,GCA1,GCA2); head(BV)
BV$BVcross <- apply(BV[,c(3:4)],1,mean); head(BV)
plot(BV$BVcross)


最后,您将获得这599份小麦品系之间的179,101个可能杂交的基因组估值(GEBV),可以按最佳表现对它们进行排序,在实际育种中,将选择预测中表现最佳的杂交组合。

情景2

处理繁殖方式是杂交的物种,通常会存在杂种优势。在这个例子中,展示了如何使用已有的单交信息来对尚未发生的单交种进行基因组预测。假设您在一个玉米育种计划中工作,有来自两个杂种优势群(Dent和Flint)的40个个体,每个群20个。已知这40个亲本的基因型数据,并且在四个环境中对可能的400个单交种进行了表型评估,得到了其中100个的信息。您可以使用这些信息来预测其他300个单交种的表现。

data(cornHybrid)
hybrid2 <- cornHybrid$hybrid # extract cross data
A <- cornHybrid$K # Additive relationship matrix for all
y <- hybrid2$Yield # response
### incidence matrices
X1 <- model.matrix(~ Location, data = hybrid2);dim(X1)
Z1 <- model.matrix(~ GCA1 -1, data = hybrid2);dim(Z1)
Z2 <- model.matrix(~ GCA2 -1, data = hybrid2);dim(Z2)
Z3 <- model.matrix(~ SCA -1, data = hybrid2);dim(Z3)
#### Realized IBS relationships for each effect
K1 <- A[levels(hybrid2$GCA1), levels(hybrid2$GCA1)]; dim(K1)
K2 <- A[levels(hybrid2$GCA2), levels(hybrid2$GCA2)]; dim(K2)
S <- kronecker(K1, K2) ; dim(S)
rownames(S) <- colnames(S) <- levels(hybrid2$SCA)
### specify random component
ETA <- list(list(Z=Z1, K=K1), list(Z=Z2, K=K2), list(Z=Z3, K=S))
ans <- mmer(y=y, X=X1, Z=ETA)
summary(ans)


现在,您已经得到了所有可能的400个单交杂交种的拟合值,包括那些缺失的数据点,以及一般配合力(GCA)和特殊配合力(SCA)的BLUP值。

情景3

发生在想要预测特定个体的表现,已获得其基因型数据但没有表型数据。通常,这种情况发生在表型测定昂贵且只能测定其中一些个体时,但基因型测定不受限制。因此,您可以利用所有信息来预测那些已被基因型测定但没有表型数据的个体的表现。我们将使用一个纯加性模型来预测全同胞家系中个体的颜色。

data(CPdata)
CPpheno <- CPdata$pheno
CPgeno <- CPdata$geno
### look at the data
head(CPpheno)
CPgeno[1:5,1:5]
## fit a model including additive and dominance effects
y <- CPpheno$color
Za <- diag(length(y))
A <- A.mat(CPgeno) # additive relationship matrix
y.trn <- y # copy the response to test prediction accuracy
### delete data for 1/5 of the population
ww <- sample(c(1:dim(Za)[1]),72)
y.trn[ww] <- NA
ETA.A <- list(add=list(Z=Za,K=A))
ans.A <- mmer(y=y.trn, Z=ETA.A)
cor(ans.A$fitted.y[ww], y[ww], use="pairwise.complete.obs")

情景4

与情景3相同,但将显性和上位基因关系添加到模型中。考虑到这是一个全同胞家系,并且我们知道σ2D的四分之一是在这种类型家系的个体之间共享的,模型将包括这些效应,以期望提高预测准确性。

Zd <- diag(length(y))
Ze <- diag(length(y))
D <- D.mat(CPgeno) # dominant relationship matrix
E <- E.mat(CPgeno) # epistatic relationship matrix
ETA.ADE <- list(add=list(Z=Za,K=A),dom=list(Z=Zd,K=D),epi=list(Z=Ze,K=E))
ans.ADE <- mmer(y=y.trn, Z=ETA.ADE)
cor(ans.ADE$fitted.y[ww], y[ww], use="pairwise.complete.obs")
summary(ans.ADE)

正如您所见,上位基因方差通常为零或微不足道,不能在预测中产生差异,但加入显性关系确实提高了全同胞家系的预测准确性,这与理论一致。您可能希望时不时进行检查,并在处理这些家系或多倍体物种时使用它。

比较纯加性模型与加性+显性模型,显示在显性关系重要的全同胞家系中的预测增加。

Giovanny作为GS领域的专家,稍了解过的同学可能知道他讲解过CGIAR Excellence in Breeding Plantform(EiB)举办的《Basics of Genomic Selection》课程,感兴趣的可以去看看小编之前整理的推文:CGIAR基因组选择合集

标签:基因型,场景,GS,预测,基因组,个体,表型
From: https://www.cnblogs.com/miyuanbiotech/p/17804052.html

相关文章

  • Python:报错——ModuleNotFoundError: No module named 'encodings'
    运行Python报错:FatalPythonerror:Py_Initialize:unabletoloadthefilesystemcodecModuleNotFoundError:Nomodulenamed'encodings' 处理步骤:1.Files>>>Setting>>>Project>>>PythonInterpreter >>>AddInterpret......
  • TSINGSEE青犀特高压输电线可视化智能远程监测监控方案
    一、背景需求分析特高压输电线路周边地形复杂,纵横延伸几十甚至几百千米,并且受所处地理环境和气候影响很大。传统输电线路检查主要依靠维护人员周期性巡视,缺乏一定的时效性,在巡视周期的真空期也不能及时掌握线路走廊外力变化,极易在下一个巡视未到之前,由于缺乏监测发生线路停电事故。......
  • TSINGSEE青犀特高压输电线可视化智能远程监测监控方案
    一、背景需求分析特高压输电线路周边地形复杂,纵横延伸几十甚至几百千米,并且受所处地理环境和气候影响很大。传统输电线路检查主要依靠维护人员周期性巡视,缺乏一定的时效性,在巡视周期的真空期也不能及时掌握线路走廊外力变化,极易在下一个巡视未到之前,由于缺乏监测发生线路停电事故......
  • logstash采用了增量同步后想做全新的同步的方法
     1.文件同步到esNosincedb_pathset,generatingonebasedonthe"path"setting{:sincedb_path=>"/opt/logstash-6.8.5/data/plugins/inputs/file/.sincedb_f019a9f5e77dadb5d6981e37ca0b16f6",:path=>["/tmp/myfile/*.log"]}将.sincedb......
  • 使用logstash同步mysql到ES
    环境:OS:Centos7es:6.8.5logstash:6.8.5mysql:5.7 1.mysql创建表createtabletb_es(idbigint(20)unsignedNOTNULLAUTO_INCREMENTCOMMENT'主键id',namevarchar(32)notnull,f_intint,f_doudouble(10,2),f_flofloat(9,2),create_timet......
  • M3版MacBook Pro太空黑真的不沾指纹吗?PGSOFT游戏官方体验解答
    苹果发布了新一代的M3版14英寸和16英寸MacBookPro笔记本电脑,其中的一项引人注目的亮点是全新的太空黑配色。苹果声称,这新颜色采用了突破性的化学原理,能够形成阳极氧化密封,从而减少指纹的沾附,这让PG电子游戏玩家们都非常好奇,这个说法是否属实。此前,苹果在MacBookAir上推出了午.夜......
  • R语言实现MCMC中的Metropolis–Hastings算法与吉布斯采样|附代码数据
     最近我们被客户要求撰写关于MCMC的研究报告,包括一些图形和统计输出。创建测试数据第一步,我们创建一些测试数据,用来拟合我们的模型。我们假设预测变量和因变量之间存在线性关系,所以我们用线性模型并添加一些噪音。  trueA<-5trueB<-0trueSd<-10sampleSize<-31......
  • Strings of Impurity
    link不懂为什么都写平衡树,明明set就好了啊,思路跟平衡树差不多,实现起来较为简单。intn,m,k;ints[N];strings1,s2;intcnt[N];vector<int>t;set<int>p[N];intmain(){ios::sync_with_stdio(false);cin.tie(nullptr); cin>>s1>>s2; n=s1.size()......
  • TSINGSEE青犀AI视频识别技术+危化安全生产智慧监管方案
    一、背景分析石油与化学工业生产过程复杂多样,涉及的物料易燃易爆、有毒有害,生产条件多高温高压、低温负压,现场危险化学品存储量大、危险源集中,重特大安全事故多发。打造基于工业互联网的安全生产新型能力,提高危化企业生产过程中对安全风险的监测感知和预警管控,最大化降低安全隐患、......
  • linux 中 strings命令
     001、linux中strings命令主要是在对象文件或者二进制文件中查找可打印的字符串。 002、举例(base)[b20223040323@admin1~]$strings/bin/ls|head/lib64/ld-linux-x86-64.so.2libselinux.so.1__gmon_start___initfgetfileconfreeconlgetfilecon_finilibc......