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

2023-03-08  本文已影响0人  风知秋

前面介绍了 QTL 分析的一般流程:包括数据输入,数据质量检查,单 QTL 分析。对这个过程已经比较了解了。

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

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

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

接下来几部分将会更全面地介绍 QTL 定位中可能出现的问题。


但在 R/qtl 定位分析(三)Single-QTL analysis 中的分析,一个前提假设就是表型都是正态分布的。在不存在很大效应的 QTL 时,表型分布通常会接近正态分布:单峰且合理对称。但很多时候,表型也可能表现出二分、偏态、存在峰值的分布。

一般来说,应用 standard interval mapping 都可以得到一个合理结果,尤其是表型近似正态,或者通过取对数之类的方法转换为近似正态。

即使是二分的表型,只要不存在 low genotype information 造成的假 LOD 值的情况下,通过 permutation test 建立起统计显著性即可。

但是,同样可以采取一些方法来提高检测效力。比如:Nonparametric interval mapping 考虑表型的 ranks;为 binary traits 也有单独的方法;等等。

本文介绍 3 种在区间作图中常用到的方法。以 listeria 数据集中的 phe 为例:

data(listeria)

plotPheno(listeria, pheno.col=1)

1. Nonparametric interval mapping

这是一种 rank-based methods for interval mapping 的扩展。

listeria <- calc.genoprob(listeria, step=1, error.prob=0.001)

out.np <- operm.np <- scanone(listeria, model="np", n.perm=1000, perm.Xsp=TRUE)

summary(out.np, perms=operm.np, alpha=0.05, pvalues=TRUE)

2. Binary traits

顾名思义,这是一种针对类似质量性状的分析方法。将上述表型的死活分为两类(上图是统计了一定时间内菌类死亡的情况,最后一根柱子是到那个时候还没死的)。

binphe <- as.numeric(pull.pheno(listeria, 1) > 250)

listeria$pheno <- cbind(listeria$pheno, binary=binphe)

plotPheno(listeria, pheno.col=3)

operm.bin <- scanone(listeria, pheno.col="binary", model="binary", n.perm=1000, perm.Xsp=TRUE)

plot(out.np, out.bin, col=c("blue", "red"), ylab="LOD score", alternate.chrid=TRUE)

summary(out.bin, perms=operm.bin, alpha=0.05, pvalues=TRUE)

3. Two-part model

如果表型是存在一个 spike 的,比如最高值或者最低值。默认为最低值,可以用 upper=TRUE 指定最高值。

y <- log(pull.pheno(listeria, 1))

listeria$pheno <- cbind(listeria$pheno, logsurv=y)

operm.2p <- scanone(listeria, model="2part", upper=TRUE, pheno.col="logsurv", n.perm=1000, perm.Xsp=TRUE)

summary(out.2p, perms=operm.2p, alpha=0.05, pvalues=TRUE)


这一部分相对简单,就是针对非正态分布表型,检测 QTL 的时候,适当使用一些其它参数。

上一篇下一篇

猜你喜欢

热点阅读