美文网首页
2022-05-06

2022-05-06

作者: 玄武Ken | 来源:发表于2022-05-06 18:44 被阅读0次
# 首先加载依赖的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-05-06

    2022-05-06

  • 波利亚(Polya, George)的数学思维

    2022-05-06 生词:sagacity睿智, 灵感。 Polya, George. How to solve...

  • 橙子的ScalersTalk第六轮新概念朗读持续力训练Day 2

    练习材料:[Day 2780 2022-05-06] L50-3: New Yearresolutions Tha...

  • 2022-05-06

    2022-05-06坚持分享第1314天 读《知行合一2》P113-118感悟:阳明心学与情绪控制。 “前摄行为”...

  • 信哥日记

    2022-05-06 周五 晴 今日小结。 今天足球赛对战503班,战果5:0,我们不太满意这个成绩,上一场那个班...

  • 生活不是灌鸡汤

    2022-05-06 五一放假再加上疫情防控,说实话让人有点沮丧,大家都时刻关注新闻动向,默默期待能够弹窗居家。但...

  • Wemos D1-DHT11(3.3V!)

    2022-05-06汇总起来几个问题: 串口输出设置波特率时,监视窗口也要同样设置。 DHT11是使用3.3V! ...

  • 老婆的健康码

    2022-05-06 晴 周五 “哈哈,太好了,我的终于变成黄码了!”昨晚八点多,大家都在做各自的事...

  • 你等着,我喊人过来!

    邻村有日记2022-05-06 22:01发表于河南 收录于合集#看历史53个 东汉末年,朝廷内部斗争很积累,外戚...

  • 妈妈懂营养,孩子就少跑医院

    2022-05-06 11:09 你相信吗?。我相信!我妈妈懂营养,孩子就少跑医院,我也做到。我是两个孩子的妈妈,...

网友评论

      本文标题:2022-05-06

      本文链接:https://www.haomeiwen.com/subject/ilyzyrtx.html