如何对R中的微阵列数据进行多重比较

时间:2013-12-08 02:12:35

标签: r

我是R的新手,还有针对差异表达基因的多重比较检验。我正在阅读这本书,名为Bioinformatics and Computational Biology Solutions,使用R和Bioconductor,Robert Gentleman,Rafael A. Irizarry,Vincent J. Carey,Sandrine Dudoit,Wolfgang Huber。我现在正在第15章,正在研究本书中的例子。我想我理解了大部分内容,但我不明白的是MTP包是如何进行多项测试的。这是书中的代码

library("ALL")
library("hgu95av2")
data(ALL)

runMTP <- function()
ffun <- filterfun(pOverA(p = 0.2, A=100), cv(a=0.7, b=10))
filt <- genefilter(2^exprs(ALL), ffun)
filtALL <- ALL[filt, ]
filtX <- exprs(filtALL)
pheno <- pData(filtALL)
Bcell <- rep(0, length(pData(ALL)$BT))
Bcell[grep("B", as.character(pData(ALL)$BT))] <- 1
seed <- 99
cache(BT.boot <- MTP(X=filtX, Y=Bcell, alternative ="greater", B=100, method = "sd.minP", seed = seed))

所以,我知道filtX有431个不同的基因和128个不同的患者。但是Y = Bcell包含128个1和0(B细胞为1,T细胞为0)。谁能帮助我理解它是如何用adj p值进行多重比较测试的?他们刚刚使用pairwise.t.test(X, Y, p.adjust.method="bonferroni")吗?或者他们在做一些不同的事情?如果他们使用上面的代码来获得adj。 P值,X和Y的内容以及如何从矩阵filtX确定?此外,MTP也是自举,但它是什么引导?你能给我一个基因型的例子并告诉我如何为其他基因型做这个吗?

如果有人能用简单的话语帮助我理解这一点,我真的很感激。

谢谢。

2 个答案:

答案 0 :(得分:0)

我自己想通了。我以完全无关的方式看着它。没有必要进行成对t检验。我发现MTP函数正在获取数据集并根据单元格类型对每一行执行t检验。这将产生n个t检验和n个p值,然后使用降压minP程序创建调整的p值,对其使用自举。

答案 1 :(得分:0)

我使用JMP试用软件运行其中实现的PCA,并具有良好的相关性。如果您的数据小于300X300,请尝试使用SPSS和STATISTICA。 Mev,Genesis,Mayday和Expander软件也有许多有用的功能。