R + Bioconductor:在ExpressionSet中组合probeset

时间:2010-05-05 16:58:18

标签: r bioconductor

首先,这可能是这个问题的错误论坛,因为R + Bioconductor具体相当。这就是我所拥有的:

library('GEOquery')
GDS = getGEO('GDS785')
cd4T = GDS2eSet(GDS)
cd4T <- cd4T[!fData(cd4T)$symbol == "",]

现在cd4T是一个ExpressionSet对象,它包含一个包含19794行(probesets)和15列(样本)的大矩阵。最后一行消除了所有没有相应基因符号的探针组。现在麻烦的是,该组中的大多数基因被分配给多个探针组。你可以通过

来看到这一点
gene_symbols = factor(fData(cd4T)$Gene.symbol)
length(gene_symbols)-length(levels(gene_symbols))
[1] 6897

因此,我的19794探针组中只有6897个具有独特的探针组 - &gt;基因映射。我想以某种方式结合与每个基因相关的每个探针组的表达水平。我并不关心每个探针的实际探测ID。我非常希望最终得到一个包含合并信息的ExpressionSet,因为我的所有下游分析都是为了使用这个类而设计的。

我想我可以编写一些可以手动执行此操作的代码,并从头开始创建一个新的表达式。但是,我假设这不是一个新问题,并且存在使用统计学上合理的方法来组合基因表达水平的代码。我猜这里也有一个合适的名字,但我的谷歌没有显示出太大的用处。有人可以帮忙吗?

2 个答案:

答案 0 :(得分:2)

我不是专家,但从我多年来看到的每个人都有他们自己喜欢的探针组合方式。我见过的两种方法在大规模上使用最多的方法是只使用在表达式矩阵中具有最大方差的探针组,另一种方法是采用探针组的平均值并从中创建一个meta-probeset 。对于较小的探针组,我看到人们使用更密集的方法,包括查看每个探针集图,以了解正在发生的事情...通常会发生的情况是,一个探针组被证明是“好的”探针组,并且休息不是很好。

我没有看到通用代码来做到这一点 - 作为一个例子,我们最近在我的实验室中发现,我们中的一些人有自己的私有函数来做同样的事情。

答案 1 :(得分:0)

您要查找的单词是 R genefilter包中的“nsFilter”。这个函数分配了两个主要的东西,它只查找entrez基因 ids ,其余的探针集将被过滤掉。当entrez id具有多个探针集时,将保留最大值并移除其他值。现在你有独特的entrez基因id映射矩阵。希望这会有所帮助。