从GEO数据库下载数据的方法
1、在GEO DATASETS中输入关键词,选择符合的GSE,在ftp中进行手动下载
2、找到符合的GSE,在R中使用GEOquery包进行下载
GEO数据库的数据种类
1、Platforms 平台
包含有芯片的探针信息,如cDNAs,寡核苷酸,ORFs,抗体。
以GPLxxx编号。
一个platform可以包含不同人上传的不同sample。
不同platform的数据需要分开处理。
2、Samples 样品
一个以独立方式处理的样品。
以GSMxxx编号。
一个sample只能包含于一个platform,一个sample可以包含于多个series。
3、Series 系列
一个Series就是一个study。
以GSExxx编号。
一个系列一定包含多个sample,可能包含多个platform。
不同platform的数据需要分开处理。
4、Datasets 数据集
数据集包含有被summiter处理过的数据,可以使用GEO数据库自带的tools进行分析,如differentiated gene expression, cluster, heatmap。
以GDSxxx编号。
一个dataset的sample来自同一个platform,因此彼此间具有可比性。
范例
-
gds858 <- getGEO(‘GDS858’, destdir=“.”) ##根据GDS号来下载数据,下载soft文件
-
gpl96 <- getGEO(‘GPL96’, destdir=“.”) ##根据GPL号下载的是芯片设计的信息!
-
gse1009 <- getGEO(‘GSE1009’, destdir=“.”)##根据GSE号下载数据,下载_series_matrix.txt.gz
下载GDS返回的对象
gds858返回的对象很复杂
用Table(gds858)可以得到表达矩阵!
用Meta(gds858)可以得到描述信息
names(Meta(gds858))
Table(gds858)[1:5,1:5]
可以用 GDS2eSet 函数把它转变为 expressionset
下载GSE返回的对象
用GPLList函数查看GPL信息
处理函数有:geneNames/sampleNames/pData/exprs
用命令
gsmplatforms <- lapply(GSMList(gse), function(x) {Meta(x)$platform_id})
head(gsmplatforms)
查看GSM对应的GPL信息
用命令
gsmlist = Filter(function(gsm) { Meta(gsm)$platform_id=='GPLXX'},GSMList(gse))
提取GPLXX对应的样本(有些实验涉及到不同平台的样品)。
下载GPL返回的对象
根据GPL号下载返回的对象跟GDS一样,也是用Table/Meta处理!
还可以下载cel原始文件!
tmp=getGEOSuppFiles(GSE1009)
if (is.null(tmp)) {
warning("Supplementary data files not provided!\nyou should check this GEO ID in NCBI\n")
}
参考:
网友评论