2022-05-06

# 首先加载依赖的R包
library(annaffy)
library(affy)
library(annotate)
library(GEOquery)
library(hgu133plus2.db)
library(org.Hs.eg.db)

# 设置RAW文件所在文件夹的路径
setwd("~\\Desktop\\data")
path <- getwd()
# gse给出所有的待处理GEO文件名称
gse <- c("GSE1234", "GSE345", "GSE4456")
for (n in gse) {
  setwd(path)
  # dir.create函数创建与GSE文件同名的文件夹,以便压缩包的解压和文件提取
  dir.create(n)
  # 设置默认路径
  setwd(paste(path, n, sep = "/"))
  # 对压缩文件解压
  untar(paste(paste(path, n, sep = "/"), "RAW.tar", sep = "_"))
  # 提取所有的命名中带有gz的文件
  files <- dir(pattern="gz$") ##加载文件
  # 将files中的文件进行合并
  sapply(files, gunzip) ##合并文件
  # 将所有名字带有CEL的文件存放到filelist变量中,每个CEL文件就是一个样本的芯片数据
  filelist <- dir(pattern="CEL$")
  # 使用ReadAffy函数读取每个CEL文件,并对芯片数据进行初步处理
  data <- ReadAffy(filenames=filelist)
  # 使用rma函数对芯片数据进行标化
  eset <- rma(data)
  # expres函数用于提取eset对象中的表达数据
  eset.e <- data.frame(exprs(eset))
  # 提取表达数据的基因信息
  affydb <- annPkgName(data@annotation,type="db")
  require(affydb, character.only=TRUE)
  genes <- as.character(aafSymbol(as.character(rownames(eset)),affydb))
  eset.e$genes <- genes
  # 至此实现了对GEO原始数据的RMA标准化处理,处理后的表达谱数据为eset.e
  write.csv(eset.e, "rma_exp.csv", row.names = F) # 导出RMA标化后的数据

  # 有些研究发现可以将RMA标化方法与MAS5标化方法进行结合,具体的实现方式如下

  # 使用mas5calls函数对data进行处理,得到mas5标化后的标化数据
  calls <- mas5calls(data) # get PMA calls
  # exprs函数用于提取表达谱
  calls <- exprs(calls)
  # 对数据calls进行筛选,最终得到数据即为在RMA标化的基础上,进一步考虑了mas5
  absent <- rowSums(calls == 'A') # how may samples are each gene 'absent' in all
  absent <- which (absent == ncol(calls)) # which genes are 'absent' in all samples
  rmaFiltered <- eset[-absent,] # filters out the genes 'absent' in all samples 
  filtered <- data.frame(exprs(rmaFiltered))
  symbols<-as.character(aafSymbol(as.character(rownames(rmaFiltered)),affydb))
  filtered$genes <- symbols
  write.csv(filtered, "rma_mas5_exp.csv", row.names = F)
}
rm(list = ls())
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 2022/5/6 调剂系统关闭了。我的二战也确定是失败了。等成绩,等国家线,等学校复试线,等调剂系统开放,坚持到最...
    聪明的憨憨1阅读 110评论 0 0
  • 下午临危受命,领导要求写一篇关于党建工作报告的材料,格式内容字数不限,自己摸索吧,周六必须交。仿佛回到了当年高考写...
    米米特阅读 131评论 0 2
  • 每年的5月初是杨树开花的季节,特别是北方的朋友都知道这一物种。杨树因为长的迅猛,1到2年就能长的健壮挺拔,...
    fb1b473fe1b1阅读 98评论 0 0
  • 你有权利抱怨,但是你没资格抱怨。那些比你优秀几百倍,几千倍的人都都努力的拼命工作?你却每天发呆去想那些你做不到的事...
    麦秸垛阅读 88评论 0 0
  • 他叫长安,我叫故里,原以为是长安归故里,故里有长安,却不曾想是长安尽头无故里,故里从此别长安,后来长安失故里,故里无长安
    阿狸_bf36阅读 101评论 0 0