Linux下从NCBI批量下载SRA数据的sra和aspera方法

本文介绍如何从NCBI下载SRA数据,包括使用sratoolkit和aspera工具进行单个及批量下载的方法。提供了详细的步骤和脚本示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Minus_yao  2018.04.25  yaoguocai_cool@163.com

#从NCBI下载SRA数据,最近在疯狂下载宏基因组数据,试着解决一下这个问题~

方法一:

软件准备:

使用ncbi提供的下载工具sratoolkit,下载到本地服务器上

Wget https://ftp-trace.ncbi.nlm.nih.gov/sra/sdk/2.9.0/sratoolkit.2.9.0-centos_linux64.tar.gz

解压:

tar -zxvf sratoolkit.2.9.0-centos_linux64.tar.gz

添加环境变量

echo'exportPATH=/home/gyao/program/sratoolkit.2.9.0-centos_linux64.tar.gz/bin:$PATH'>> ~/.bashrc

source~/.bashrc

数据列表准备:

以ERP005860数据为例,包含314个sra文件,先从NCBI上拿到SRR_Acc_List.txt文件。


下载这个AccessionList文件,里面是314行形如ERR526291的编号


下载命令行:

nohup/home/gyao/program/sratoolkit/sratoolkit.2.9.0-centos_linux64/bin/prefetch -a"/home/gyao/.aspera/connect/bin/ascp|/home/gyao/.aspera/connect/etc/asperaweb_id_dsa.openssh"--ascp-options "-QT -l 40m"  --option-file SRR_Acc_List.txt &

(注意--option-file应在当前文件夹下,如前添加了环境变量,可直接使用prefetch;不过,默认文件下载的位置是~/ncbi/public/sra,试图修改时很麻烦遂放弃)。

这个方法能够批量下载,但是用了几天发现速度变得超级慢,还莫名其妙断掉,想其他办法,选择aspera下载。

软件准备:

下载软件:

Wgethttp://download.asperasoft.com/download/sw/connect/3.7.4/aspera-connect-3.7.4.147727-linux-64.tar.gz

解压:

tarzxvf aspera-connect-3.7.4.147727-linux-64.tar.gz

安装:

bashaspera-connect-3.7.4.147727-linux-64.sh

添加环境变量:

echo'export PATH=~/.aspera/connect/bin:$PATH' >> ~/.bashrc

source~/.bashrc

命令ascp –help查看帮助文档说明安装成功。

从NCBI上单个文件下载命令:

ascp-i /home/gyao/.aspera/connect/etc/asperaweb_id_dsa.openssh -k 1 -T -l 200m anonftp@ftp-private.ncbi.nlm.nih.gov:/sra/sra-instant/reads/ByRun/sra/ERR/ERR526/ERR526291/ERR526291.sra./download_dir/

速度还是挺快的~

关键的问题是解决上述314个文件批量下载,我的方法是利用前面下载的SRR_Acc_List.txt文件,用python写一个简单的脚本,批量执行断点下载。

基本思路是:写一个translate.py脚本,将SRR_Acc_List.txt内容转换为ascpera可识别的格式,并写入SRR_Acc_ascp.sh文件(这是一个可执行脚本.sh),bash运行SRR_Acc_ascp.sh脚本文件。

Translate.py的coding:

输出的SRR_Acc_ascp.sh文件内容(部分)如下:


命令行:

nohup bash SRR_Acc_ascp.sh &

可以关机回去睡觉了,目前速度还不错,希望明天早上起来有好消息~

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值