不要让过往的成功经验困住你

这是jimmy师兄关于用shell脚本批量下载SRA数据时的一个经验:

别的不敢说,但是NGS数据处理,我应该算是高手了,各种组学均有涉猎,经手的项目也有千八百了,以前处理一些SRA数据库的数据的时候都是用wget进行下载,因为一直在墙外,很方便。

比如下面的srr.list文,件是自己从SRA数据库里面找到的所有数据的SRR开头的ID号,如下:

SRR3776319
SRR3776320
SRR3821893
SRR3821894
SRR3943943
SRR3943944
SRR3943946
SRR3943947
SRR3821896
SRR3821897

我就会自己写shell脚本批量下载:

up=ftp://ftp-trace.ncbi.nih.gov/sra/sra-instant/reads/ByRun/sra/SRR/
cat srr.list|while read id;
do
echo $id
echo ${up}/${id:0:6}/$id/${id}.sra
wget -c ${up}${id:0:6}/$id/${id}.sra
done 

为什么构建这样的脚本,是因为我非常熟悉SRA数据库,以及里面的各种规则。

1.8T的数据,通常两天就下载完毕了,所以我没有放在心上,待我检查log日志的时候,发现有两个失败的,而且不是网速的问题。

cat download_failed.log
SRR3943921
ftp://ftp-trace.ncbi.nih.gov/sra/sra-instant/reads/ByRun/sra/SRR//SRR394/SRR3943921/SRR3943921.sra
--2018-02-08 00:09:06--  ftp://ftp-trace.ncbi.nih.gov/sra/sra-instant/reads/ByRun/sra/SRR/SRR394/SRR3943921/SRR3943921.sra
           => “SRR3943921.sra”
==> TYPE I ... done.  ==> CWD (1) /sra/sra-instant/reads/ByRun/sra/SRR/SRR394/SRR3943921 ... done.
==> SIZE SRR3943921.sra ... done.
==> PASV ... done.    ==> RETR SRR3943921.sra ...
No such file “SRR3943921.sra”.
SRR3943893
ftp://ftp-trace.ncbi.nih.gov/sra/sra-instant/reads/ByRun/sra/SRR//SRR394/SRR3943893/SRR3943893.sra
--2018-02-08 19:32:37--  ftp://ftp-trace.ncbi.nih.gov/sra/sra-instant/reads/ByRun/sra/SRR/SRR394/SRR3943893/SRR3943893.sra
           => “SRR3943893.sra”
==> TYPE I ... done.  ==> CWD (1) /sra/sra-instant/reads/ByRun/sra/SRR/SRR394/SRR3943893 ... done.
==> SIZE SRR3943893.sra ... done.
==> PASV ... done.    ==> RETR SRR3943893.sra ...
No such file “SRR3943893.sra”.

我仔细检查了其中一个失败的例子:

https://trace.ncbi.nlm.nih.gov/Traces/sra/?run=SRR3943893

https://www.ncbi.nlm.nih.gov/sra/SRX1969880

ftp://ftp-trace.ncbi.nih.gov/sra/sra-instant/reads/ByRun/sra/SRR/SRR394/SRR3943893

发现的确是没有,但是另外的274个样本又都没有问题。

看样子根据构造的ftp链接下载sra文件的方法可能要过时了,wget本来就慢,现在还出错,好尴尬。

但是,还好有prefetch

~/biosoft/sratoolkit/sratoolkit.2.8.2-1-centos_linux64/bin/prefetch SRR3943893

prefetch下载的数据一般存放在~/ncbi/public/sra/文件下,prefecth在下载前会先查找该文件下是否已经存在该文件。

耗费8分钟,下载了下面这个数据,虽然我还是不明白它的链接到底在哪里!

9.3G Feb  9 10:40 SRR3943893.sra

不过,我想应该是没有必要去纠结的,只是经验而已。

生信技能树论坛

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值