用GEOquery从GEO数据库下载数据--转载

https://www.plob.org/article/9969.htmlhtml

 

Gene Expression Omnibus database (GEO)是由NCBI负责维护的一个数据库,设计初衷是为了收集整理各类表达芯片数据,可是后来也加入了甲基化芯片,甚至高通量测序数据!数据库

GEO数据库基础知识

  • GEO Platform (GPL) 芯片平台
  • GEO Sample (GSM) 样本ID号
  • GEO Series (GSE) study的ID号
  • GEO Dataset (GDS) 数据集的ID号 ## 用法

只须要记住三个函数,以及每一个函数返回的对象该如何处理便可express

getGEO/getGEOfile/getGEOSuppFileside

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

首先是下载和加载包:this

  1. source("http://www.bioconductor.org/biocLite.R")
  2. biocLite("GEOquery")
  3. library(GEOquery)

而后是使用它!spa

首先,咱们介绍getGEO函数设计

  • gds858 <- getGEO(‘GDS858’, destdir=“.”) ##根据GDS号来下载数据,下载soft文件
  • gpl96 <- getGEO(‘GPL96’, destdir=“.”) ##根据GPL号下载的是芯片设计的信息!
  • gse1009 <- getGEO(‘GSE1009’, destdir=“.”)##根据GSE号下载数据,下载_series_matrix.txt.gz

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

还有不少其它参数能够调整,学一个函数只须要看看它的帮助便可。htm

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

返回的对象不同!针对返回对象的方法也不同!

下载GDS返回的对象

gds858返回的对象很复杂

用Table(gds858)能够获得表达矩阵!

用Meta(gds858)能够获得描述信息

  1. options(warn=-1)
  2. suppressMessages(library(GEOquery))
  3. gds858 <- getGEO('GDS858', destdir=".")
  4. names(Meta(gds858))
  5. Table(gds858)[1:5,1:5]

而后还能够用 GDS2eSet函数把它转变为expression set 对象

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

下载GSE返回的对象

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

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

下载GPL返回的对象

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

  1. options(warn=-1)
  2. suppressMessages(library(GEOquery))
  3. gpl96 <- getGEO('GPL96', destdir=".")
  4. names(Meta(gpl96))
  5. Table(gpl96)[1:10,1:4]
  6. ##下面这个就是芯片ID的基因注释信息
  7. Table(gpl96)[1:10,c("ID","GB_LIST","Gene.Title","Gene.Symbol","Entrez.Gene")]

getGEO除了能够下载数据,还能够打开本地数据!

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

还能够下载全部的cel原始文件!

  1. tmp=getGEOSuppFiles(GSE1009)
  2. if (is.null(tmp)) {
  3. warning("Supplementary data files not provided!\nyou should check this GEO ID in NCBI\n")
  4. }
相关文章
相关标签/搜索