最近(2020年以来),Aspera(ascp)无法从NCBI下载SRA了,但是可以用ENA下载。现在以(SRR10609482)为例,官方教程在此:
版本问题
目前 Aspera(ascp)最新的是4.2.X版,但是它有个问题是不存在 .aspera/connect/etc/asperaweb_id_dsa.openssh
这个文件,所以需要找老版本。遗憾的是官网下载老版本需要注册登录账号,因此这里提供一个 URL 解析的结果,下载 3.11.2 版:
https://d3gcli72yxqn2z.cloudfront.net/connect/bin/ibm-aspera-connect-3.11.2.63-linux-g2.12-64.tar.gz
步骤
获取准确链接
访问https://www.ebi.ac.uk/ena/browser/view/SRR10609482,获取准确链接如下:
ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR106/082/SRR10609482/SRR10609482_1.fastq.gz
ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR106/082/SRR10609482/SRR10609482_2.fastq.gz
可以看出中间出现了一个奇怪的三位数082。
打开防火墙33001端口
-I INPUT -p tcp --dport 33001 -j ACCEPT
-I OUTPUT -p tcp --dport 33001 -j ACCEPT
下载
ascp -P 33001 -v -k 1 -T -l 300m -i XXX/.aspera/connect/etc/asperaweb_id_dsa.openssh [email protected]:/vol1/fastq/SRR881/002/SRR8815512/SRR8815512_1.fastq.gz .
# 注意最后一个参数(.)不要忘记了(指下载目标路径)
这样子还有一个好处:下载下来的就是gzip压缩的FASTQ,无需从SRA解压。
那么,中间那个奇怪的三位数是什么?
感觉规律是:
如果SRR后面是八位数,则它是0+SRR ID的最后两位,例如SRR10609482的中间三位数就是082。
如果SRR后面是七位数,则它是00+SRR ID的最后一位。例如SRR8815512的中间三位数就是002。
是否确定如此,目前我也没把握。
如果遇到错误?
如果看到下列错误:
Session Stop (Error: Failed to open TCP connection for SSH)
ascp: Failed to open TCP connection for SSH, exiting.
这是说明对方服务器抽风了,等一段时间(有时是几个小时,有时是几天)即可。
ERR 和 DRR
还有些 ID 是 ERR 或 DRR 开头。ERR 与 SRR 规则一致,DRR 则没有中间三位数,因此比较简单。例如 DRR413624 的 URL 是:/vol1/fastq/DRR413/DRR413624/DRR413624_1.fastq.gz