準(zhǔn)備工作:先下載安裝IDM(百度:internet download manager匠襟,收費(fèi)軟件,有綠色漢化版),IDM支持?jǐn)帱c(diǎn)續(xù)傳和多線程望薄,并且可以自建下載隊(duì)列批量下載,非常適合高通量數(shù)據(jù)下載:
通過(guò)NCBI搜索關(guān)鍵詞查詢自己感興趣的bioproject
打開感興趣的project選擇SRA鏈接打開
打開SRA的詳細(xì)信息呼畸,選擇sendto file 然后選run_info 下載csv格式的相關(guān)信息
下圖是CSV文件可以用excel打開痕支,選取里面的download path 一列復(fù)制
在IDM(internet download manager),點(diǎn)擊開始菜單==>從剪切板導(dǎo)入==>自動(dòng)打開如下窗口蛮原,紅框根據(jù)自己修改
可以專門自定義下載隊(duì)列卧须,點(diǎn)擊加號(hào)創(chuàng)建,點(diǎn)擊開始執(zhí)行隊(duì)列即可
可以在左側(cè)列表選擇隊(duì)列點(diǎn)擊右鍵開始或者點(diǎn)擊上面的菜單都可以儒陨。如果序列較多網(wǎng)速不夠快可以睡覺(jué)去了花嘶。
建議:帶寬有限的情況下不要同時(shí)下載太多SRA文件,一次下載一個(gè)就可以蹦漠。
SRA Toolkit提取Fastq
sra toolkit是ncbi上將 .sra文件轉(zhuǎn)換為 .fstaq.gz文件的工具椭员。
1.下載/調(diào)用 SRA Toolkit
可以直接在linux里在線下載,要根據(jù)自己的系統(tǒng)選擇合適的安裝版本津辩。我查看了一下主機(jī)的linux為redhat類型拆撼,沒(méi)找到這個(gè)類型的版本,又去服務(wù)器看了一下其他人的sratoolkit版本喘沿,都是centos_linux闸度,因而選擇這個(gè)版本應(yīng)該是合適的。
wget https://ftp-trace.ncbi.nlm.nih.gov/sra/sdk/2.9.2/sratoolkit.2.9.2-centos_linux64.tar.gz
下載好之后解壓:
tar xzvf sratoolkit.2.9.2-centos_linux64.tar.gz
#注意設(shè)置環(huán)境變量
fastq-dump 為該toolkit的一個(gè)子程序
雖然[fastq-dump】參數(shù)很多蚜印,而且一直被吐槽參數(shù)說(shuō)明寫的太差莺禁,但是如果真的要用起來(lái)其實(shí)也就是一行代碼
fastq-dump --gzip --split-3 --defline-qual '+' --defline-seq '@$ac-$si/$ri' SRRXXXXX| SRRXXXX.sra
##### 加上--gzip后需要時(shí)間進(jìn)行文件壓縮
當(dāng)然除了參數(shù)問(wèn)題,還有一個(gè)讓人詬病的地方就是他只能單個(gè)線程窄赋,所以速度特別的慢哟冬。盡管相對(duì)于下游分析要分析好幾天而言楼熄,這點(diǎn)時(shí)間還能能等的。但是能快一點(diǎn)總是好的浩峡,所以在2018年的6月份可岂,sra-tools更新了一個(gè)新的sra解壓工具,[fasterq-dump] a faster fastq-dump翰灾,它能利用臨時(shí)文件和多線程加速?gòu)腟RA文件提取FASTQ缕粹。
fasterq-dump
的用法和fastq-dump
一樣,如下所示
fasterq-dump --split-3 SRR5318040.sra -t /mnt/d/temp -e 24;
### -t 是臨時(shí)文件夾位置纸淮,-e 24 是24線程
此外還有建立了GitHub Wiki提供使用教程平斩,參見(jiàn)https://github.com/ncbi/sra-tools/wiki/HowTo:-fasterq-dump。
重點(diǎn)參數(shù)是-e|threads
, 用于選擇使用多少線程進(jìn)行運(yùn)行咽块,默認(rèn)是6個(gè)線程绘面。 同時(shí)考慮到有些人容易著急,還提供了-p
選項(xiàng)用于顯示當(dāng)前進(jìn)度侈沪。
我用一個(gè)9G大小的SRA文件揭璃,分別以fastq-dump
和fasterq-dump
進(jìn)行了測(cè)試。
fastq-dump --split-3 -O test SRR5318040.sra
# 558.76s user 41.36s system 101% cpu 9:51.82 total
fasterq-dump --split-3 SRR5318040.sra -e 20 -o SRR5318040
# 582.70s user 121.06s system 1130% cpu 1:02.25 total
硬盤吞吐速度是多線程運(yùn)行時(shí)的限制因素亭罪,強(qiáng)烈建議使用兩塊SSD塘辅,將讀寫進(jìn)程分開可以極大提高速度。從運(yùn)行情況看皆撩,多線程應(yīng)該是將sra文件分成多塊讀入內(nèi)存利用多線程并行處理。
從用戶模式(user mode)來(lái)看, 兩者的總CPU使用時(shí)間都差不多是560秒哲银,從內(nèi)核模式來(lái)看(Kernel Mode)來(lái)看扛吞,fasterq-dump
花了更多時(shí)間在調(diào)用底層硬件上,例如分配內(nèi)存地址荆责。fastq-dump
基本上穩(wěn)定在一個(gè)線程滥比,而fasterq-dump
盡管指定了20個(gè)線程,但平均只用了11.5個(gè)線程吧做院。
對(duì)于我們而言盲泛,我們只要看最后的total部分,也就是實(shí)際花了多少時(shí)間键耕。fastq-dump
花了快10分鐘寺滚,而fasterq-dump
只需要1分鐘,快了9倍多屈雄。