SRA数据下载方法总结

article/2025/9/27 2:42:20

SRA数据常用的下载方法

研究生了,对以往的知识进行一个复习和总结吧。
SRA数据库存储了现在主要高通量测序平台的原始测序数据和和比对信息,包括了SRA、EBI、DDBJ、JGI等数据库的信息。(这里分享一个小的知识点,现在可以不只依赖NCBI进行查找和下载,国家基因组科学数据中心(NGDC)官网 已经进行了整合)。对于NGDC数据库的使用在这里就暂时不细说了,看后面有没有必要吧,使用方法更加贴合中国人的习惯的。
言归正传,现在SRA数据的下载主要有以下5个方法:
1、NCBI官方提供的SRA Toolkit工具进行下载;
2、通过链接直接下载;
3、aspera 高速下载;
4、grabseqs 工具下载;
5、运用python爬虫等工具进行辅助下载。

1、SRA Toolkit下载数据

1.1、工具的下载和配置

在ncbi官网上选择合适版本进行下载SRA Toolkit。下载界面截图

1.2、工具环境的配置

我这里使用windows系统进行示例。下载好后解压到本地。然后进行环境配置。具体操作如下:win+R,输入sysdm.cpl,在“高级”界面下点击环境变量,点击系统变量中的path,点击编辑,将存放sratoookit的路径复制粘贴进去,点击确定。
1.1
1.2
1.3
在电脑上进行试运行,解决其他问题。使用管理员权限打开cmd,到存放的路径下,输入bin\prefetch.exe,然后根据提示再输入vdb-config --interactive,按X退出。就可以正常使用了。

cd 360download\sratoolkit.2.11.1-win64\
bin\prefetch.exe 
vdb-config --interactive
bin\prefetch.exe -h 

1.5

1.3、SRA Toolkit使用方法

下载单个数据只需要运行如下代码即可:

prefeth SRR4045218 -O output  #output为数据输出路径

批量进行下载时,需提前准备好相关数据的SRR编号的TXT文件。运行代码即可。

prefetch -O output --option-file SRR_Acc_List.txt

1.6

2、链接下载

通过数据库查找对应SRR号可以获取数据链接。一般都显示在“Data access”界面下。
2.1
或者也可以使用SRA Toolkit中的srapath工具获取链接。

srapath SRR4045218

获取链接后可进行以下选择:
1、直接点击链接下载,但是会很慢;
2、使用wget工具进行下载,代码如下;

wget -c -t 0 -O 	SRR4045218.sra https://sra-downloadb.be-md.ncbi.nlm.nih.gov/sos3/sra-pub-run-19/SRR4045218/SRR4045218.1

#-c -t 配合使用可以防止下载数据的过程中链接中断的问题,-O则可以指定下载路径和文件名。

3、aspera下载数据

aspera的使用方法就不在这里叙述了,无论是官网的使用说明或者其他博客上都会有很多,大家自己去看吧。我就只分享一下使用的代码。
下载单个数据:

ascp -T -i <path>/asperaweb_id_dsa.openssh -k 1 -l 200m anonftp@ftp-private.ncbi.nlm.nih.gov:/sra/sra-instant/reads/ByRun/sra/SRR/SRR620/SRR6208854/SRR6208854.sra ./

源自谈晓明老师
批量下载数据;准备链接索引文件(sra_list.txt),运行以下代码:

ascp -T -i <path>//asperaweb_id_dsa.openssh -k 1 -l 200m --mode recv --host ftp-private.ncbi.nlm.nih.gov --user anonftp --file-list ./sra_list.txt ./

4、grabseqs下载数据

第四种下载方式的优势在于可以直接将下载的sra数据直接转换为fastq文件。该软件基于python3,可使用pip安装。

#安装
pip3 install grabseqs
#下载数据
grabseqs sra -t 6 SRR000000 SRP000000 PRJNA000000

到这里主要的方法就介绍完了,但是需要注意的是.sra格式是无法直接使用的,需要转换为fastq格式。一般使用fastq-dump --gzip --split-files SRR000000.sra进行转换。

5、其他工具辅助下载

