記錄下下載過程,為自己和后人避坑。
1.Conda連接不上鏡像源問題
首先是anaconda安裝軟件或創建環境時遇到的問題。即使換完清華源和其他鏡像源以后依舊報錯。
CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://mirrors.tuna.tsi
嘗試了很多方法:換源,刪除.condarc中的default等,都不行。最后嘗試了鏡像源中,將https改為為http! 成功了。奇怪的是另一台服務器我用的conda完全一樣的配置,用https也可以。這種事情很神奇,也有可能就是網絡的問題。
具體可參考:
Anaconda建立新的環境,出現CondaHTTPError: HTTP 000 CONNECTION FAILED for url ...... 解決過程
Anaconda3-更換為清華源后依舊報錯CondaHTTPError: HTTP 000 CONNECTION FAILED
2. aspera不能再獨立使用
aspera下載速度很快,網上很多教程統統用不了,原因就是ncbi的ftp中的sra/sra-instant
已經移除了。所以,當你看到類似的教程: ascp -v -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh -k 1 -T -l 200m anonftp@ftp.ncbi.nlm.nih.gov:/sra/sra-instant/reads/ByRun/sra/SRR/SRR949/SRR949627/SRR949627.sra ~/data/
,請忽略它。
我嘗試了其他幾個ftp站點,也找不到sra-instant地址。
3.使用prefetch搭配aspera
退而求其次的方法,就是用prefetch。但需要注意prefetch和aspera的版本,最新版本的prefetch用不了aspera。
我這里安裝sratools 2.9.6 ,可以源碼下載,解壓即可(已編譯)。也可以用conda指定版本:
conda install sra-tools=2.9.6 -y
aspera的安裝,同樣可源碼,下載地址:IBM Aspera Connect
我這里選擇3.10.1.0,解壓sh運行即可,默認安裝在家目錄以隱藏目錄存在:
也可用anaconda安裝:
conda install -c hcc aspera-cli
#可指定版本
conda install -c hcc aspera-cli=3.7.7
4. prefetch下載方法
安裝好以后,直接用prefetch下載單個sra文件,或者下載文件列表。最好指定下載目錄,prefetch默認下載在home/user/ncbi/public/sra中(會自動新建),home目錄空間太小,不建議。
#單個sra
prefetch SRR8956151 -O ./
# 批量
prefetch --option-file SRR_Acc_List.txt -O ./
SRR_Acc_List.txt文件的尋找也比較麻煩:
prefetch會自動調用aspera的ascp。
下載的速度還是很快的,一個文件一分鍾左右:
雖然prefetch會自動調用ascp,但由於網速等原因,有時也會出現timeout,特別是大文件下載,出現類似process failed while waiting process - ascp failed with 1
的錯誤,這時最好是指定ascp:
prefetch -t ascp -a "/home/user/.aspera/connect/bin/ascp|/home/user/.aspera/connect/etc/asperaweb_id_dsa.openssh" --option-file SRR_Acc_List.txt -O ./
https://www.jianshu.com/p/d1abdced8bcd
https://www.jianshu.com/p/ee1119a4e79d
https://www.jianshu.com/p/709924001d5d
https://www.jianshu.com/p/f16ed4c79739