Ubuntu下Aspera connect的安装与使用

本文来源 http://www.chenlianfu.com/?p=2319,稍有更改。
Aspera connect是高效传输软件,可在 http://downloads.asperasoft.com/en/downloads/8?list 进行下载安装。

  • 安装Aspera connect

$ sudo mkdir /usr/local/src/aspera_connect 
$ tar -zxvf aspera-connect-3.6.2.117442-linux-64.tar.gz  -C /usr/local/src/aspera_connect
$ cd /usr/local/src/aspera_connect/ ; sh aspera-connect-3.6.2.117442-linux-64.sh
$ echo "alias acsp=/home/sxuan/.aspera/connect/bin/ascp"  >>  ~/.bashrc 
$ source ~/.bashrc 
$ ascp --help
  • Aspera connect 的使用

Aspera的用法:
$ ascp [参数] 目标文件 目的地址
Aspera的常用参数:
-T      不进行加密。若不添加此参数,可能会下载不了。
-i string     输入私钥,安装 aspera 后有在目录 ~/.aspera/connect/etc/ 下有几个私钥,使用 linux 服务器的时候一般使用 asperaweb_id_dsa.openssh 文件作为私钥。
--host=string       ftp的host名,NCBI的为ftp-private.ncbi.nlm.nih.gov;EBI的为fasp.sra.ebi.ac.uk。
--user=string       用户名,NCBI的为anonftp,EBI的为era-fasp。
--mode=string     选择模式,上传为 send,下载为 recv。
-l string        设置最大传输速度,比如设置为 200M 则表示最大传输速度为 200m/s。若不设置该参数,则一般可达到10m/s的速度,而设置了,传输速度可以更高。
利用ascp下载SRA数据
wget/FTP root: ftp://ftp-trace.ncbi.nih.gov     #利用wget或者FTP进行下载
ascp root: anonftp@ftp.ncbi.nlm.nih.gov:        #利用ascp进行下载后对应的地址需更改为相应的即可

后面的路径为:
/sra/sra-instant/reads/ByRun/sra/{SRR|ERR|DRR}/<first 6 characters of accession>/<accession>/<accession>.sra
利用wget或者FTP SRR304976 :
wget/FTP ftp://ftp-trace.ncbi.nih.gov/sra/sra-instant/reads/ByRun/sra/SRR/SRR304/SRR304976/SRR304976.sra
利用ascp下载SRR304976 :
ascp -i [path_to_Aspera_key]/asperaweb_id_dsa.openssh -k 1 -T -l 200m anonftp@ftp-private.ncbi.nlm.nih.gov:/sra/sra-instant/reads/ByRun/sra/SRR/SRR304/SRR304976/SRR304976.sra [local_target_directory]

  • ascp无法使用时该怎么办

由于ascp使用的下载通道与传统的ftp,wget以及sra_tools的prefetch不同,有些数据可能没有及时同步,因此使用ascp时可能会出现Session Stop (Error: Server aborted session: No such file or directory)的情况。
如果你安装并设置了 Aspera Connect,那么prefetch会优先使用ascp方式来下载,如果没有安装或则ascp下载失败,则切换成 HTTP 方式下载 sra 数据。另外fastq-dump命令也能从远端直接下载数据,加上-X 1参数,会预先下载最前的5个 reads,加上-Z参数,则会将这些 reads 打印到终端输出。

$ prefetch -v SRR2854733   
$ fastq-dump -X 1 -Z SRR2854733
#需要注意的是:

在ubuntu的默认PATH中的prefetch是version 2.5.3,由于NCBI的http变更为了https,故默认安装方式apt install sra-toolkit的prefetch不可用,需要去https://trace.ncbi.nlm.nih.gov/Traces/sra/sra.cgi?view=software下载最新版本手动安装:

$ sudo mkdir /usr/local/src/sratoolkit ; sudo tar -zxvf sratoolkit.2.8.1-ubuntu64.tar.gz -C /usr/local/src/sratoolkit
/usr/local/src/sratoolkit/sratoolkit.2.8.1-ubuntu64/bin$ ./vdb-config -i                #配置sratoolkit
$ echo "alias prefetch=/usr/local/src/sratoolkit/sratoolkit.2.8.1-ubuntu64/bin/prefetch.2.8.1" >> ~/.bashrc
$ echo "alias fastq-dump=/usr/local/src/sratoolkit/sratoolkit.2.8.1-ubuntu64/bin/fastq-dump.2.8.1" >> ~/.bashrc 
$ source ~/.bashrc
  • 使用shell脚本更方便的使用ascp,可编写如下脚本ascp.sh

#!/bin/bash
SRA=$1
DIR=$2 
ascp -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh -k 1 -T -l 200m anonftp@ftp.ncbi.nlm.nih.gov:/sra/sra-instan    t/reads/ByRun/sra/SRR/${SRA:4:6}/${SRA}/${SRA}.sra ${DIR}

然后使用alias命令别名:

echo alias asp="/home/sxuan/scripts/ascp.sh"  > ~/.bashrc
. .bashrc
#之后便可以直接使用下面命令下载
asp SRR2854733 download_dir

推荐阅读更多精彩内容