GEO数据分析中exprs提取表达矩阵,pData提取临床信息
关于用
getGEO
下载数据后,会得到一个list
,取出第一个列表中的元素后,再查看这第一个元素的数据类型后,发现他是一个对象("ExpressionSet"),然后我们就会用exprs
来提取表达矩阵信息,用pData
来提取临床信息。代码过程如下,数据集是GSE54939,其实是哪个数据集都一样,我们都要经历这样的一个提取过程。最一开始就有这个疑问,这个exprs
和pData
是如何知道的呢?先看下获得表达矩阵和临床信息的代码如下
#在下载GEO数据时,是这么下载的
rm(list = ls())
options("repos"="https://mirrors.ustc.edu.cn/CRAN/")
if(!require("BiocManager")) install.packages("BiocManager",update = F,ask = F)
options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/")
library(GEOquery)
f<-'GSE54839.Rdata'
####getGPL获得平台的注释信息,但下载速度会慢很多
####而且注释文件格式大多不如bioconductor包好用
if(!file.exists(f)){
gset<-getGEO('GSE54839',destdir='.',
AnnotGPL=F,
getGPL=F)
save(gset,file=f)
}
#数据提取
load('GSE54839.Rdata')
class(gset)
就是下面最后两行代码,虽然简单,但巨好用,然我们轻飘飘的就获得表达矩阵和临床信息。
> class(gset)
[1] "list"
#取列表中的元素
a=gset[[1]]
class(a)
dat=exprs(a) #a现在是一个对象,取a这个对象通过看说明书知道要用exprs这个函数
pd=pData(a) #用pData来提取临床信息
下面显示下我是如果一步一步搜索得到这两个函数的1

这时就要去了解 这Biobase和ExpressionSet是什么呢,可以
?ExpressionSet
,也可以去Bioconductor官网查看Biobase包,下面这张图片记录bioconductor 上面几个非常有帮助
的模块,如肩头所示,其中common work flows可以看到各个主流分析的HTML文档,按操作可以出图.



其实呢,在library(GEOquery)
也可以看到,如下图所示

现在知道得到的数据是一个ExpressionSet,关于ExpressionSet的解释,在bioconductor也有官方文档解释,网址是:https://bioconductor.org/packages/release/bioc/vignettes/Biobase/inst/doc/ExpressionSetIntroduction.pdf

现在问题是如何获取ExpressionSet里面的注入phenoData、experimentData呢?
那就去看ExpressionSet里面的帮助文档

但是这个phenoData的信息如何提取没有说,继续找


好了,那就继续在代码去输入
ex<- exprs(gset[[1]])#表达矩阵
pd <- pData(gset[[1]])#临床信息


上面就是获得的表达矩阵和临床信息了,感觉还是豁然开朗了的!
最后友情宣传生信技能树
-
全国巡讲:R基础,Linux基础和RNA-seq实战演练 : 预告:12月28-30长沙站