科研就是去认知本质,不断进步。我们有了这么多的工具进行数据下载,但我们任然可以进行优化,更方便快捷的使用以利于更好的得到实验结果。比如使用爬虫爬取链接,自动生成索引文件,自动进行下载转换等。
学无止境,勇于尝试,才能不断突破。

最后
终于是写完了我研究生生活的第一篇文章,拖了三天,最后在中秋佳节写完了。身份的突然转换,总是让我有些迷茫。加油吧!彩虹总是在风雨之后才会显现!!!


http://chatgpt.dhexx.cn/article/8c0eh8R9.shtml

相关文章

maxcompute-入门-数据下载

maxcompute数据下载的三种方式 maxcoumpute下载数据有三种方式&#xff1a; 1、直接通过dataworks云端下载&#xff0c;但是这个只能下载小于1万行的数据&#xff1b; 2、通过odpscmd客户端下载&#xff0c;有两种方式&#xff1a;分区下载只能下一天数据&#xff1b;或者先运行…

IBM Websphere MQ 基础4:Channel通道与MQ间消息传输

概念 WebSphere MQ uses two different types of channels: A message channel, which is a unidirectional communications link between two queue managers. WebSphere MQ uses message channels to transfer messages between the queue managers. To send messages in b…

MQ - 如何保证消息不丢失?处理重复消息?消息堆积处理?

什么是消息队列 在百度百科中&#xff0c;消息队列是这么解释的&#xff1a;“消息队列”是在消息的传输过程中保存消息的容器。 消息队列全称为英文 Message Queue 简称&#xff08;MQ&#xff09;是一种应用程序对应用程序的通信方法。MQ 是消费-生产者模型的一个典型的代表…

IBM MQ通道常用知识列举(一)

MQ的几个基本组件&#xff1a; 1. 什么是通道 通道是分布式队列管理器在IBM MQ MQI 客户端和IBM MQ服务器之间或两个IBM MQ服务器之间使用的逻辑通信链路。通道用于将消息从一个队列管理器移动到另一个队列管理器。 2, 启动通道 对发送方、服务器和请求方通道使用 MQSC 命令…

微服务 消息中间件MQ

微服务 消息中间件MQ 1. MQ的定义2. MQ的作用3. MQ的特点4. MQ消费方式5. 常用MQ对比分析 1. MQ的定义 MQ就是消息中间件。面向消息的中间件&#xff08;message-oriented middleware&#xff09;MOM能够很好的解决以上问题。是指利用高效可靠的消息传递机制与平台无关的数据交…

MQ消息队列

MQ MQ全称Message Queue(消息队列)&#xff0c; 实在消息传输过程中保存消息的容器。多用于分布式系统之间进行通信两种 通信方式&#xff1a; MQ优势 消息到达MQ后直接给出响应&#xff0c;然后服务去消费相应的消息&#xff0c;用户体验极好 应用解耦&#xff1a;提高系…

IBMMQ linux版命令创建队列管理器、队列、通道、window连接(六)

1. 队列、通道介绍 1.1 本地队列 本地队列又分为普通本地队列和传输队列&#xff0c;普通本地队列是应用程序通过API对其进行读写操作的队列&#xff1b;传输队列可以理解为存储-转发队列&#xff0c;比如&#xff1a;我们将某个消 息交给MQ系统发送到远程主机&#xff0c;而此…

IBM MQ 通道

一&#xff0c;定义 通道是分布式队列管理器在IBM MQ MQI 客户端和IBM MQ服务器之间或两个IBM MQ服务器之间使用的逻辑通信链接。 通道是提供从一个队列管理器到另一个队列管理器的通信路径的对象。通道在分布式队列中用于将消息从一个队列管理器移动到另一个队列管理器&#x…

MQ135

这里写自定义目录标题 以MQ135为例 原文链接 首先声明&#xff0c;公式不是官方给定的&#xff0c;而且有很多的局限性。 这篇文章是个人对MQ系列传感器电压与浓度转换的公式进行一个探索。 以MQ135为例 在氨气曲线上采点&#xff0c;得 x&#xff08;ppm&#xff09;[10,2…

MQ简介以及架构图

