使用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 ...
随机推荐
- centos7虚拟机克隆
第一步:克隆 打开VMware,确认已经完成安装配置的centos7虚拟机在关闭状态. 右键点击虚拟机,选择“管理”-“克隆” 原始虚拟机名称为“master”,IP地址为“192.168.80.10 ...
- django允许外部访问
默认方法启动django python manage.py runserver 这时启动的服务只能在本机访问,这是因为服务只向本机(127.0.0.1:8000)提供,所以局域网的其他机器不能访问. ...
- python在处理CSV文件时,字符串和列表写入的区别
概述 Python在处理CSV文件时,如果writerow的对象是<type 'unicode'>字符串时,写入到CSV文件时将会出现一个字符占一个单元格的情况: 但是将字符串转换为列表类 ...
- Python高级特性(3): Classes和Metaclasses(转)
原文:Python高级特性(3): Classes和Metaclasses 类和对象 类和函数一样都是Python中的对象.当一个类定义完成之后,Python将创建一个“类对象”并将其赋值给一个同名变 ...
- app后端设计(0)--总目录(转)
原文:http://blog.csdn.net/newjueqi/article/details/19003775 做了接近两年app相关的系统架构,api设计,先后在两个创业公司中工作,经历过手机网 ...
- tornado调用ioloop TracebackFuture实现非堵塞的模块
转载http://xiaorui.cc/2014/11/26/tornado调用ioloop-tracebackfuture实现非堵塞的模块/ 当然实现的方法,还是存在点问题的, 但是最少流程是跑通了 ...
- Python之OS模块函数
函数列表: 1 os.sep:取代操作系统特定的路径分隔符 os.name:指示你正在使用的工作平台.比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'. os. ...
- PHP 语言结构(Language constructs)和函数的区别
相信大家经常看到对比一些PHP应用中,说用isset() 替换 strlen(),isset比strlen执行速度快等. 例子: if ( isset($username[5]) ) { // The ...
- Delphi APP 開發入門(七)通知與雲端推播
Delphi APP 開發入門(七)通知與雲端推播 分享: Share on facebookShare on twitterShare on google_plusone_share 閲讀次數: ...
- Tornado 自定义Form,session实现方法
一. 自定义Tornado 验证模块 我们知道,平时在登陆某个网站或软件时,网站对于你输入的内容是有要求的,并且会对你输入的错误内容有提示,对于Django这种大而全的web框架,是提供了form表单 ...