工具:如何在国内高速下载SRA

如何在国内高速下载SRA

下载公共测序数据,一般是通过在NCBI上搜索到study的Run SRA号,然后使用NCBI提供的prefetch下载数据,但因NCBI国内访问较为缓慢导致下载速度巨慢,因此推荐使用EBI提供的enaBrowserTools+Aspera的方式从ENA下载SRA。该下载方式相对aspera更好,只需要提供accession号即可(如SRR号),特推荐使用该方法下载。

### 软件

  • Aspera

High-performace transfer brower plugin,IBM旗下的高速下载插件。

# 下载
wget wget https://download.asperasoft.com/download/sw/connect/3.9.9/ibm-aspera-connect-3.9.9.177872-linux-g2.12-64.tar.gz 
# 解压
tar -zxvf ibm-aspera-connect-3.9.9.177872-linux-g2.12-64.tar.gz
# 安装 软件安装路径是用户根目录的 .aspera/
./ibm-aspera-connect-3.9.9.177872-linux-g2.12-64.sh 
  • enaBrowserTools

enaDataGet/enaGroupGet是enaBrowserTools的一个python脚本,enaBrowserTools是基于python3的与ENA web services接口的套件,可以方便访问ENA。安装方式简单,直接上github下载源代码,然后解压即可。

enaDataGet: all data for a given sequence, assembly, read or analysis accession or WGS set.

enaGroupGet: all data for a particular group(sequence, WGS, assembly, read or analysis) for a given sample or study accession.

# 下载&解压
wget https://github.com/enasequence/enaBrowserTools/archive/v1.6.tar.gz
tar -zxvf v1.6.tar.gz# 配置别名 方便查看脚本位置信息
alias enaDataGet=/disk/share/toolkits/enaBrowserTools/python3-1.6/enaDataGet
alias enaGroupGet=/disk/share/toolkits/enaBrowserTools/python3-1.6/enaGroupGet

配置

  • 配置aspera:
# 配置许可(这一步需要账户有root权限,普通用户无法设置,也可以不需要设置)
sudo cp ~/.aspera/connect/etc/aspera-license /usr/local/bin/
# 添加环境变量
echo 'export PATH=~/.aspera/connect/bin:$PATH' >> ~/.bashrc
source ~/.bashrc 
#  配置秘钥
mkdir /home/zouhua/.aspera/config/ 
# 复制到配置目录
cp ~/.aspera/connect/etc/asperaweb_id_dsa.openssh /home/zouhua/.aspera/config/
  • 配置enaDataGet

如果使用Aspera下载数据,则需要配置aspera_settings.ini文件

# step1 配置aspera_settings.ini
cd /disk/share/toolkits/enaBrowserTools-1.6 & vi aspera_settings.ini

配置前

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

配置后: 1. 指定ascp脚本;2.指定密钥;3.设置下载速度

[aspera]
ASPERA_BIN = /home/zouhua/.aspera/connect/bin/ascp
ASPERA_PRIVATE_KEY = /home/zouhua/.aspera/connect/etc/asperaweb_id_dsa.openssh
ASPERA_OPTIONS =
ASPERA_SPEED = 500M
# step2 配置aspera
export ENA_ASPERA_INIFILE="/disk/share/toolkits/enaBrowserTools-1.6/aspera_settings.ini"

查看帮助文档

  • enaDataGet:重要参数 1. -f 指定数据类型;2. -d 指定本地下载目录;3. -a 指定是否使用aspera
