用GEOquery从GEO数据库下载数据--转载
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号下载数据时候,返回的对象还不一样!
首先是下载和加载包:
- source("http://www.bioconductor.org/biocLite.R")
- biocLite("GEOquery")
- 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)可以得到描述信息
- options(warn=-1)
- suppressMessages(library(GEOquery))
- gds858 <- getGEO('GDS858', destdir=".")
- names(Meta(gds858))
- Table(gds858)[1:5,1:5]
然后还可以用 GDS2eSet函数把它转变为expression set 对象
- eset <- GDS2eSet(gds858, do.log2=TRUE)
下载GSE返回的对象
也就是直接根据GSE号返回的对象:gse1009
我们的处理函数有:geneNames/sampleNames/pData/exprs(这个是重点,对expression set 对象的操作函数)
下载GPL返回的对象
但是根据GPL号下载返回的对象跟GDS一样,也是用Table/Meta处理!
- options(warn=-1)
- suppressMessages(library(GEOquery))
- gpl96 <- getGEO('GPL96', destdir=".")
- names(Meta(gpl96))
- Table(gpl96)[1:10,1:4]
- ##下面这个就是芯片ID的基因注释信息
- Table(gpl96)[1:10,c("ID","GB_LIST","Gene.Title","Gene.Symbol","Entrez.Gene")]
getGEO除了可以下载数据,还可以打开本地数据!
- gds858 <- getGEO(filename=‘GDS858.soft.gz’)
还可以下载所有的cel原始文件!
- tmp=getGEOSuppFiles(GSE1009)
- if (is.null(tmp)) {
- warning("Supplementary data files not provided!\nyou should check this GEO ID in NCBI\n")
- }
用GEOquery从GEO数据库下载数据--转载的更多相关文章
- 使用GEOquery下载GEO数据--转载
最近需要下载一大批GEO上的数据,问题是我要下载的Methylation数据根本就没有sra文件,换言之不能使用Aspera之类的数据进行下载.但是后来我发现了GEOquery这个不错的R包,不知道是 ...
- python聚类算法解决方案(rest接口/mpp数据库/json数据/下载图片及数据)
1. 场景描述 一直做java,因项目原因,需要封装一些经典的算法到平台上去,就一边学习python,一边网上寻找经典算法代码,今天介绍下经典的K-means聚类算法,算法原理就不介绍了,只从代码层面 ...
- 使用C#类向数据库添加数据的例子源码
在上一篇中,增加了sql server数据库操作类SqlOperator,用于操作sql server数据库.还有一个SqlStringHelper类,用于处理sql语句的单引号.那么这两个类怎么使用 ...
- 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 ...
- 使用GEO数据库来筛选差异表达基因,KOBAS进行KEGG注释分析
前言 本文主要演示GEO数据库的一些工具,使用的数据是2015年在Nature Communications上发表的文章Regulation of autophagy and the ubiquiti ...
- [转]Oracle如何实现创建数据库、备份数据库及数据导出导入的一条龙操作
本文转自:http://www.cnblogs.com/wuhuacong/archive/2012/03/09/2387680.html Oracle中对数据对象和数据的管理,无疑都是使用PL/SQ ...
- SQL Server 2005 数据库复制(转载)
对于一个地域分散的大型企业组织来说,构建具有典型的分布式计算机特征的大型企业管理信息系统时,总要解决一个很重要的问题:如何在多个不同数 据库服务器之间保证共享数据的一致性.之所以有这个重要的问题在于企 ...
- mongodb基础系列——数据库查询数据返回前台JSP(二)
上篇博客论述了,数据库查询数据返回前台JSP.博客中主要使用Ajax调用来显示JSON串,来获取其中某一个字段,赋给界面中的某一个控件. 那这篇博客中,我们讲解,把后台List传递JSP展示. Lis ...
- C#实现从数据库读取数据到Excel
用第三方组件:NPOI来实现 先去官网:http://npoi.codeplex.com/下载需要引入dll(可以选择.net2.0或者.net4.0的dll),然后在网站中添加引用.使用 NPOI ...
随机推荐
- 面试常问的join
少壮不努力,老大徒伤悲 工作大半辈子了,来到个陌生的过度,从零开始,像个应届毕业生一样投入茫茫人才市场,碰的满头包. 凡是涉及到sql server的都会问,join的问题,不烦记录下: SQL的jo ...
- Plan B
王兴曾经说过: 2019 年是过去 10 年中最差的一年,也是未来 10 年中最好的一年. 之前我希望王兴预判错了,但现在我发现这位掌控着生活消费类数据的大佬应该不是扯淡. 今年的内部和外部环境真的很 ...
- Fedora 29 安装 GitBook 教程
Fedora 29 安装 GitBook 教程 本文原始地址:https://sitoi.cn/posts/53731.html 安装 nvm 安装 nvm curl -o- https://raw. ...
- Beta冲刺第6次
二.Scrum部分 1. 各成员情况 翟仕佶 学号:201731103226 今日进展 新增图像拼接合并功能 存在问题 无 明日安排 视情况而定 截图 曾中杰 学号:201731062517 今日进展 ...
- PAT 乙级 1010.一元多项式求导 C++/Java
设计函数求一元多项式的导数.(注:xn(n为整数)的一阶导数为nxn−1.) 输入格式: 以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数).数字间以空格分隔. ...
- lxml获取结点属性整并转换为字典参数
#-*- coding: UTF- -*- from lxml import etree source = u''' <div><p ">测试数据1</p> ...
- 浅析前端BFC布局
一.常见定位方案 二.BFC 概念 BFC 即 Block Formatting Contexts (块级格式化上下文),它属于上述定位方案的普通流. 它是一个独立的渲染区域,只有Block-leve ...
- 31、Python程序中的协程操作(greenlet\gevent模块)
一.协程介绍 协程:是单线程下的并发,又称微线程,纤程.英文名Coroutine.一句话说明什么是协程:协程是一种用户态的轻量级线程,即协程是由用户程序自己控制调度的. 对比操作系统控制线程的切换,用 ...
- hive创建表
一.为什么要创建分区表 1.select查询中会扫描整个表内容,会消耗大量时间.由于相当多的时候人们只关心表中的一部分数据, 故建表时引入了分区概念. 2.hive分区表:是指在创建表时指定的part ...
- 从Swift桥接文件到Clang-LLVM
http://blog.csdn.net/u014795020/article/details/72514109 前言 今天在Swift工程中不小心创建了一个OC文件,于是乎提示我创建一个桥接文件,那 ...