首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >GEO数据库中单细胞数据下载中断或太慢?多种下载/提速方法汇总

GEO数据库中单细胞数据下载中断或太慢?多种下载/提速方法汇总

原创
作者头像
凑齐六个字吧
发布2025-06-12 10:21:42
发布2025-06-12 10:21:42
57800
代码可运行
举报
文章被收录于专栏:分析工具分析工具
运行总次数:0
代码可运行

在GEO网站上直接点击下载数据时,可能会遇到下载中断或速度过慢的问题,此时可以尝试以下几种替代方法来获取数据。

1.GEOquery下载

经典GEOquery包,把timeout设置长一点

代码语言:javascript
代码运行次数:0
运行
复制
options(timeout = 6000000)  # 时间设置长一点
library(GEOquery) 
# 指定数据集的 accession number
accession_number <- "GSE277066"
getGEOSuppFiles(
  accession_number, # 
  makeDirectory = TRUE,
  baseDir = getwd(),
  fetch_files = TRUE,
  filter_regex = NULL
) 

getGEOSuppFiles(accession_number)
trying URL 'https://ftp.ncbi.nlm.nih.gov/geo/series/GSE277nnn/GSE277066/suppl//GSE277066_RAW.tar?tool=geoquery'
Content type 'application/x-tar' length 316456960 bytes (301.8 MB)

从这个URL(统一资源定位符,链接)可以看出,只要去掉末尾的 /GSE277066_RAW.tar?tool=geoquery 部分,就能得到该数据集的基础下载路径(https://ftp.ncbi.nlm.nih.gov/geo/series/GSE277nnn/GSE277066/suppl/)。通过这种方式,我们可以手动构建或获取 GEO 数据的下载链接。

2.curl下载文件

curl下载工具一般电脑会自带

代码语言:javascript
代码运行次数:0
运行
复制
curl -C - -O https://ftp.ncbi.nlm.nih.gov/geo/series/GSE242nnn/GSE242469/suppl/GSE242469_RAW.tar

nohup curl -C - -O https://ftp.ncbi.nlm.nih.gov/geo/series/GSE242nnn/GSE242469/suppl/GSE242469_RAW.tar > curl.log 2>&1 &

# 之后可以用
tail curl.log查看内容
  1. curl:命令行下载工具。
  2. -C -断点续传选项,意思是:如果之前下载了一部分文件,继续从断点处开始下载,避免重新下载已完成部分。
  3. -O:表示用远程文件名保存到本地
3.wget下载文件

安装wget

代码语言:javascript
代码运行次数:0
运行
复制
brew install wget

替换后面的下载链接,由于wget有递归下载功能,因此其可以抓取整个目录下所有链接的文件,也就是说其不需要指定特定文件夹,非常适合用于数据集中存在很多单独的文件。

代码语言:javascript
代码运行次数:0
运行
复制
wget -r -np -k -p -e robots=off https://ftp.ncbi.nlm.nih.gov/geo/series/GSE240nnn/GSE240839/suppl/

nohup wget -r -np -k -p -e robots=off https://ftp.ncbi.nlm.nih.gov/geo/series/GSE240nnn/GSE240839/suppl/ > wget.log 2>&1 &

# 之后可以用
tail wget.log查看内容
  1. wget:命令行下载工具。
  2. -r (--recursive):递归下载,不仅下载指定页面,还下载页面链接的内容。
  3. -np (--no-parent):不下载父目录的内容,限制递归只在指定目录及其子目录内,不会往上层目录爬取。
  4. -k (--convert-links):下载后转换页面中的链接,使得下载后的网页中链接指向本地文件,方便离线浏览。
  5. -p (--page-requisites):下载页面显示所需的所有资源,如图片、CSS、脚本等,确保页面完整显示。
  6. -e robots=off:忽略网站的 robots.txt 限制,强制爬取即使网站禁止机器人抓取的内容。 下载速度感觉挺慢的。
4.axel下载文件

安装axel

代码语言:javascript
代码运行次数:0
运行
复制
brew install axel

axel的优势在于其可以进行多线程下载,-n 20

代码语言:javascript
代码运行次数:0
运行
复制
axel -n 20 https://ftp.ncbi.nlm.nih.gov/geo/series/GSE271nnn/GSE271243/suppl/GSE271243_RAW.tar


nohup axel -n 20 https://ftp.ncbi.nlm.nih.gov/geo/series/GSE271nnn/GSE271243/suppl/GSE271243_RAW.tar > axel.log 2>&1 &
  1. axel:一个轻量级的多线程命令行下载工具,可以加快下载速度。
  2. -n 20:使用 20 个连接(线程) 并行下载这个文件。
参考资料:
  1. Linuxtools:https://linuxtools-rst.readthedocs.io/zh-cn/latest/index.html
  2. GEOquery:https://www.bioconductor.org/packages/release/bioc/html/GEOquery.html
  3. curl: https://github.com/curl/curl
  4. wget:https://linuxtools-rst.readthedocs.io/zh-cn/latest/tool/wget.html
  5. axel:https://github.com/axel-download-accelerator/axel
  6. 生信技能树:https://mp.weixin.qq.com/s/uEso7yRZB300MnMhSpXH_Q

:若对内容有疑惑或者有发现明确错误的朋友,请联系后台(欢迎交流)。更多相关内容可关注公众号:生信方舟

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.GEOquery下载
  • 2.curl下载文件
  • 3.wget下载文件
  • 4.axel下载文件
  • 参考资料:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档