比较悲催的是现在下不了,查了很多没有找到解决办法
ascp: Failed to open TCP connection for SSH, exiting.
Session Stop (Error: Failed to open TCP connection for SSH)
加上一个端口参数 -P 33001,貌似可以下载了(今天2019.5.23晚上在摸索下)
一、下载安装Aspera Connect
这两天学习生信技能树RNA-seq和scRNA-seq,直接下载sra网速太慢,就找了一下下载方法。
Linux系统下的Aspera Connect安装(Windows下的Aspera Connect安装参考)。
查看最新版本的Aspera - High-speed file transfer software - aspera connect https://downloads.asperasoft.com/en/downloads/8?list
1. 下载
mkdir biosoft && cd biosoft
nohup wget http://download.asperasoft.com/download/sw/connect/3.7.4/aspera-connect-3.7.4.147727-linux-64.tar.gz &
tar zxvf aspera-connect-3.7.4.147727-linux-64.tar.gz
2. 安装
bash aspera-connect-3.7.4.147727-linux-64.sh
3. 查看是否有.aspera文件夹
cd # 去根目录
ls -a # 如果看到.aspera文件夹,代表安装成功
4. 永久添加环境变量
echo 'export PATH=~/.aspera/connect/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
5. 查看帮助文档
ascp --help
二、下载sra数据
Aspera用法如下:
Usage: ascp [参数] 目标文件 保存路径
-v verbose mode 唠叨模式,能让你实时知道程序在干啥,方便查错。有些作者的程序缺乏人性化,运行之后,只见光标闪,压根不知道运行到哪了
-T 取消加密,否则有时候数据下载不了
-i 提供私钥文件的地址,不能少,地址一般是~/.aspera/connect/etc中的asperaweb_id_dsa.openssh文件
-l 设置最大传输速度,一般200m到500m,如果不设置,反而速度会比较低,可能有个较低的默认值
-k 断点续传,一般设置为值1
-Q 一般加上它
-P 提供SSH port,端口一般是33001,
SRA数据库下载:首先记住,数据的存放地址是
ftp-private.ncbi.nlm.nih.gov
,SRA在Aspera的用户名是anonftp
,下载举例:
如果我想下载
SRR949627.sra
文件,首先我需要找到地址,去ncbi ftp-private或者ncbi faspftp,一层层寻找,直至找到,然后复制链接地址,就可以开始下载了:
一般来说,NCBI的sra文件前面的地址都是一样的/sra/sra-instant/reads/ByRun/sra/SRR/...,那么写脚本批量下载也就不难了!
Step 1:建立sra文件夹保存下载序列
mkdir sra && cd sra
Step 2:下载SRA文件到sra文件夹
ascp -T -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh -k 1 -l 200m anonftp@ftp-private.ncbi.nlm.nih.gov:/sra/sra-instant/reads/ByRun/sra/SRR/SRR620/SRR6208854/SRR6208854.sra ~/sra/
ascp -v -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh -k 1 -T -l 200m anonftp@ftp-private.ncbi.nlm.nih.gov:/sra/sra-instant/reads/ByRun/sra/SRR/SRR949/SRR949627/SRR949627.sra ~/biostar/aspera/
Aspera批量下载SRA文件
很多时候需要同时下载多个SRA文件,ascp命令提供参数--file-list,用于批量下载SRA文件。
Step 1:建立SRA文件路径列表文件sra_list.txt
nano ~/sra/sra_list.txt
输入以下两行文本:
/sra/sra-instant/reads/ByRun/sra/SRR/SRR623/SRR6232298/SRR6232298.sra
/sra/sra-instant/reads/ByRun/sra/SRR/SRR623/SRR6232299/SRR6232299.sra
#按Ctrl+O,Ctrl+X保存退出
Step 2:批量下载sra_list.txt列表中的文件
ascp -T -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh -k 1 -l 200m --mode recv --host ftp-private.ncbi.nlm.nih.gov --user anonftp --file-list ~/sra/sra_list.txt ~/sra/
100s下载了近700M文件,平均速度超过60M/s
NA数据库下载:这里和上面不同,数据的存放地址是fasp.sra.ebi.ac.uk
,ENA在Aspera的用户名是era-fasp
,下载举例:
同样,我还是下载
SRR949627
,方便的是ENA中可以直接下载fastq.gz
文件,不用再从sra文件慢吞吞的转换了,那么地址呢,可以去ENA搜索,再复制下fastq.gz文件的地址,或者可以去ENA的ftp地址ftp.sra.ebi.ac.uk
搜索,注意,是ftp,不是fasp!记下链接地址,就可以下载了:
ascp -QT -l 300m -P33001 -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh era-fasp@fasp.sra.ebi.ac.uk:/vol1/fastq/SRR949/SRR949627/SRR949627_1.fastq.gz ~/biostar/aspera/
一般来说,EBI的sra文件前面的地址也都是一样的vol1/fastq/...,那么写脚本批量下载也就不难了!
三、国内下载遇到最多的报错Failed to open TCP connection for SSH, exiting. Session Stop (Error: Failed to open TCP connection for SSH)
考虑到大家经常,留言咨询这个报错;索性补充更新一下解决办法。
解决办法如下:
ascp: Failed to open TCP connection for SSH, exiting.
Session Stop (Error: Failed to open TCP connection for SSH)
官网给出的解决办法是:https://support.asperasoft.com/hc/en-us/articles/216126918-Error-44-UDP-session-initiation-fatal-error
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
参考
Aspera下载SRA文件 - weixin_34375251的博客 - CSDN博客 https://blog.csdn.net/weixin_34375251/article/details/88288453
使用aspera下载.fastq.gz和.sra数据 - 高锦的博客 - CSDN博客 https://blog.csdn.net/herokoking/article/details/78890567
用Aspera connect从NCBI上下载SRA格式数据 - Keep Learning - CSDN博客 https://blog.csdn.net/xubo245/article/details/50513201
nohup和&后台运行,进程查看及终止 - 弥尘 - 博客园 https://www.cnblogs.com/baby123/p/6477429.html