一、什么是MQ Message Query&#xff08;MQ&#xff09;&#xff0c;消息队列中间件&#xff0c;很多初学者认为&#xff0c;MQ通过消息的发送和接受来实现程序的异步和解耦&#xff0c;mq主要用于异步操作&#xff0c;这个不是mq的真正目的&#xff0c;只不过是mq的应用&…

IBMMQ java远程访问(四)

当应用程序和MQ不在同一台主机上的时候&#xff0c;我们将要通过通道去访问&#xff1b; 1.创建队列管理器时勾选创建服务器链接通道&#xff1b; 2.创建一个本地队列 命名为Q1 3.创建通道 右击通道->新建->服务器链接通道 命名为SERVERQM2 4.代码示例调用 package com.i…

MQ理论介绍与主流MQ对比

1、什么是MQ? MQ&#xff08;Message Queue&#xff09;消息队列&#xff0c;是基础数据结构中“先进先出”的一种数据结构。指把要传输的数据&#xff08;消息&#xff09;放在队列中&#xff0c;用队列机制来实现消息传递——生产者产生消息并把消息放入队列&#xff0c;然…

什么是MQ

MQ概述 MQ全称 Message Queue&#xff08;消息队列&#xff09;&#xff0c;是在消息的传输过程中保存消息的容器。多用于分布式系统之间进 行通信。 分布式系统之间进行通信&#xff1a; 远程调用&#xff1a;各系统间直接通过远程调用的方式&#xff1b; 借助第三方完成系统…

MQ的概念和RabbitMQ知识点(无代码)

目录 1. MQ的基本概念 1.1 MQ概述 1.2 MQ的优势 1. 应用解耦 2. 异步提速 3. 削峰填谷 1.3 MQ的劣势以及可能引发的问题 1.4 常见的MQ产品 2. RabbitMQ的知识点 2.1 RabbitMQ的工作模式 1. 简单模式 2. 工作队列模式 Work Queue 3. 发布订阅模式 Publish/subscri…

MQ简介

一、何为MQ&#xff1f; MQ全称为Message Queue, 消息队列&#xff08;MQ&#xff09;是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息&#xff08;针对应用程序的数据&#xff09;来通信&#xff0c;而无需专用连接来链接它们。消息传递指的是程序之间通…

【MQ基本概念 MQ的工作原理】

一、 MQ 基本概念 1 、 MQ 概述 MQ 全称 Message Queue &#xff08;消息队列&#xff09;&#xff0c;是在消息的传输过程中保存 消息的容器。多用于分布式系统之间进 行通信。 小结 MQ &#xff0c;消息 队列&#xff0c;存储消息的中间件 分布式系统通信两种方式&…

mq的基本介绍和基本用法

一 、什么是MQ&#xff0c;有什么用 MQ 是message queue ,消息队列&#xff0c;也叫消息中间件&#xff0c;遵守JMS&#xff08;java message service&#xff09;规范的一种软件。(同时还有另一个叫AMQP的应用层协议&#xff0c;语言无关性不受产品 语言等限制&#xff0c;r…

MQ(Message Queue)简介

一、何为MQ&#xff1f; MQ全称为Message Queue, 消息队列&#xff08;MQ&#xff09;是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息&#xff08;针对应用程序的数据&#xff09;来通信&#xff0c;而无需专用连接来链接它们。消息传递指的是程序之间通…

MQ消息队列详解、四大MQ的优缺点分析

MQ消息队列详解、四大MQ的优缺点分析 前言面试题切入面试官心理分析面试题剖析①为什么要使用MQ系统解耦异步调用流量削峰消息队列的优缺点四大主流MQ&#xff08;kafka、ActiveMQ、RabbitMQ、RocketMQ&#xff09;各自的优缺点 前言 近期有了想跳槽的打算&#xff0c;所以自己…

file和filestream

在C#编程环境中&#xff0c;当我们对电脑文件进行读写、移动、复制、删除等这些操作时&#xff0c;这些都可以在system.IO名称空间下&#xff0c;所以当我们想要通过C#编程语言对其进行操作时&#xff0c;需要添加该名称空间&#xff0c;它内部包含对数据流和文件进行同步或异步…