从affyBatch对象中提取原始数据

时间:2011-06-20 11:44:27

标签: r extraction bioconductor

我有一个带有基因表达数据的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数据结构的初学者!很抱歉没有提供可运行的示例代码 - 在这种情况下我不确定如何执行此操作。

1 个答案:

答案 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 

希望这有帮助。