247-如何用服务器下载GEO数据

刘小泽写于2021.5.18 相信大家都有过下载GEO数据的需求,有时在R上,有时需要下载大量的数据,就得挂在服务器后台下载

首先获得GEO数据的路径

GEO的路径是非常有规律的,比如随便打开一个:https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE96583,最后的GSE号可以随意更换

它的处理结果是:

我们当然可以一个一个链接去复制,但是很麻烦,也不适合批量操作

接下来就是去找ftp的规律

当你在浏览器中输入:https://ftp.ncbi.nlm.nih.gov/geo/series

会发现大量的以GSE100nnn/ 为名称的文件夹

猜想我们这个GSE96583会是GSE96nnn,再进来:https://ftp.ncbi.nlm.nih.gov/geo/series/GSE96nnn

其中就有GSE96583:https://ftp.ncbi.nlm.nih.gov/geo/series/GSE96nnn/GSE96583/

它的文件结构是:

matrix/                 2021-05-13 05:11    -   
miniml/                 2021-05-13 05:11    -   
soft/                   2021-05-13 05:11    -   
suppl/                  2018-03-12 23:26    -   

其实也对应了网页上的:

总结规律:

  • 表达矩阵在:https://ftp.ncbi.nlm.nih.gov/geo/series/GSE96nnn/GSE96583/matrix/
  • miniml文件在:https://ftp.ncbi.nlm.nih.gov/geo/series/GSE96nnn/GSE96583/miniml/
  • soft文件在:https://ftp.ncbi.nlm.nih.gov/geo/series/GSE96nnn/GSE96583/soft/
  • 附件结果在:https://ftp.ncbi.nlm.nih.gov/geo/series/GSE96nnn/GSE96583/suppl/

最后就是下载

下载工具有很多种,比如wget、curl、axel等,我们这里就以wget为例

需要注意的是,我们在服务器下载,就不能直接用上面的https链接,需要换成ftp

简单粗暴下载是不可取的,需要借助一些参数

  • -r/--recursive :表示下载该路径下的所有文件

  • -np/--no-parent-nd :表示禁止下载任何父目录内容

  • 有时你下载的结果还多一个index.html文件,可以加上-R/--reject "index.html*"来禁止

  • -c :断点续传

比如:

# 下载表达矩阵
wget -c -r -np -nd -R "index.html*" ftp://ftp.ncbi.nlm.nih.gov/geo/series/GSE96nnn/GSE96583/matrix/

# 下载附件结果
wget -c -r -np -nd -R "index.html*" ftp://ftp.ncbi.nlm.nih.gov/geo/series/GSE96nnn/GSE96583/suppl/

Yunze Liu
Yunze Liu
Bioinformatics Sharer

Co-founder of Bioinfoplanet(生信星球)

Next
Previous

Related