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

用GEOquery从GEO数据库下载数据--转载的更多相关文章

  1. 使用GEOquery下载GEO数据--转载

    最近需要下载一大批GEO上的数据,问题是我要下载的Methylation数据根本就没有sra文件,换言之不能使用Aspera之类的数据进行下载.但是后来我发现了GEOquery这个不错的R包,不知道是 ...

  2. python聚类算法解决方案(rest接口/mpp数据库/json数据/下载图片及数据)

    1. 场景描述 一直做java,因项目原因,需要封装一些经典的算法到平台上去,就一边学习python,一边网上寻找经典算法代码,今天介绍下经典的K-means聚类算法,算法原理就不介绍了,只从代码层面 ...

  3. 使用C#类向数据库添加数据的例子源码

    在上一篇中,增加了sql server数据库操作类SqlOperator,用于操作sql server数据库.还有一个SqlStringHelper类,用于处理sql语句的单引号.那么这两个类怎么使用 ...

  4. DIH增量、定时导入并检索数据--转载

    原文地址:http://www.ifunit.com/984/solr%E5%AD%A6%E4%B9%A0%EF%BC%88%E4%BA%94%EF%BC%89dih%E5%A2%9E%E9%87%8 ...

  5. 使用GEO数据库来筛选差异表达基因,KOBAS进行KEGG注释分析

    前言 本文主要演示GEO数据库的一些工具,使用的数据是2015年在Nature Communications上发表的文章Regulation of autophagy and the ubiquiti ...

  6. [转]Oracle如何实现创建数据库、备份数据库及数据导出导入的一条龙操作

    本文转自:http://www.cnblogs.com/wuhuacong/archive/2012/03/09/2387680.html Oracle中对数据对象和数据的管理,无疑都是使用PL/SQ ...

  7. SQL Server 2005 数据库复制(转载)

    对于一个地域分散的大型企业组织来说,构建具有典型的分布式计算机特征的大型企业管理信息系统时,总要解决一个很重要的问题:如何在多个不同数 据库服务器之间保证共享数据的一致性.之所以有这个重要的问题在于企 ...

  8. mongodb基础系列——数据库查询数据返回前台JSP(二)

    上篇博客论述了,数据库查询数据返回前台JSP.博客中主要使用Ajax调用来显示JSON串,来获取其中某一个字段,赋给界面中的某一个控件. 那这篇博客中,我们讲解,把后台List传递JSP展示. Lis ...

  9. C#实现从数据库读取数据到Excel

    用第三方组件:NPOI来实现 先去官网:http://npoi.codeplex.com/下载需要引入dll(可以选择.net2.0或者.net4.0的dll),然后在网站中添加引用.使用 NPOI ...

随机推荐

  1. ubuntu17升级到18.04

    问题描述: ubuntu不是LTS长期支持的版本在支持期过了,没有apt源提供支持.所以需要升级到对应的LTS版本 问题解决: 实验环境: ubuntu17.10--->ubuntu18.04. ...

  2. centos 服务器 nginx 负载均衡服务安装

    yum -y install gcc gcc-c++ autoconf automake libtool make cmake yum -y install zlib zlib-devel opens ...

  3. JVM存储位置分配——java中局部变量、实例变量和静态变量在方法区、栈内存、堆内存中的分配

    Java中的变量根据不同的标准可以分为两类,以其引用的数据类型的不同来划分可分为“原始数据类型变量和引用数据类型变量”,以其作用范围的不同来区分可分为“局部变量,实例变量和静态变量”. 根据“Java ...

  4. IDEA集成jacoco

    穷乡僻壤的人犯罪率低,不是因为他们高尚,而是因为没有选择:没有选择就不会有痛苦. --<黑冰·郭小鹏> 参考资料:https://www.jacoco.org/jacoco/trunk/d ...

  5. django项目后台权限管理功能。

    对后台管理员进行分角色,分类别管理,每个管理员登录账号后只显示自己负责的权限范围. 创建后台管理数据库 models.py文件内 # 管理员表 class Superuser(models.Model ...

  6. PAT 乙级 1003.我要通过! C++/Java

    1003 我要通过! (20 分) 题目来源 “答案正确”是自动判题系统给出的最令人欢喜的回复.本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则 ...

  7. httprunner学习16-locust性能测试

    前言 HttpRunner 的 yaml 脚本文件,可以结合locust做性能测试 locust环境准备 安装完成 HttpRunner 后,系统中会新增locusts命令,但不会同时安装 Locus ...

  8. 安卓QQ聊天记录导出、备份完全攻略

    发到知乎竟然被删掉,我也不知道我到底违反了哪条.唉,别人的毕竟是别人的.虽然博客园也是别人的 前言 我对聊天记录的备份比较执着,也在这上面折腾过不少.碰到过不少令人头疼的麻烦,在这里分享一下经验. 关 ...

  9. CF632E Thief in a Shop 和 CF958F3 Lightsabers (hard)

    Thief in a Shop n个物品每个价值ai,要求选k个,可以重复.问能取到哪几个价值? 1 ≤ n, k ≤ 1000,1 ≤ ai ≤ 1000 题解 将选一个物品能取到的价值的01生成函 ...

  10. Linux:使用awk命令获取文本的某一行,某一列;sed插入指定的内容到指定文件中

    awk相关用法: 1.打印文件的第一列(域)                 : awk '{print $1}' filename2.打印文件的前两列(域)                 : aw ...