2020-05-11利用conda+aspera+prefetc
花了一个下午的时间,走了不少弯路,这个方法我觉得是最直接简便的,最后成功用几分钟下好1个G的数据的时候简直热泪盈眶
1.安装anaconda或者miniconda,我所有的步骤都是基于conda完成的
2.建立一个新的环境sradownload,以后每次进入这个环境下载就好了。服务器上装的还是过期的2.3版本的prefetch,我不太会卸,索性直接在自己的新环境下安装新版本
conda create -n sradownload
3.在新环境下安装prefetch和aspera,注意我写的版本!prefetch或者aspera版本太高太低了都不行,一定要合适!这是我试过的能成功的版本
conda install sra-tools=2.9.6 -y
conda install -c hcc aspera-cli=3.7.7
4. 安装好了以后,在这个环境下测试
prefetch -t ascp -a "/home/usr/anaconda3/envs/sradownload/bin/ascp|/home/usr/anaconda3/envs/sradownload/etc/asperaweb_id_dsa.openssh" SRR11111111
5. 完成!其实看别人的教程也有人直接用ascp就能下载的,不用搭配prefetch,我也试了一下NCBI官方文档(https://www.ncbi.nlm.nih.gov/books/NBK242625/)里的测试代码,其实是可以的。
ascp -T -k 1 -l 200M -i ~/anaconda3/envs/sradownload/etc/asperaweb_id_dsa.openssh anonftp@ftp.ncbi.nlm.nih.gov:1GB ./
6. 但关键是我找不到SRA的地址???为什么别人好像都可以比如下面,同样的代码,我来跑就是找不到地址啊,百般迷惑,进入NCBI存放数据的FTP目录下面也找不到sra-instant这个文件夹,不知道为什么
$ ~/.aspera/connect/bin/ascp -T -k 1 -l 200M -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh anonftp@ftp.ncbi.nlm.nih.gov:/sra/sra-instant/reads/ByStudy/sra/SRP/SRP004/SRP004493/SRR074387/ ./
7. 反正prefetch+aspera是不用具体的FTP地址的,只需要有个号码就行了,成功的示例如下,注意一定是fasp才算成功,常规情况是https,这种还是龟速