- 安装Aspera
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
#安装
bash aspera-connect-3.7.4.147727-linux-64.sh
# 然后cd到根目录下看看是不是存在了.aspera文件夹,有的话表示安装成功
cd && ls -a
# 将aspera软件加入环境变量,并激活
echo 'export PATH=~/.aspera/connect/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
# 最后检查ascp是不是能用了
ascp --help
Aspera的常用参数:
-v verbose mode 唠叨模式,能让你实时知道程序在干啥,方便查错。有些作者的程序缺乏人性化,运行之后,只见光标闪,压根不知道运行到哪了
-k 断点续传,一般设置为值1
-Q 不懂,一般加上它
-P 提供SSH port,一般是33001,反正我不懂
-T
不进行加密。若不添加此参数,可能会下载不了。
-i string
输入私钥,安装 aspera 后有在目录 ~/.aspera/connect/etc/ 下有几个私钥,使用 linux 服务器的时候一般使用 ~/.aspera/connect/etc中的asperaweb_id_dsa.openssh 文件作为私钥。
--host=string
ftp的host名,NCBI的为ftp-private.ncbi.nlm.nih.gov;EBI的为fasp.sra.ebi.ac.u
--user=string
用户名,NCBI的为anonftp,EBI的为era-fasp。
--mode=string
选择模式,上传为 send,下载为 recv。
-l string
设置最大传输速度,比如设置为 200M 则表示最大传输速度为 200m/s。若不设置该参数,则一般可达到10m/s的速度,而设置了,传输速度可以更高。
ascp使用举例
SRA数据库下载:首先记住,数据的存放地址是ftp-private.ncbi.nlm.nih.gov
,SRA在Aspera的用户名是anonftp
,下载举例:
- 如果我想下载
SRR949627.sra
文件,首先我需要找到地址,去ncbi ftp-private或者ncbi faspftp,一层层寻找,直至找到,然后记下链接地址,就可以开始下载了:
ascp -v -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh -k 1 -T -l200m anonftp@ftp-private.ncbi.nlm.nih.gov:/sra/sra-instant/reads/ByRun/sra/SRR/SRR949/SRR949627/SRR949627.sra ~/biostar/aspera/
注意:anonftp@ftp-private.ncbi.nlm.nih.gov后面是:号,不是路径/!
一般来说,NCBI的sra文件前面的地址都是一样的/sra/sra-instant/reads/ByRun/sra/SRR/...,那么写脚本批量下载也就不难了!
附:NCBI 地址构成:
ftp://ftp.ncbi.nlm.nih.gov/sra/sra-instant/reads/ByRun/sra/SRR/SRR+登陆号前三位数字(550)+/SRR+完整登陆号(554360)
ENA数据库下载:这里和上面不同,数据的存放地址是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/
注意:era-fasp@fasp.sra.ebi.ac.uk后面是:号,不是路径/!
一般来说,EBI的sra文件前面的地址也都是一样的vol1/fastq/...,那么写脚本批量下载也就不难了!
我的代码:
nohup ascp -QT -l 300m -P33001 -i /home2/s195086/.aspera/connect/etc/asperaweb_id_dsa.openssh era-fasp@fasp.sra.ebi.ac.uk:vol1/srr/SRR853/006/SRR8535086 ./
nohup ascp -QT -l 300m -P33001 -i /home2/s195086/.aspera/connect/etc/asperaweb_id_dsa.openssh era-fasp@fasp.sra.ebi.ac.uk:vol1/srr/SRR853/005/SRR8535085 ./
提交任务 ascp 取消加密 传输速度 ssh port 私钥 ena用户名@文件存放地址:文件名 下载至地址
我们试着写个脚本来下载
EBI地址下载:
InputFile=open("SRR_Acc_List.txt")
OutputFile=open("SRR_Acc_ascp.sh","w")
for line in InputFile:
line=line.strip()
print(line)
print(line[3:6])
print(line[-1])
OutputFile.write('ascp -QT -l 300m -P33001 -i /root/.aspera/connect/etc/asperaweb_id_dsa.openssh era-fasp@fasp.sra.ebi.ac.uk:vol1/srr/SRR' +line[3:6]+'/'+'00'+line[-1]+'/'+line +' ./ '+'\n')
InputFile.close()
OutputFile.close()
然后在服务器运行:
nohup bash SRR_Acc_ascp.sh &
就可以愉快地去睡觉啦~~
另外:
##查看任务
jobs -l
ps -ef
##杀掉任务
kill -9
参考:
https://blog.csdn.net/herokoking/article/details/78890567
//www.greatytc.com/p/9040b7573380
学会了提交任务,并且写了自己第一个脚本,开心~
一个星期都在吃瓜,终于吃瓜吃到了自己头上,中美航般大战,我要是滞留了,该如何维持生计呢?
我要好好学生信!