使用enaBrowserTools和Aspera从ENA下载数据

本文详细介绍了在Linux环境下安装Python3的过程,包括下载、配置、编译和设置环境变量。接着,讲解了Aspera工具的安装与使用,用于高效传输大文件。最后,演示了如何使用enaBrowserTools下载生物数据,包括配置Aspera和执行下载脚本。

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

Linux环境下安装python3: https://blog.csdn.net/jeffery0207/article/details/79774567
Aspera工具的安装与使用: https://www.jianshu.com/p/a6ac81456c01
enaBrowserTools: https://github.com/enasequence/enaBrowserTools

第1部分 Linux环境下安装python3

从python官网(https://www.python.org/ )下载最新版本的python3.x

#下载安装包
wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz
#解压
tar zxvf Python-3.7.4.tgz
#转到该安装包目录下
cd Python-3.7.4.tgz
#对安装进行配置,并指定安装路径
./configure --prefix=/home1/jialh/local/python37
#编译
make
#安装
make install

为python3设置别名,vim ~/.bash_aliases:

alias python='/home1/jialh/local/python37/bin/python3.7'
alias python3='/home1/jialh/local/python37/bin/python3.7'
alias pip='/home1/jialh/local/python37/bin/pip3'

更新上述设置的别名source ~/.bash_aliases

第2部分 Aspera工具的安装与使用

到官网 https://downloads.asperasoft.com/en/downloads/8?list 下载安装包:

#下载安装包
wget  https://download.asperasoft.com/download/sw/connect/3.9.6/ibm-aspera-connect-3.9.6.173386-linux-g2.12-64.tar.gz
#解压安装包
tar -xvf ibm-aspera-connect-3.9.6.173386-linux-g2.12-64.tar.gz

解压后得到一个.sh文件,运行它:

sh ibm-aspera-connect-3.9.6.173386-linux-g2.12-64.sh

为了方便使用,我们需要进行一些准备工作,首先,需要将脚本位置加入环境变量以方便使用(不加入环境变量也可以,每次拷贝~/.aspera/connect/bin/ascp文件到需要下载的目录):

vim ~/.bashrc

在文件末尾加上:

export PATH="/home1/jialh/.aspera/connect/bin:$PATH"

注意替换你的用户名,保存之后为了使其生效:

source  ~/.bashrc

然后,我们需要拷贝密匙文件,以方便我们使用:

mkdir /home1/jialh/.aspera/config/
#拷贝秘钥文件
cp ~/.aspera/connect/etc/asperaweb_id_dsa.openssh /home1/jialh/.aspera/config/

测试程序是否安装成功

/home1/jialh/.aspera/connect/bin/ascp -QT -L /home1/jialh/SRR385732/logs -l 100M -P33001  -i /home1/jialh/.aspera/config/asperaweb_id_dsa.openssh era-fasp@fasp.sra.ebi.ac.uk:/vol1/fastq/SRR385/SRR385732/SRR385732.fastq.gz ./SRR385732

结果如下:
在这里插入图片描述

第3部分 使用enaBrowserTools下载数据

下载最新版本的enaBrowserTools,解压到你的系统的适当位置。你将得到enaBrowserTools文件夹,包括python2和python3可供选择的脚本。如果你使用Unix/Linux或者Mac计算机,我们建议你增加下面的别名到你的.bashrc或 .bash_profile文件。其中INSTALLATION_DIR是你保存enaBrowserTools的位置,PYTHON_CHOICE取决于你用的是Python 2还是Python 3。

alias enaDataGet=INSTALLATION_DIR/enaBrowserTools/PYTHON_CHOICE/enaDataGet
alias enaGroupGet=INSTALLATION_DIR/enaBrowserTools/PYTHON_CHOICE/enaGroupGet

你可以使用enaDataGet或python INSTALLATION_DIR/enaBrowserTools/PYTHON_CHOICE/enaDataGet.py来调用该工具,下载你所需要的数据。

Aspera的使用
如果你希望使用Aspera来下载read或者分析文件,你需要aspera_settings.ini文件。请将它保存到你的本地计算机,该文件包括你的aspera二进制文件所在的位置(ASPERA_BIN)和秘钥文件(ASPERA_PRIVATE_KEY)。

[aspera]
ASPERA_BIN = /path/to/ascp
ASPERA_PRIVATE_KEY = /path/to/aspera_dsa.openssh
ASPERA_OPTIONS =
ASPERA_SPEED = 100M

测试上述流程能否正常下载数据:

cat /home1/jialh/SouthChinaSea/00_download/PRJNA77801_run_id.list | xargs -n 1  \
/home1/jialh/local/python37/bin/python3.7 /home1/jialh/software/enaBrowserTools/enaBrowserTools-1.5.4/python3/enaDataGet.py \
-f fastq -as /home1/jialh/.aspera/config/aspera_settings.ini -d /home1/jialh/SouthChinaSea/00_download/00_rawdata_test

######说明:
#①/home1/jialh/SouthChinaSea/00_download/PRJNA77801_run_id.list 为ENA的run id列表。
#②/home1/jialh/local/python37/bin/python3.7为python3的路径
#③/home1/jialh/software/enaBrowserTools/enaBrowserTools-1.5.4/python3/enaDataGet.py为enaDataGet.py的路径。
#④/home1/jialh/.aspera/config/aspera_settings.ini为aspera的配置文件。
#⑤/home1/jialh/SouthChinaSea/00_download/00_rawdata_test为下载文件的存储路径。

测试结果如下:
在这里插入图片描述

### 如何从欧洲核酸档案库(ENA)下载FASTA序列文件 为了获取来自欧洲核酸档案库 (ENA) 的 FASTA 文件,可以采用多种方法。以下是几种常用的方法: #### 方法一:通过 ENA 浏览器界面手动下载 访问 ENA 官方网站并导航到感兴趣的记录页面。通常可以在该页面找到直接链接用于下载 FASTA 格式的序列数据。 #### 方法二:利用 enaBrowserTools 工具自动化下载过程 安装 `enaDataTool` 后可以通过命令行批量处理下载请求。此工具支持指定输出格式为 fasta 并允许用户定义其他参数来定制化下载行为[^2]。 ```shell java -jar enaDataTool.jar --format fasta --outDir ./output_directory accession_list.txt ``` 这里假设有一个包含多个样本编号的文本文件 (`accession_list.txt`) 希望保存结果的目标目录 (`./output_directory`)。 #### 方法三:借助 Aspera 加速传输大容量数据集 对于非常庞大的数据集合来说,使用 FTP 或 HTTP 可能效率较低。此时可考虑部署 Aspera 进行高速稳定的文件传送服务。 完成 Aspera 客户端配置之后执行如下指令启动下载任务: ```shell ascp -T -k1 -l400m -i $HOME/.asperaweb_id_dsa.openssh era-fasp@fasp.sra.ebi.ac.uk:/path/to/file /local/destination/ ``` 注意替换源路径 `/path/to/file` 以及目标位置 `/local/destination/` 成实际值。 #### 方法四:运用 nohup 命令实现后台持续运行脚本 当计划长时间无人值守操作时,可以编写 shell 脚本来封装以上任意一种方式,并附加 `nohup` 来确保即使终端断开连接也能顺利完成整个流程[^3]。 例如创建名为 `download_fasta.sh` 的 Shell Script 文件内容如下所示: ```bash #!/bin/bash # 下载逻辑... nohup bash download_fasta.sh & ``` 这样就可以在不影响当前会话的情况下异步执行复杂的下载作业了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值