舉個栗子,GSE99410和GSE78200。
library(GEOquery)
gse = "GSE78200"
eSet <- getGEO(gse, destdir = '.',getGPL = F)
exp <- exprs(eSet[[1]])
#Error in exp[1:4, 1:4] : subscript out of bounds
exp[1:4,1:4]
boxplot(exp)
#Error in names(groups) <- nam : 'names' attribute [10] must be the same length as the vector [0]
代碼看起來沒有問題,怎么就畫不了圖?
dim(exp)
#[1] 0 10
因為它是空數據啊。
有兩種情況
第一類,不是芯片數據,用于后續分析的文件以其他形式存儲了,這是GSE99410的
這是GSE78200的:
第二類,就是作者沒有并上傳表達矩陣,而是只提供了原始數據文件,如CEL、txt、gpr等格式。
原始數據的處理,有法可依呀。
CEL格式的芯片原始數據處理方法
aglient 家txt格式的芯片原始數據處理方法
gpr格式的芯片原始數據處理方法
如果是illumina的bead芯片,可以用lumi試試,還沒有整理。
處理原始數據的技能搞定,還有一個問題可以一并解決:
表達矩陣里有負值,無法正常用limma包做下游分析了,也可以找找原始數據去處理它 ~