用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. }
相關文章
相關標籤/搜索