美文网首页
R/qtl 定位分析(五)Two-QTL scans

R/qtl 定位分析(五)Two-QTL scans

作者: 风知秋 | 来源:发表于2023-03-14 20:40 被阅读0次

在此之前,仅仅考虑了一维的基因组扫描,但是多数复杂性状都是多个遗传位点共同作用的结果,不同位点之间可能存在连锁或者上位性。而这一部分开始考虑 QTL 之间的连锁和相互作用。

通过考虑较大效应的QTL,可以减少残差变异,从而更好地识别效应较小的QTL;通过比较双 QTL 模型和最佳单 QTL 模型的拟合,可以较好地分离连锁 QTL;另外,QTL 之间的上位性只能通过考虑多个 QTL 的模型来实现。


在此之前,有需要的可以看一下前面几篇内容:

R/qtl 定位分析(一)读取数据

R/qtl 定位分析(二)Data Check

R/qtl 定位分析(三)Single-QTL analysis

R/qtl 定位分析(四)Non-normal phenotypes


首先考虑符合正态分布的性状的 two-dimensional genome scans。

1. 原理

假设基因组上存在 2 个 QTL,它们可能出现在基因组上的任何位置,考虑以下 4 种模型:

可以看出,Hf 考虑了 QTL 之间的相互作用;Ha 仅考虑了两个 QTL 之间的加性效应;H1 仅考虑单个 QTL 存在的情况;H0 考虑了不存在 QTL 的情况。

为比较表型和标记之间的关系对于上述 4 种模型的拟合情况,定义了 LOD 得分来衡量:

LODf,衡量了 full two-locus model 相较于 null model 对于拟合的提升,在考虑了相互作用的情况下表明至少一个 QTL 存在的证据。

LODa 衡量了 the two-locus additive model 对拟合的提升,并在假设没有相互作用的情况下,至少有一个 QTL 的证据。

LODi 衡量了 full model 优于 additive model 的拟合,表明了相互作用的证据。

LOD1仅表示了一维单 QTL 扫描的得分。

这些 LOD 得分可能不好解释。如果一个位置 s0 处存在 QTL,那么 LOD1(s0) 会很大,而 LODf(s0, t) 和 LODa(s0, t)  对于任何 t 都会很大。

重要的是对第二个 QTL 存在的证据进行评估,即双 QTL 模型是否比单 QTL 模型提供了足够好的拟合。

因此,可以关注单个染色体或一对染色体(两条染色体分别用  j 和 k 表示,二者可以相等),每一对染色体最大的 LOD 得分可以计算:

进一步可以计算如下的 LOD 得分:

Mi(j, k) 为假设两条染色体上各存在一个 QTL,或单条(j=k)染色体上存在两个 QTL ,两个 QTL 之间相互作用的证据;

Mfv1(j, k) 是允许上位效应的情况下,第二个 QTL 存在的证据;

Mav1(j, k) 是假设没有上位效应的情况下,第二个 QTL 存在的证据。

因此,在 two-QTL 基因组扫描中,将着重关注如下 5 个 LOD 得分的分布,通过模拟可以获得每一个得分的阈值,在满足以下任一条件时则报告:


2. 计算

这一计算是通过 scantwo 函数完成的。需要注意的是,这一步的计算量增加会很多。

library(qtl)

data(hyper)

hyper <- calc.genoprob(hyper, step=2.5, err=0.001)     # step设置为了更快的计算速度

out2 <- scantwo(hyper, verbose=FALSE)

上述计算结果的一系列绘图分析就不展示和解释了,主要还是不同 LOD 得分之间的绘图比较,而且也不好解释,这里直接使用 summary 来看一下结果。

summary(out2, thresholds=c(6.0, 4.7, 4.4, 4.7, 2.6))

# 这里的阈值使用的是小鼠回交模拟得到的 95% 分位的阈值。

其中,pos1f, pos2f 分别表示在 full model 下估计的两个 QTL 的位置;pos1a, pos2a 分别表示在 additive model 下估计的两个 QTL 的位置;

结果可以发现,1 和 4 号染色体上存在一对 QTL,但二者之间没有相互作用(Mi = 0.305);而 6 和 15 号染色体明显存在一对 QTL,但只在允许相互作用的情况下存在(Mfv1 = 5.4 and Mav1 = 1.9),并且不同模型下的位置相差很大。

一般来说,我们最好还是基于自己的数据情况通过模拟得到不同 LOD 得分的阈值。命令很简单,就是比较耗时:

operm2 <- scantwo(hyper, n.perm=1000)

summary(operm2)

summary(out2, perms=operm2, alphas=c(0.2, 0.2, 0, 0.2, 0.2), pvalues=TRUE)

结果相较之前,在 3 号染色体多了一对紧密连锁的 QTL,不过由于位置过近,可能是 artifact。为降低这种 artifact 可能性,可以在 scantwo 函数中增加 clean.output=TRUE 参数。

summary(clean(out2), perms=operm2, alphas=c(0.2, 0.2, 0, 0.2, 0.2))

该案例中结果并没有改变。

大多数 QTL 在单 QTL 扫描中就可以得到,但双 QTL 扫描对于那些参与上位性相互作用的 QTL 有较好的识别,以及可以识别连锁的 QTL。


相关文章

  • 2.QTL定位:Rqtl —— Two-QTL scans

    在上篇帖子中介绍了如何用qtl这个R包进行单QTL定位,但有很多复杂性状都是由多位点共同控制的。有些位点之间可能存...

  • 1.QTL定位:Rqtl—— Single-QTL analys

    R/qtl是一个可扩展的、交互的、用于QTL定位的R包,集数据分析和绘图于一体。特点是使复杂的QTL定位方法被广泛...

  • 2020-09-28

    功能基因定位的方法:QTL定位(包括GWAS)和群体遗传(选择压力分析) 广义的QTL包括连锁分析和关联分析。 首...

  • 使用R/qtl进行QTL分析

    欢迎关注微信公众号"生信小王子"! QTL分析是进行基因精细定位和克隆的基础,今天小编教大家使用R包" qtl "...

  • Matrix eQTL分析

    目前针对QTL分析有很多软件,比如Plink、 Merlin、R/qtl、FastMap等等,今天给大家分享一下如...

  • 使用tassel和haploview进行GWAS

    在植物的QTL定位最后阶段,会把QTL定位到一个很小的区间,这里面可能有几个候选基因,如何进行下一步的分析是个很头...

  • QTL定位

    如果分子标记覆盖整个基因组,当标记与控制特定性状基因连锁时,不同标记基因型的表型值存在显著差异,通过数量性状观测值...

  • 安装使用QTL-seqr

    QTL-seqr是一个R包。官方文件地址qtl-seqr参数详解安装流程在R环境里 目前版本号:QTLseqr v...

  • 安装使用QTL-seqr

    QTL-seqr是一个R包。官方文件地址qtl-seqr参数详解安装流程在R环境里 目前版本号:QTLseqr v...

  • 利用R/qtl1计算QTL定位,并估算其效应值

    想对数量性状表型进行定位,首先应该知道有多少QTL存在,其次QTL之间是否存在互作,当 QTL数目和其互作关系确定...

网友评论

      本文标题:R/qtl 定位分析(五)Two-QTL scans

      本文链接:https://www.haomeiwen.com/subject/peroldtx.html