从GEO数据库下载数据

从GEO数据库下载数据有很多种方法,主要用的是jimmy在生信技能树里给出的和果子老师现成的代码。

Jimmy的更变通,果子老师的就只教了一种傻瓜式方法。

下面是jimmy的,Ref: http://www.bio-info-trainee.com/bioconductor_China/software/GEOquery.html


只需要记住三个函数,以及每个函数返回的对象该如何处理即可

getGEO/getGEOfile/getGEOSuppFiles

这三个函数根据上面的四种ID号下载数据时候,返回的对象还不一样!

首先是下载和加载包:

source("http://www.bioconductor.org/biocLite.R")

biocLite("GEOquery")

library(GEOquery)

然后是使用它!

首先,我们介绍getGEO函数

gds858 <- getGEO(‘GDS858’, destdir=“.”) ##根据GDS号来下载数据,下载soft文件

gpl96 <- getGEO(‘GPL96’, destdir=“.”) ##根据GPL号下载的是芯片设计的信息!

gse1009 <- getGEO(‘GSE1009’, destdir=“.”)##根据GSE号下载数据,下载_series_matrix.txt.gz

下载的文件都会保存在本地,destdir参数指定下载地址。

还有很多其它参数可以调整,学一个函数只需要看看它的帮助即可。

比较重要的三个参数是:GSEMatrix=TRUE,AnnotGPL=FALSE,getGPL=TRUE

返回的对象不一样!针对返回对象的方法也不一样!

下载GDS返回的对象

gds858返回的对象很复杂

Table(gds858)可以得到表达矩阵!

Meta(gds858)可以得到描述信息

options(warn=-1)

suppressMessages(library(GEOquery))

gds858<-getGEO('GDS858',destdir=".")

names(Meta(gds858))

Table(gds858)[1:5,1:5]

然后还可以用GDS2eSet函数把它转变为expression set 对象

eset <- GDS2eSet(gds858, do.log2=TRUE)

下载GSE返回的对象

也就是直接根据GSE号返回的对象:gse1009

我们的处理函数有:geneNames/sampleNames/pData/exprs(这个是重点,对expression set 对象的操作函数)

下载GPL返回的对象

但是根据GPL号下载返回的对象跟GDS一样,也是用Table/Meta处理!

options(warn=-1)

suppressMessages(library(GEOquery))

gpl96<-getGEO('GPL96',destdir=".")

names(Meta(gpl96))

Table(gpl96)[1:10,1:4]

##下面这个就是芯片ID的基因注释信息

Table(gpl96)[1:10,c("ID","GB_LIST","Gene.Title","Gene.Symbol","Entrez.Gene")]

getGEO除了可以下载数据,还可以打开本地数据!

gds858 <- getGEO(filename=‘GDS858.soft.gz’)

还可以下载所有的cel原始文件!

tmp=getGEOSuppFiles(GSE1009)if(is.null(tmp)){warning("Supplementary data files not provided!\nyou should check this GEO ID in NCBI\n")}


果子老师的代码比较无脑:

## 加载R包

library(GEOquery)

## 下载数据,如果文件夹中有会直接读入,需要别的数据则更改GSE即可

gest = getGEO('GSE124574', destdir=".",getGPL = F)

## 获取ExpressionSet对象,包括的表达矩阵和分组信息

gset=gset[[1]]

##通过pData函数获取分组信息

## 获取分组信息,点开查阅信息

pdata=pData(gset)

你可能感兴趣的:(从GEO数据库下载数据)