安装
首先,到aspera网站下载你的操作系统对应的aspera connect。(如果选Linux,下载以后会是一个几M大,内嵌二进制代码的shell脚本。不需要root或者sudo权限,直接安装之: $ sh aspera-connect-2.4.7.
安装好以后,会在HOME目录下新建一个叫.aspera的目录,有两个文件比较重要:
一个是ascp的可执行文件: ~/.aspera/connect/bin/ascp
另一个ascp的密钥文件:(密钥文件每次下载时候需要用-i参数输入) ~/.aspera/connect/etc/asperaweb_id_dsa.putty
建议将密钥备份到HOME目录下方便使用: $ cp ~/.aspera/connect/etc/asperaweb_id_dsa.openssh ~/
或者是.putty结尾的文件(试下吧 哪个能下用哪个)
再把aspera-license复制到系统目录 ~/.aspera/connect/etc$ sudo cp aspera-license /usr/local/bin/
再把ascp可执行文件的路径加入PATH变量中 vim/etc/profile
在文档最后,添加: export PATH="目录:$PATH"
保存,退出,然后运行: source/etc/profile
使用
执行以下两条命令(注意最后要加点号“.”,表示当前目录)
从EBI下载: $ ascp -i ~/asperaweb_id_dsa.openssh era-fasp@:/vol1/fastq/SRR576/SRR576938/ .
从NCBI下载: $ ascp -i ~/asperaweb_id_dsa.putty anonftp@:/sra/sra-instant/reads/ByRun/litesra/SRR/SRR096/SRR096072/ .
这个时候的速度相比于wget,应该已经很快了,大约能达到9Mb/s以上,如果还嫌慢,可以在-i 参数的前面添加几项设置,像这样: ascp -QT -l 100M -i ~/asperaweb_id_dsa.openssh era-fasp@:/vol1/ERA012/ERA012008/sff/library08_GJ6U61T06.sff
这样可以将速度提高到20Mb/s左右,偶尔能达到100Mb/s。
ascp下载地址的获取
以EBI上的SRR346368这套数据为例。首先到EBI页面里,找到你想要下载的文件,将指针移到这个文件的”ftp”这一列,即可看到其ftp地址,例如: ftp:///vol1/fastq/SRR346/SRR346368/,
然后呢:将 ftp:// 换成 era-fasp@:即可: $ ascp -i ~/asperaweb_id_dsa.putty era-fasp@:/vol1/fastq/SRR346/SRR346368/ .
NCBI的SRA数据库也是同样的方法,即可获取其ascp下载地址。
可能的报错
ascp: Failed to open TCP connection for SSH, exiting.
Session Stop (Error: Failed to open TCP connection for SSH)
On many Linux systems the default firewall can be configured with iptables. You will have to allow all incoming and outgoing traffic on UDP port 33001 (or whatever your Aspera UDP port is), which you can do with the following commands:
# iptables -I INPUT -p tcp --dport 33001 -j ACCEPT
# iptables -I OUTPUT -p tcp --dport 33001 -j ACCEPT