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

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

GEO数据库基础知识

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

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

getGEO/getGEOfile/getGEOSuppFiles

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

首先是下载和加载包:

  1. source("http://www.bioconductor.org/biocLite.R")
  2. biocLite("GEOquery")
  3. 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)可以得到描述信息

  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. }

最新文章

  1. UltralEdit 替换tips
  2. POJ 3009 Curling 2.0【带回溯DFS】
  3. php无刷新上传图片和文件
  4. 字符串相似度算法(编辑距离算法 Levenshtein Distance)(转)
  5. Apache Commons-pool实现对象池(包括带key对象池)
  6. hdu 5698 瞬间移动(排列组合)
  7. 让ImageView可以使用gif的方法
  8. UpdatePanel中执行js
  9. Apache配置多端口多站点
  10. LeetCode——Container With Most Water
  11. Win10下Mysql5.7.13,解压版安装流程
  12. js原生设计模式——2面向对象编程之闭包2
  13. FusionCharts Marimekko图
  14. 【转】避免全表扫描的sql优化
  15. mysql系列七、mysql索引优化、搜索引擎选择
  16. jdk安装和环境配置
  17. 便于理解mysql内幕的各种逻辑图组
  18. php 共享内存学习(APC扩展)
  19. Java语言常用的运算符和表达式详解
  20. string去空格方法

热门文章

  1. k8s之StatefulSet介绍(六)
  2. 如何测试Web服务.2
  3. Django如何与JQuery进行数据通信?
  4. Centos7-bond模式介绍
  5. 【Centos】桌面安装(转)
  6. Dart 库预览
  7. Docker网络配置、Docker部署分布式项目
  8. Linux 系统管理——进程和计划任务管理
  9. request和response文件下载案例
  10. 第09组 Alpha冲刺(6/6)