使用GEOquery下载GEO数据--转载
最近需要下载一大批GEO上的数据,问题是我要下载的Methylation数据根本就没有sra文件,换言之不能使用Aspera之类的数据进行下载。但是后来我发现了GEOquery这个不错的R包,不知道是网络问题还是怎么,GEOquery有时候运行也不太稳定,但是总体来说,很好地解决了我的问题。
首先假设我们想要下载的数据是GSE77445,这是一批DNA甲基化数据,我们可以在R语言中安装GEOquery之后,载入R包,然后直接输入:
Data <- getGEO("GSE77445",destdir="./")
- 1
我也没有太多研究,但是上述代码中,前一个参数就是你想要下载的GSE编号,后一个参数不能省略,是你指定的文件下载保存的路径。GEOquery其实也就是自动把文件下载下来,然后进行载入分析而已。
在命令输入之后,会自动开始下载一些Seriers数据(比如GSE77445_series_matrix.txt.gz),我也不知道为什么为什么它会自动下载这个文件。然后理论上程序会自动进行处理。整个过程非常漫长,估计要将近一个小时的样子,这还只是一个300M不到的小数据集。
然后如果顺利的话,你这一行命令可以顺利跑完,你会得到处理好的Data,但是这个数据还是一个S4结构体,并不是我们想要的矩阵研究形式。所以你可以用下面的代码获得相应的矩阵和样本数据:
myMatrix <- Data@GSE77445_series_matrix.txt.gz@assayData$exprs
myPDfile <- pData(phenoData(Data@GSE77445_series_matrix.txt.gz))
另外在一些时候,文件下载完以后,就会出现错误,但是在那种时候,文件其实已经被下载到了你指定的目录下了,如果是那样的话,你可以重新载入这个已经下载好的文件:
Data <- getGEO(filename="./GSE77445_series_matrix.txt.gz")
- 1
这一次就不需要加入目录参数,然后又需要过好久好久,程序一般就不会失败了,在处理完以后,用 下面两行代码获取矩阵数据和样本数据:
myMatrix <- Data@assayData$exprs
myPDfile <- pData(phenoData(Data))
- 1
- 2
经过我的测试,我用上述办法下载了十多套DNA甲基化数据,基本上还是很可靠的。但是有时候下载的series_matrix数据其实不能用,例如GSE77716这一套就不能用,这种就没有办法了,我唯一会的办法,就是从网站上去下载其他原格式数据,例如作者上传上去的Matrix或者Raw IDAT数据。
不过所谓不能用更多情况下是因为数据内不包含矩阵数据,一般来说都会包含有样本的数据,我下载的所有系列数据不一定都成功了,但是样本数据都有。如果你实在没有办法整理出起样本数据,这也不失为一个办法……
不得不吐槽一句,GEO我也是看的醉了……数据格式每一套都不一样,更要命的是有些数据下载下来都看不懂是什么鬼。有些提供了Raw IDAT文件的,又不提供Sample.csv文件,处理起来费时费力。
我是真的觉得学术界应该花点力气做一些整理规范工作……Biocondcutor就是这其中的翘楚案例。
另外我一直想下载一批较大的GEO数据:GSE87571,想要最原始的那一批6.1G大小的IDAT文件,但是一直都无法下载下来。有知道更好的办法的同学可以告诉我一下。
使用GEOquery下载GEO数据--转载的更多相关文章
- GEO数据下载分析(SRA、SRR、GEM、SRX、SAMN、SRS、SRP、PRJNA全面解析)
很多时候我们需要从GEO(https://www.ncbi.nlm.nih.gov/geo/)下载RNA-seq数据,一个典型的下载页面是https://www.ncbi.nlm.nih.gov/ge ...
- 解决Ubuntu“下载额外数据文件失败 ttf-mscorefonts-installer”的问题 (转载)
解决Ubuntu“下载额外数据文件失败 ttf-mscorefonts-installer”的问题 发表于 2017-09-15 | 更新于 2018-04-29 | 分类于 Linux | 评论数: ...
- 2. 在TCGA中找到并下载意向数据
听说过别人用生信分析"空手套白狼"的故事吧想做吗好想学哦~ 或多或少都知道GEO和TCGA这些公共数据库吧!那么你知道怎么在数据库上找到意向数据,并且成功下载呢?这第一步要难倒一大 ...
- ubuntu 下载额外数据不成功”的恼人提示通知
最近用Ubunt也遇到这个问题,搜到这个答案 参考原文链接: http://forum.ubuntu.org.cn/viewtopic.php?t=387865 2.移除“下载额外数据不成功”的恼人提 ...
- Android开发之从网络URL上下载JSON数据
网络下载拉取数据中,json数据是一种格式化的xml数据,非常轻量方便,效率高,体验好等优点,下面就android中如何从给定的url下载json数据给予解析: 主要使用http请求方法,并用到Htt ...
- 移除Ubuntu“下载额外数据不成功”的提示通知
参考自经过几天的摸索,终于得出安装flashplugin-installer的方法 移除"下载额外数据不成功"的恼人提示通知,方法: $cd /usr/share/package- ...
- java开发的web下载大数据时的异常处理
同事用java开发了一个系统,其中有一个功能是下载大约10万笔数据到Excel中.当上线后,很多用户反映下载数据量大的时候就不能成功,但有时可以,所以结论就是系统不稳定,这个问题拖了很久没有解决. 在 ...
- NCBI下载sra数据(新)
今天要上NCBI下载sra数据发现没有下载的链接,网上查发现都是老的方法,NCBI页面已经变更,于是看了NCBI的help,并且记录下来新版的sra数据下载方法,要用NCBI的工具SRA Tool ...
- ajax stream 一边下载二进制数据一边处理
最近有在做 stream 下载,并且边下载 stream 边处理功能.解析二进制的功能.最初参考了 flv.js 的 flv stream 下载处理功能,发现他并没有使用的 XMLHttpReques ...
随机推荐
- Guess Your Way Out! II---cf 558D (区间覆盖,c++STL map 的使用)
题目链接:http://codeforces.com/contest/558/problem/D 题意就是有一个二叉树高度为 h ,人站在根节点上,现在要走出去,出口在叶子节点上,有 q 条信息,每条 ...
- Mybatis框架学习总结-Mybatis框架搭建和使用
Mybatis介绍 Mybatis是一个支持普通SQL查询,存储过程,和高级映射的优秀持久层框架.Mybatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.Mybatis可以使 ...
- Installshield 宏定义控制版本
定义宏 在Build =>Setting => 以空格为准定义宏 使用宏 在方法里 #if 宏名称 代码 #else 代码 #endif
- JAVA math包
Math类: java.lang.Math 类中包含基本的数字操作,如指数.对数.平方根和三角函数. java.math是一个包,提供用于执行任意精度整数(BigInteger)算法和任意精度小数(B ...
- 20165324 《Java程序设计》 第六周
学号 2016-2017-2 <Java程序设计>第六周学习总结 教材学习内容总结 第八章 常用实用类 String类 构造String对象:常量对象:String对象:引用String常 ...
- HALCON串口通讯程序
串口通讯程序 * Note: This example is meant to demonstrate the use of the serial interface * of HALCON. ...
- jmeter接口测试实战
请求方法:get/post 接口请求地址:http://172.22.24.26:8080/fundhouse/external/getdata?name=xxxx &fund_udid=35 ...
- python中变量的交换
a=4 b=5 #第一种 c=0 c=a a=b b=c print('a=%d,b=%d'%(a,b)) #第二种 a=a+b b=a-b a=a-b print('a=%d,b=%d'%(a,b) ...
- hadoop streaming anaconda python 计算平均值
原始Liunx 的python版本不带numpy ,安装了anaconda 之后,使用hadoop streaming 时无法调用anaconda python , 后来发现是参数没设置好... 进 ...
- 101. Symmetric Tree(判断二叉树是否对称)
Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center). For ...