我有一个带有基因表达数据的affyBatch对象。使用读入数据 dat< - ReadAffy() 没有选择。然后我提取我感兴趣使用的5600个基因, dat< - RemoveProbes(listOutProbeSets,cdfpackagename,probepackagename)
然后我使用标准化表达数据 dat.rma< - rma(dat)
现在我想将原始数据和rma规范化数据导出到.csv文件。检查数据我发现exprs(dat)的尺寸为226576×30,dat.rma的尺寸为5600×30。如何提取5600×30矩阵的RAW表达式值?我不知道原始数据中的226576行来自哪里!
我是bioconductor数据结构的初学者!很抱歉没有提供可运行的示例代码 - 在这种情况下我不确定如何执行此操作。
答案 0 :(得分:0)
在从原始数据到rma标准化数据的转换过程中,除其他外,您将低水平探针强度值组合/汇总到探针组值(映射到基因)中。这解释了为什么原始AffyBatch
对象中的功能比ExpressionSet
实例(由rma
函数创建)中的功能更多。此外,根据您拥有的芯片,每个探针组有几个完美匹配(PM)和未匹配(MM)探针,可以增加每个探针组的探针数量。映射探针 - > probeset在芯片定义文件中定义并自动处理。
但是还有一些额外的想法。在进行规范化之前删除探针可能不是一件好事。执行标准化时的一个假设是,大多数“基因”都没有改变,因此仅保留“感兴趣的”可能会破坏这一点,这取决于“感兴趣的”当然是手段。在标准化后,您始终可以对ExpressionSet
进行过滤:
> library(affydata)
> data(Dilution) ## gets some test data
> eset <- rma(Dilution) ## rma normalisation
> featureNames(eset)[1:10] ## gets some probesets of interest
> ps
[1] "100_g_at" "1000_at" "1001_at" "1002_f_at" "1003_s_at" "1004_at"
[7] "1005_at" "1006_at" "1007_s_at" "1008_f_at"
> dim(eset) ## full dataset
Features Samples
12625 4
> dim(eset[ps,]) ## only 10 first probesets of interest
Features Samples
10 4
希望这有帮助。