Aspera下載SRR數(shù)據(jù)

  1. 安裝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é)生信!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容