GSE数据的使用很常见,我们最常用的就是直接登录进入GEO的官网进行相应链接的下载。
GEOquery
不过随着技术的发展,后面R包开发出了GEOquery包
其操作方式也很方便
# 以GSE164522为例
gse <- getGEO("GSE164522", GSEMatrix = TRUE)
# 提取表达矩阵
expr_matrix <- exprs(gse[[1]])
# 下载所有补充文件
getGEOSuppFiles("GSE164522")
不过这个包的最大问题就在于对于网络的要求很高,很容易出现下载中断的情况。
axel
目前来说大家接受度最广的就是通过服务器使用axel下载
当你使用 wget 下载一个大文件时,它通常只建立一个连接来下载,速度有时不尽如人意。而 axel 不一样,它会为一个文件建立多个连接(就像开了多个下载通道),同时下载文件的不同部分,最后再组合起来。
- 核心功能:多线程下载、断点续传、支持从多个镜像地址同时下载。
- 适用场景:特别适合在网络带宽不理想,或者想充分利用带宽加速下载大文件(比如GEO的单细胞测序数据、Linux ISO镜像等)时使用。
- 支持的协议:HTTP、HTTPS、FTP、FTPS
比如说我们想要下载GSE165816数据
axel -a -n 20 https://ftp.ncbi.nlm.nih.gov/geo/series/GSE165nnn/GSE165816/suppl/GSE165816_RAW.tar
GEO的FTP/HTTPS下载链接遵循一个固定的模式:
关键在于中间的 GSE165nnn 这个目录:
- 例如
GSE165816 → 前6位是 GSE165 → 加上 nnn → GSE165nnn
对于任何一个GSE编号,通用链接是:
https://ftp.ncbi.nlm.nih.gov/geo/series/${GSE_ID:0:6}nnn/${GSE_ID}/suppl/${GSE_ID}_RAW.tar
具体实例如下:
| |
|---|
| https://ftp.ncbi.nlm.nih.gov/geo/series/GSE165nnn/GSE165816/suppl/GSE165816_RAW.tar |
| https://ftp.ncbi.nlm.nih.gov/geo/series/GSE123nnn/GSE123456/suppl/GSE123456_RAW.tar |
| https://ftp.ncbi.nlm.nih.gov/geo/series/GSE987nnn/GSE98765/suppl/GSE98765_RAW.tar |
| https://ftp.ncbi.nlm.nih.gov/geo/series/GSE100nnn/GSE100500/suppl/GSE100500_RAW.tar |