- 安裝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軟件加入環(huán)境變量,并激活
echo 'export PATH=~/.aspera/connect/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
# 最后檢查ascp是不是能用了
ascp --help
Aspera的常用參數(shù):
-v verbose mode 嘮叨模式,能讓你實(shí)時(shí)知道程序在干啥,方便查錯。有些作者的程序缺乏人性化,運(yùn)行之后,只見光標(biāo)閃,壓根不知道運(yùn)行到哪了
-k 斷點(diǎn)續(xù)傳,一般設(shè)置為值1
-Q 不懂,一般加上它
-P 提供SSH port,一般是33001,反正我不懂
-T
不進(jìn)行加密。若不添加此參數(shù),可能會下載不了。
-i string
輸入私鑰,安裝 aspera 后有在目錄 ~/.aspera/connect/etc/ 下有幾個私鑰,使用 linux 服務(wù)器的時(shí)候一般使用 ~/.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
設(shè)置最大傳輸速度,比如設(shè)置為 200M 則表示最大傳輸速度為 200m/s。若不設(shè)置該參數(shù),則一般可達(dá)到10m/s的速度,而設(shè)置了,傳輸速度可以更高。
ascp使用舉例
SRA數(shù)據(jù)庫下載:首先記住,數(shù)據(jù)的存放地址是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 地址構(gòu)成:
ftp://ftp.ncbi.nlm.nih.gov/sra/sra-instant/reads/ByRun/sra/SRR/SRR+登陸號前三位數(shù)字(550)+/SRR+完整登陸號(554360)
ENA數(shù)據(jù)庫下載:這里和上面不同,數(shù)據(jù)的存放地址是fasp.sra.ebi.ac.uk,ENA在Aspera的用戶名是era-fasp,下載舉例:
- 同樣,我還是下載
SRR949627,方便的是ENA中可以直接下載fastq.gz文件,不用再從sra文件慢吞吞的轉(zhuǎn)換了,那么地址呢,可以去ENA搜索,再復(fù)制下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 ./
提交任務(wù) 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()
然后在服務(wù)器運(yùn)行:
nohup bash SRR_Acc_ascp.sh &
就可以愉快地去睡覺啦~~
另外:
##查看任務(wù)
jobs -l
ps -ef
##殺掉任務(wù)
kill -9
參考:
https://blog.csdn.net/herokoking/article/details/78890567
http://www.itdecent.cn/p/9040b7573380
學(xué)會了提交任務(wù),并且寫了自己第一個腳本,開心~
一個星期都在吃瓜,終于吃瓜吃到了自己頭上,中美航般大戰(zhàn),我要是滯留了,該如何維持生計(jì)呢?
我要好好學(xué)生信!