usage: enaDataGet [-h] [-f {embl,fasta,submitted,fastq,sra}] [-d DEST] [-w][-m] [-i] [-a] [-as ASPERA_SETTINGS] [-v]accessionDownload data for a given accessionpositional arguments:accession             Sequence, coding, assembly, run, experiment oranalysis accession or WGS prefix (LLLLVV) to downloadoptional arguments:-h, --help            show this help message and exit-f {embl,fasta,submitted,fastq,sra}, --format {embl,fasta,submitted,fastq,sra}File format required. Format requested must bepermitted for data type selected. sequence, assemblyand wgs accessions: embl(default) and fasta formats.read group: submitted, fastq and sra formats. analysisgroup: submitted only.-d DEST, --dest DEST  Destination directory (default is current runningdirectory)-w, --wgs             Download WGS set for each assembly if available(default is false)-e, --extract-wgs     Extract WGS scaffolds for each assembly if available(default is false)-exp, --expanded      Expand CON scaffolds when downloading embl format(default is false)-m, --meta            Download read or analysis XML in addition to datafiles (default is false)-i, --index           Download CRAM index files with submitted CRAM files,if any (default is false). This flag is ignored forfastq and sra format options.-a, --aspera          Use the aspera command line client to download,instead of FTP.-as ASPERA_SETTINGS, --aspera-settings ASPERA_SETTINGSUse the provided settings file, will otherwise checkfor environment variable or default settings filelocation.-v, --version         show program's version number and exit############################################################################
usage: enaGroupGet [-h] [-g {sequence,wgs,assembly,read,analysis}][-f {embl,fasta,submitted,fastq,sra}] [-d DEST] [-w] [-m][-i] [-a] [-as ASPERA_SETTINGS] [-t] [-v]accessionDownload data for a given study or sample, or (for sequence and assembly) taxonpositional arguments:accession             Study or sample accession or NCBI tax ID to fetch dataforoptional arguments:-h, --help            show this help message and exit-g {sequence,wgs,assembly,read,analysis}, --group {sequence,wgs,assembly,read,analysis}Data group to be downloaded for thisstudy/sample/taxon (default is read)-f {embl,fasta,submitted,fastq,sra}, --format {embl,fasta,submitted,fastq,sra}File format required. Format requested must bepermitted for data group selected. sequence, assemblyand wgs groups: embl and fasta formats. read group:submitted, fastq and sra formats. analysis group:submitted only.-d DEST, --dest DEST  Destination directory (default is current runningdirectory)-w, --wgs             Download WGS set for each assembly if available(default is false)-e, --extract-wgs     Extract WGS scaffolds for each assembly if available(default is false)-exp, --expanded      Expand CON scaffolds when downloading embl format(default is false)-m, --meta            Download read or analysis XML in addition to datafiles (default is false)-i, --index           Download CRAM index files with submitted CRAM files,if any (default is false). This flag is ignored forfastq and sra format options.-a, --aspera          Use the aspera command line client to download,instead of FTP.-as ASPERA_SETTINGS, --aspera-settings ASPERA_SETTINGSUse the provided settings file, will otherwise checkfor environment variable or default settings filelocation.-t, --subtree         Include subordinate taxa (taxon subtree) when queryingwith NCBI tax ID (default is false)-v, --version         show program's version number and exit

使用

enaDataGet和enaGroupGet可配置aspera使用,参数为*-a/–aspera*,添加此参数则调用aspera。

  • step1 先搜索accession在EBI的api接口;
  • step2 本地创建下载日志文件目录 logs;
  • step3 使用ascp软件下载accession;
/disk/share/toolkits/enaBrowserTools-1.6/python3/enaDataGet -f sra -a SRR212430 -d ./sra
# /disk/share/toolkits/enaBrowserTools-1.6/python3/enaDataGet -f sra SRR212430 -d ./sra

下载成功

下载失败: 出现session stop即为失败

  • 完全下载失败

  • 部分下载失败

不使用aspera下载

问题

  1. 出现session stop信息,解决方案:

    • ASPERA_SPEED 设置在100 - 400 M之间;

    • root权限下开通 udp端口

      iptables -I INPUT -p udp --dport 3301 -j ACCEPT
      iptables -I OUTPUT -p udp --dport 3301 -j ACCEPT
      

参考

  1. enaBrowserTools

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/4516.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

艾体宝案例 | 使用Redis和Spring Ai构建rag应用程序

随着AI技术的不断进步,开发者面临着如何有效利用现有工具和技术来加速开发过程的挑战。Redis与Spring AI的结合为Java开发者提供了一个强大的平台,以便快速构建并部署响应式AI应用。探索这一整合如何通过简化的开发流程,让开发者能够更专注于…

大核注意力 LKA | Visual Attention Network

论文名称:《Visual Attention Network》 论文地址:2202.09741 (arxiv.org) 尽管最初是为自然语言处理任务而设计的,但自注意力机制最近在各个计算机视觉领域迅速崭露头角。然而,图像的二维特性给计算机视觉中的自注意力应用带来了…

【Vue】组件化编程

定义 实现应用中局部功能代码和资源的集合 为什么要用组件化编程? 传统方式编写:依赖关系混乱,不好维护,且代码复用率不高 模块化编写:只关注解决js,复用js,简化js的编写与效率 组件方式编写:好维护、复用率更高、提高运行效率 在组件出现之前,我们开发基本都是用htm…

GD32E103C8T6 封装LQFP-48 GigaDevice(兆易创新) 单片机

GD32E103C8T6 是由GigaDevice(兆易创新)公司生产的一款基于ARM Cortex-M4内核的32位MCU(微控制器)。以下是GD32E103C8T6的一些主要功能和参数介绍: 主要功能: 高性能ARM Cortex-M4内核: 采用120MHz的ARM …

修复所有 bug 并不能解决所有问题

原文:jeffpsherman - 2024.04.08 在软件领域,如同在制造业,有些问题是由于 bug 或“特殊原因”引发的,而有些则是“常见原因”,这是由于系统设计和实现的性质所导致的。修复 bug 就是移除特殊原因,消除 bu…

基于SpringBoot的合家云社区物业管理平台 - 项目介绍

