做生物信息研究的朋友,是不是都遇到过这种情况?从 GEO 或 TCGA 下数据,要么下到一半断了,要么速度慢得像蜗牛爬;好不容易下下来了吧,打开一看格式乱七八糟,跟自己分析软件不兼容,真是能把人急死。今天小编就把压箱底的经验拿出来,教大家怎么搞定这两个头疼问题,亲测有效,一起往下看吧!
先解决下载慢的问题,这几招超实用
不管是 GEO 还是 TCGA,数据量大是出了名的,尤其是 TCGA 的癌症数据集,动辄几十 G,下载起来确实费劲。但找对方法,速度能快不少。
先说 GEO 数据库。直接在官网点下载按钮,有时候速度特别慢,尤其是国内网络。小编常用这两个办法:
- 用迅雷之类的多线程下载工具:把 GEO 的下载链接复制到迅雷里,它能分成好几个线程同时下,速度能翻两三倍。之前下一个 5G 的数据集,浏览器下要 4 个小时,用迅雷不到 1 小时就搞定了。
- 用 R 语言的 GEOquery 包直接拉数据:熟手可以试试这个,在 R 里输入代码 “getGEO (“GSEXXXX”, destdir=”.”)”,就能直接把数据下载到本地文件夹,有时候比浏览器稳定多了。有个师兄分享说,他用这种方法下跨国数据,很少断连。
再说说 TCGA,它的下载慢更让人头疼,毕竟文件更大。小编推荐这两个办法:
- 必须用官方的 GDC Data Transfer Tool:这工具是 TCGA 官方出的,专门用来批量下载数据,支持断点续传。安装好后,把从 GDC 网站导出的 manifest 文件导进去,点开始就能自动下,晚上睡觉前开着,早上起来基本就下完了。
- 找国内镜像站:现在国内有些机构会同步 TCGA 的数据,比如 UCSC Xena 的国内镜像,在上面下数据跟下本地文件似的,速度飞快。不过镜像可能不是实时更新的,对时效性要求高的话还是得用官方工具。
提醒一句,下载的时候最好避开网络高峰,比如工作日的 9 点到 11 点,那时候大家都在抢带宽,速度肯定慢。凌晨或者半夜下,体验会好很多。
格式不兼容?别急,这样转就对了
下完数据只是第一步,格式不对才真让人崩溃。GEO 和 TCGA 的格式五花八门,跟后续的 R、Python 或者 GraphPad 这些工具经常 “打架”,小编总结了最常见的几种情况和解决办法。
先处理 GEO 的数据格式。GEO 里最常见的是 CEL 文件和 Series Matrix 文件:
- CEL 文件:这种是原始芯片数据,用 Excel 打不开,必须用专门的软件。新手可以用 Affymetrix Power Tools(APT)转换成文本格式,或者直接在 R 里用 affy 包读取,代码也简单,“read.celfiles (“文件名”)” 就行,转换成表达式矩阵后就能直接用了。
- Series Matrix 文件:这种是预处理过的文本文件,用 Excel 打开会乱码,因为分隔符不对。可以先在记事本里打开,另存为 CSV 格式,再用 Excel 打开就正常了;导入 R 的话更简单,用 read.delim 函数直接读,省得转格式。
再看 TCGA 的数据,它的格式更复杂,尤其是 RNA-seq 和突变数据:
- RNA-seq 数据:下载下来的是一堆压缩文件,里面是 HTSeq-FPKM 或者 HTSeq-Counts 格式。直接解压后是文本文件,但基因名和样本名的格式很特别。小编一般用 R 的 TCGAbiolinks 包,它能自动把这些文件转换成标准的表达矩阵,还能顺便把样本 ID 转换成易懂的格式,省了超多功夫。
- 突变数据(MAF 文件):这种格式专门记录基因突变信息,用普通表格软件打开会错位。推荐用 maftools 包处理,能直接读取 MAF 文件,还能画突变图谱,特别方便。有个做乳腺癌研究的师姐说,她以前手动整理 MAF 文件,一天才能弄好一个数据集,用这个包半小时就搞定了。
还有些小技巧,老手可别错过
除了上面说的方法,还有些细节能让效率更高:
- 下载前先看清楚数据大小,小文件(几百 M 以内)用浏览器或迅雷就行,大文件(1G 以上)一定要用专用工具,不然很容易断。
- 格式转换时,尽量用 R 或 Python 的专用包,比手动转换准确率高多了。小编见过有人手动改基因名,结果改错了好几个,后面分析全白做了。
- 建个专门的文件夹分类存放数据,比如 “GEO_肺癌”、“TCGA_肝癌”,每个文件夹里再分 “原始数据” 和 “处理后数据”,找的时候一目了然,不会乱。
论坛上有位老师分享过,他团队以前处理 10 个数据集要花 3 天,用对方法后一天就能搞定,还没出错。其实这些问题看着难,多试几次就熟了,刚开始慢没关系,慢慢就找到窍门了。
小编最后想说,下载慢和格式不兼容确实是家常便饭,但别被它们吓住。按今天说的方法一步步来,多积累点经验,以后处理数据会越来越顺。要是试的时候遇到新问题,欢迎在评论区交流,咱们一起想办法解决!