
近几个月的工作主要在空间转录组、实验室项目方面,已经很久没做基础的GEO数据挖掘了,都感觉有些陌生了。
今天需要做一个数据集GSE6410,正好需要处理CEL原始文件,就写篇帖子记录下。
关于处理CEL文件,之前我已经在GEO数据挖掘—处理Affymetrix的表达量芯片的cel文件,这篇帖子中记录过,本篇帖子的内容类似。
拿到这个编号首先按照正常的处理流程走
#01_start_GEO.R
rm(list = ls())
options(timeout = 100000)
options(scipen = 20)
#传统下载方式
library(GEOquery)
eSet = getGEO("GSE6410", destdir = '.', getGPL = F)
#2.试试geoChina,只能下载2019年前的表达芯片数据
#library(AnnoProbe)
#eSet = geoChina("GSE6410") #选择性代替第8行
#研究一下这个eSet
class(eSet)
length(eSet)
eSet = eSet[[1]]
class(eSet)
#(1)提取表达矩阵exp
exp <- exprs(eSet)
dim(exp)
range(exp)#看数据范围决定是否需要log,是否有负值,异常值,如有负值,结合箱线图进一步判断
#
#exp = log2(exp+1) #需要log才log,不需要log要注释掉这一句
#⭐第三个要检查的地方👇
boxplot(exp,las = 2) #看是否有异常样本可以看出,表达矩阵中exp含有负值

此种情况就需要处理原始的CEL文件,

按照以下代码,预处理
#step0 cel.R
rm(list = ls())
library(oligo)
celFiles<-list.celfiles('GSE6410_RAW/',listGzipped=T,
full.name=TRUE)
celFiles
options(BioC_mirror="https://mirrors.westlake.edu.cn/bioconductor")
exon_data<-oligo::read.celfiles(celFiles)
dim(exprs(exon_data))
exprs(exon_data)[1:4,1:4]
###标准化(一步完成背景校正、分位数校正标准化和RMA(robustmultichipaverage)表达整合)
exon_data_rma<-oligo::rma(exon_data)
exp_probe<-Biobase::exprs(exon_data_rma)
exp_probe[1:4,1:4]
dat=exp_probe
dim(dat)#看一下dat这个矩阵的维度
dat[1:4,1:4]#查看dat这个矩阵的1至4行和1至4列,逗号前为行,逗号后为列
exp <- dat
range(exp)
boxplot(exp,las = 2)
summary(as.vector(exp))
save(dat,file = "step0.cel.Rdata")重新处理后的表达矩阵就是正常的了

后续在脚本01_start_GEO.R中,获取表达矩阵的代码替换为以下代码即可
load("step0.cel.Rdata")
colnames(dat)
exp <- dat原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。