本文来源 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