参考:
批量下载SRR数据
从NCBI-SRA和EBI-ENA数据库下载数据
最近下载了一些比较大数据,自己感觉下载公共数据,最快的方法用ascp
下载 EBI sra
数据,再使用faster-dump
解压,如果需要压缩使用pigz
进行压缩。
举例
- Step1: 准备数据列表
$ cat down.txt
SRR7585921
SRR7591443
SRR7591444
- Step2:下载sra数据
cat down.txt |while read id; do
echo "$id is downloading" ;
if [ ${#id} == 9 ] ; then
( nohup ascp -QT -l 300m -P33001 -k1 -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh [email protected]:/vol1/srr/${id:0:6}/$id/$id . & );
else
( nohup ascp -QT -l 300m -P33001 -k1 -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh [email protected]:/vol1/srr/${id:0:6}/00${id:0-1}/$id ./ & );
fi;
done
## 参数
-k1 : 支持断点续传
- Step3:解压sra 为fastq
ls *.sra | while read id;
do
echo $id; ( nohup fasterq-dump -e 16 --split-files -O ./ $id & );
done
- Step4:压缩为fastq.gz
nohup time pigz -k -p 16 test.fastq
思考:
1.为什么选择从EBI
下载sra
,为什么不直接下载fastq.gz
呢?
如果带宽有限,下载sra数据更小,但是需要多一个解压缩步骤.个人感觉多线程解压缩还是比下载更快,所以选择下载sra
$ ll
total 72846298
-rw-r--r-- 1 kcao GLLi 44 Sep 11 22:21 down.txt
-rw-r--r-- 1 kcao GLLi 9995426477 Jul 26 2018 SRR7585921.sra
-rw-r--r-- 1 kcao GLLi 32299591228 Sep 11 13:56 SRR7585921.sra_1.fastq
-rw-r--r-- 1 kcao GLLi 32299591228 Sep 11 13:55 SRR7585921.sra_2.fastq
-rw-r--r-- 1 kcao GLLi 6762973455 Sep 11 13:56 SRR7585921_1.fastq.gz
-rw-r--r-- 1 kcao GLLi 7760784688 Sep 11 13:55 SRR7585921_2.fastq.gz
2.如何确认EBI sra
路径(fasp.sra.ebi.ac.uk:/vol1/srr/${id:0:6}/00${id:0-1}/$id
)正确呢?
-
使用
EBI website
显示fasp
地址信息
-
确认格式是否正确
3.为什么不直接从NCBI
下载sra
,或者直接用perfetch
调用ascp
下载sra
呢 ?
网上看到说ncbi
数据存储到云端了,用ascp
下载速度提升不明显。
之前用过ascp
下载ncbi sra
数据,结果发现,一直报错。
4.为什么选择fasterq-dump
工具进行解压缩,而不是fastq-dump
呢?
最新版sratoolkit
已经包含了faster-dump
,最大差别支持多线程,一般推荐16
或者32
线程,太多线程提升想过不明显,而且占用计算资源。
faster-dump
不支持将sra
解压为gz格式,所以需要工具,进行压缩为gz(如果需要压缩文件)
5.为什么选择pigz
工具进行解压缩呢?
和gzip
相比 ,支持多线程,结果为gz文件.