合家云社区物业管理平台 2.合家云需求&设计 2.1 项目概述 2.1.1 项目介绍 合家云社区物业管理平台是一个全新的 ”智慧物业解决方案“,是一款互联网的专业社区物业管理系统。平台通过社区资产管理、小区管理、访客管理、在线报修、意见投诉等多种功能模块&a…

指针笔试题模拟

题目一 int main() {int a[5] { 1, 2, 3, 4, 5 };int *ptr (int *)(&a 1);printf( "%d,%d", *(a 1), *(ptr - 1));return 0; } 1*(a1)可以等价于a[1],即第一个打印的是数组第二个下标的元素:2 2 而ptr拿到的是整个数组的地…

C语言之详细讲解文件操作

什么是文件 与普通文件载体不同,文件是以硬盘为载体存储在计算机上的信息集合,文件可以是文本文档、图片、程序等等。文件通常具有点三个字母的文件扩展名,用于指示文件类型(例如,图片文件常常以KPEG格式保存并且文件…

第5篇:创建Nios II工程之Hello_World<四>

Q:最后我们在DE2-115开发板上演示运行Hello_World程序。 A:先烧录编译Quartus硬件工程时生成的.sof文件,在FPGA上成功配置Nios II系统;然后在Nios II Eclipse窗口右键点击工程名hello_world,选择Run As-->Nios II …

C#利用IDbCommand实现通用数据库脚本执行程序

目录 关于 ExecuteNonQuery 数据库脚本程序的执行流程 范例运行环境 通用类的设计 引用 DAL类 实现代码 小结 关于 ExecuteNonQuery 在.net 应用中,在数据库中执行脚本程序是经常用到的功能,如数据操作(新增、修改、删除等&#xff0…

C语言趣味代码(四)

这一篇主要编写几个打字练习的小程序,然后通过这些小程序的实现来回顾复习我们之前学过的知识,然后通过这写打字练习的小程序来提升我们的打字技术和编程技术。 1. 打字练习 1.1 基本打字练习 1.1.1 基本实现 首先我们来制作一个用于计算并显示输入一…

github two-factor authentication是个啥?

最近在逛github时,总是时不时会弹出一下界面,很烦 看到红框里的文字,这明显是强制要求做这个认证,如果不认证4天后账号将不可访问,所以今天花点时间看看怎么做这个认证,点“Enable 2FA now”进入这个界面&a…

普通用户执行source报错,sudo: source:找不到命令的解决方案

一、问题描述 当修改/etc/profile文件(环境变量)后,想让该环境变量立刻生效。需要执行source命令。命令如下: sudo source /etc/profile 执行这个后,不像别人的执行成功,反而报错了。错误信息如下&#…

linux下安装anaconda

顺手点个关注吧,谢谢! 一、下载安装包 https://repo.anaconda.com/archive/ 或者使用命令 wget https://repo.anaconda.com/archive/Anaconda3-5.3.1-Linux-x86_64.sh2.赋予权限并安装 # 给文件执行权限 chmod 777 Anaconda3-5.3.1-Linux-x86_64.sh# 执…

商汤研究院招大模型实习生

商汤研究院招大模型实习生,base上海、北京,400/day。福利:每天50租房补贴,20的餐补。晚上8点之后回去有额外的25元晚餐餐补,10点之后回去可以免费用滴滴。 组内的大模型工作大概分两个方向: 1.3B、3B等小…

基于opencv的单目相机标定

openCv版本:4.4.0 从源码处拷贝标定代码出来使用,需要拷贝samples/cpp/tutorial_code/calib3d/camera_calibration 需要的文件如下: -rw-rw-r-- 1 rog rog 28490 Jul 18 2020 camera_calibration.cpp -rw-rw-r-- 1 rog rog 3152 Jul 18 …

判断前端入参是否空否则提示前端写法

vue2中 前端先声明一个变量,用于alert判断 在templeat中定义一个提示语句 然后在点击事件时判断一下是否展示

【Linux】NFS网络文件系统搭建

一、服务端配置 #软件包安装 [roothadoop01 ~]# yum install rpcbind nfs-utils.x86_64 -y [roothadoop01 ~]# mkdir /share#配置文件修改 #格式为 共享资源路径 [主机地址] [选项] # [roothadoop01 ~]# vi /etc/exports /share 192.168.10.0/24(rw,sync,no_root_squash) #…

python数据可视化:集中趋势统计堆叠柱状图barplot()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 python数据可视化: 集中趋势统计 堆叠柱状图 barplot() [太阳]选择题 请问关于以下代码表述错误的选项是? import seaborn as sns import matplotlib.pyplot as plt im…

cx_Oracle.DatabaseError: DPI-1047: Cannot locate a 64-bit Oracle Client library

pip install cx_Oracleimport cx_Oracle 再导入该模块进行数据库连接的时候报错 这个错误表明您的Python环境是64位的,但是您尝试使用的Oracle客户端库(oci.dll)是32位的 根据官方给出的文档进行查看 cx_Oracle 8 Installation — cx_Ora…