【数据库】SRA数据库介绍及数据下载

article/2025/8/23 5:51:28

【数据库】SRA数据库介绍及数据下载

生信技术 2021-10-06 11:00

以下文章来源于生信Alpha ,作者BioinfoPenn

生信Alpha.

生物信息、生物统计、Linux系统、shell、R、Python等日常学习记录分享~欢迎交流指正~

【数据库】SRA数据库介绍及数据下载 - 目录

  • 1. SRA数据库介绍

    • (1) SRP开头的ID:PRJNA = SRP

    • (2) PRJNA开头的ID:SAMN = SRS

    • (3) SRX开头的ID

    • (4) SRR开头的ID

  • 2. SRA数据的下载

    • (1) 使用Aspera Connect 软件下载

    • (2) 使用sratoolkit中的prefetch命令下载

    • (3) 使用SRA Explorer下载

    • (4) 使用wget直接下载

    • (5) 使用SRAdbV2 R包下载

    • (6) 批量创建链接,迅雷下载

1. SRA数据库介绍

NCBI - SRA(Sequence ReadArchive)数据库是NCBI用于存储二代测序的原始数据,包括 454,Illumina,SOLiD,IonTorrent等,这个数据库是可以免费无限制下载的。当然,也可以到EBI - ENA数据库直接下载fastq .gz文件。

根据SRA数据产生的特点,将SRA数据分为四类,这四种分类有一个层次关系,SRA数据库用不同的前缀加以区分。
数据的层级结构是:SRP(项目研究/Studies) → SRX(实验设计/Experiments) → SRS(样本信息/Samples) → SRR(测序结果集/Runs)
伴随数据库是project,层级是PRJNA → SAMN

注:runs表示测序仪运行所产生的reads。一个Study可能包含多个Experiment,Experiments包含了Sample、DNA source、测序平台、数据处理等信息。一个Sample也可能对应多个Experiments。

一般文章里面会给出数据地址,例如,根据文章的GSE号进入GEO数据库里面,就可以看到其对应的SRA数据库ID号。https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE84498

图片

测试数据
后续讲解采用以下文章的数据:

文章:Liu H, Murphy CJ, Karreth FA, Emdal KB, White FM, Elemento O, Toker A, Wulf GM, Cantley LC.Identifying and Targeting Sporadic Oncogenic Genetic Aberrations in Mouse Models of Triple-Negative Breast Cancer. Cancer Discov. 2018 Mar;8(3):354-369. doi: 10.1158/2159-8290.CD-17-0679.
文章下载地址:http://cancerdiscovery.aacrjournals.org/content/candisc/early/2018/02/14/2159-8290.CD-17-0679.full.pdf
数据地址:
https://www.ncbi.nlm.nih.gov/sra/?term=SRP115453
https://www.ebi.ac.uk/ena/browser/view/PRJNA398328?show=reads

(1) SRP开头的ID:PRJNA = SRP

文章如果提到其数据上传到了SRA数据库,那么就会给出SRP开头的ID。如:The sequencing data have been deposited in the NCBI Sequence Read Archive (SRA) database under the accession code SRP115453.
① 查看样本列表:https://www.ncbi.nlm.nih.gov/sra?term=SRP115453,可以看到该数据集共有182个数据。

图片


② 查看该project有哪些数据:https://www.ncbi.nlm.nih.gov/Traces/study/?acc=SRP115453;数据共1.35 T,有点大。可以根据研究目的进行样本筛选,挑选样本后,点击"Accession List"键, 下载得到SRR List 储存在SRR_Acc_List.txt 文件中。点击Metadata即可下载测序数据的相应信息,存储在SraRunTable.txt文件中。

图片

(2) PRJNA开头的ID:SAMN = SRS

PRJNA开头的ID等同于 SRP开头的ID。进入链接,可以看到发表的文章,以及涉及到的样本:https://www.ncbi.nlm.nih.gov/bioproject/PRJNA398328;该项目一共182个样本。

图片


查看每个样本的情况:
链接:https://www.ncbi.nlm.nih.gov/sra?term=SAMN07504222;可以看到每个样本对应1个测序数据。SAMN开头的ID等同于SRS开头的ID。

图片


当然,也有同一样本存在多种测序数据的情况,如:https://www.ncbi.nlm.nih.gov/sra?term=SAMN05341212 ;该样本存在6个数据。

图片

(3) SRX开头的ID

对于上例,每个样本6个数据的情况,还可以进入每个测序数据,如,https://www.ncbi.nlm.nih.gov/sra/SRX1922019

(4) SRR开头的ID

最后是,查看测序数据本身的信息:
https://trace.ncbi.nlm.nih.gov/Traces/sra/?run=SRR5934050

图片


注:网页相应的位置均有链接可直接跳转到对应的数据页面。

2. SRA数据的下载

sra数据的下载可以通过网页端下载,但是比较不方便。可借助以下软件工具来进行下载。

(1) 使用Aspera Connect 软件下载

Aspera Connect (http://downloads.asperasoft.com/en/downloads/8?list) 软件,是IBM旗下的商业高速文件传输软件,与NCBI和EBI有协作合同,可以免费使用其下载高通量测序文件。下载完成后,本地用fastq-dump提取fastq文件,用sam-dump提取SAM 文件。
1) 下载并解压安装aspera

wget http://download.asperasoft.com/download/sw/connect/3.7.4/aspera-connect-3.7.4.147727-linux-64.tar.gz
tar -xvzf aspera-connect-3.7.4.147727-linux-64.tar.gz
bash aspera-connect-3.7.4.147727-linux-64.sh

2) 设置环境变量

echo 'export PATH=~/.aspera/connect/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
# EBI-ENA数据的存放地址为 fasp.sra.ebi.ac.uk,ENA在Aspera的用户名是era-­fasp。

3) 获取sra下载链接
EBI - ENA下载链接获取:https://www.ebi.ac.uk/ena/browser/view/PRJNA398328?show=reads;点击下图红框中的TSV,即可下载得到182个测序数据的下载链接。

图片


原始数据:ftp://ftp.sra.ebi.ac.uk/vol1/srr/SRR593/008/
fastq数据:ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR593/008/

如:

  • study_accession:PRJNA398328

  • sample_accession:SAMN07504110

  • experiment_accession:SRX3094195

  • run_accession:SRR5933808

  • tax_id:10090

  • scientific_name:Mus musculus

  • fastq_ftp:ftp.sra.ebi.ac.uk/vol1/fastq/SRR593/008/SRR5933808/SRR5933808_1.fastq.gz;ftp.sra.ebi.ac.uk/vol1/fastq/SRR593/008/SRR5933808/SRR5933808_2.fastq.gz

  • sra_ftp:ftp.sra.ebi.ac.uk/vol1/srr/SRR593/008/SRR5933808

也可批量自行构建网址:
SRR593/008/SRR5933808/SRR5933808_1.fastq.gz为替换的路径掌握规律后可批量构建。
fastq
链接:ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR前3位/00最后1位/SRR号/SRR号_1或者2.fastq.gz
例如:ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR593/008/SRR5933808/SRR5933808_1.fastq.gz
sra
链接:ftp://ftp.sra.ebi.ac.uk/vol1/srr/SRR前3位/00最后1位/SRR号
例如:ftp://ftp.sra.ebi.ac.uk/vol1/srr/SRR593/008/SRR5933808

4) 使用ascp命令下载
Aspera用法如下:

ascp --help
# ascp [参数] 目标文件 保存路径
# -v verbose mode 实时知道程序在干什么
# -T 取消加密,否则有时候数据下载不了
# -i 提供私钥文件的地址
# -l 设置最大传输速度,一般200m到500m,如果不设置,反而速度会比较低,可能有个较低的默认值
# -k 断点续传,一般设置为值1
# -Q 一般加上它
# -P 提供SSH port,端口一般是33001
# export ASPERA_SCP_PASS=~/.aspera/connect/etc/asperaweb_id_dsa.openssh
ascp -vQT -k1 -l 400m -P33001 -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh era-fasp@ftp.sra.ebi.ac.uk:vol1/srr/SRR593/008/SRR5933808 ./ &ascp -vQT -k1 -l 400m -P33001 -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh era-fasp@fasp.sra.ebi.ac.uk:vol1/fastq/SRR593/008/SRR5933808 ./ &#era-fasp是aspera在ENA的用户名,fasp.sra.ebi.ac.uk是固定下载地址,需要记住。
#数据默认存储在当前路径的SRR5933808目录下

(2) 使用sratoolkit中的prefetch命令下载

SRA Tookit 是NCBI 提供的下载软件,需要选择合适的版本下载安装。
下载地址:https://trace.ncbi.nlm.nih.gov/Traces/sra/sra.cgi?view=software
SRA Toolkit Documentation:https://trace.ncbi.nlm.nih.gov/Traces/sra/sra.cgi?view=toolkit_doc
Frequently Used Tools:
fastq-dump: Convert SRA data into fastq format
prefetch: Allows command-line downloading of SRA, dbGaP, and ADSP data
sam-dump: Convert SRA data to sam format
sra-pileup: Generate pileup statistics on aligned SRA data
vdb-config: Display and modify VDB configuration information
vdb-decrypt: Decrypt non-SRA dbGaP data (“phenotype data”)

1) 下载

wget https://ftp-trace.ncbi.nlm.nih.gov/sra/sdk/2.11.0/sratoolkit.2.11.0-ubuntu64.tar.gz
tar xzvf sratoolkit.2.11.0-ubuntu64.tar.gz -C ~/softwares# 如有su权限,可直接下载:
su
apt install sra-toolkit# 也可使用conda安装
conda install sra-tools

2) 配置环境变量

echo "export PATH=$PATH:YOUR_PATH/sratoolkit.2.11.0-ubuntu64.tar.gz/bin" >> ~/.bashrc
source ~/.bashrc
prefetch -h

3) prefectch命令下载数据

# prefetch下载的数据在home目录下的ncbi目录里。
prefetch SRR5933808  &     #下载单个SRA文件
prefetch --option-file SRR_Acc_List.txt  #下载多个SRA文件默认下载的是sra格式数据,可以使用fastq-dump将sra转换为fastq了。
fastq-dump --gzip --split-3 SRR5933808.sra# 也可以直接使用fastq-dump下载数据,下载之后直接即使fastq格式。
# 不过还是选择prefetch比较好,因为sra数据格式比fastq格式占用空间较小,下载速度快;另一方面,sra也方便断点续传。
# 直接利用fastq-dump下载数据
fastq-dump --split-files SRR5933808 SRR5933808/

4) 文件拆分及格式转换

fastq-dump --split-files SRR5933808.sra
fastq-dump --split-files SRR5933808 
fastq-dump --gzip --split-3 SRR5933808 
# --split-spot: 将双端测序分为两份,但是都放在同一个文件中
# --split-files: 将双端测序分为两份,放在不同的文件,但是对于一方有而一方没有的reads直接丢弃
# --split-3: 将双端测序分为两份,放在不同的文件,但是对于一方有而一方没有的reads会单独放在一个文件夹里
# --gzip: 输出文件为gzip压缩格式

注:当不确定到底是单端还是双端的SRA文件,一律用--split-3

其他工具使用示例:

# ftp://ftp.ncbi.nlm.nih.gov/sra/data/smoke_test.sh#!/bin/bash
echo "Public data dump started SRR4065643"
./fastq-dump SRR4065643
./fastq-dump --split-files SRR4065643
./sam-dump SRR4065643 > SRR4065643.sam
rm -rf SRR4065643*
./fasterq-dump SRR4065643
./prefetch --type any SRR4065643
rm -rf SRR4065643*
echo "Public data dump ended"echo "Starting dbGaP with ngc"
./fastq-dump --ngc ~/prj_phs710EA_test.ngc  SRR1219879
rm -rf SRR1219879*
./fasterq-dump --ngc ~/prj_phs710EA_test.ngc SRR1219879
./sam-dump --ngc ~/prj_phs710EA_test.ngc  SRR1219879
./prefetch --ngc ~/prj_phs710EA_test.ngc  SRR1219879
rm -rf SRR1219879*
echo "NGC test done"

(3) 使用SRA Explorer下载

由瑞典斯德哥尔摩的Phil Ewels开发的网页下载工具:https://sra-explorer.info/#
支持输入:GSE、SRA、SRP、PRJ、EPR,甚至直接通过物种+组织+测序技术搜索
即使一个SRX包括超过一个数据集的时候(多个SRR),也会返回结果,例如:SRX1067547包含两个run。

(4) 使用wget直接下载

找到数据下载链接后直接使用如下命令下载sra或者fastq数据。

wget -c -t 0 -O SRR5933809  ftp.sra.ebi.ac.uk/vol1/srr/SRR593/009/SRR5933809 
wget -c -t 0 -O SRR5933809_1.fastq.gz ftp.sra.ebi.ac.uk/vol1/fastq/SRR593/009/SRR5933809/SRR5933809_1.fastq.gz &
# -c -t 配合使用可以防止下载数据的过程中链接中断的问题,-O则可以指定下载路径和文件名。

(5) 使用SRAdbV2 R包下载

可以使用SRAdbV2 R包获取SRA数据:https://seandavi.github.io/SRAdbV2/articles/SRAdbv2.html

BiocManager::install('seandavi/SRAdbV2')
library(SRAdbV2)# 使用SRAdbV2 首先需要创建一个 R6类-Omicidx
oidx = Omicidx$new()# 创建好Omicidx实例后,就可以使用oidx$search()来进行数据检索
query=paste(paste0('sample_taxon_id:', 10116),'AND experiment_library_strategy:"rna seq"','AND experiment_library_source:transcriptomic','AND experiment_platform:illumina')
z = oidx$search(q=query,entity='full',size=100L)
# z = oidx$search(q="PRJNA398328",entity='full',size=100L)
# 其中,entity 参数是指可以通过API获得的SRA实体类型, size 参数指查询结果返回的记录数

(6) 批量创建链接,迅雷下载

获取SRR ID后,批量创建下载链接,粘贴到迅雷即可下载。

# 根据SRR_Acc_List.txt文件一键自动创建下载链接
cat SRR_Acc_List.txt|while read a ;do t1=${a:0:6};t2=${a:9:9};echo "ftp://ftp.sra.ebi.ac.uk/vol1/srr/$t1/00$t2/$a/$a.sra";done
# ftp.sra.ebi.ac.uk/vol1/srr/SRR593/008/SRR5933808
# ftp.sra.ebi.ac.uk/vol1/srr/SRR593/009/SRR5933809
# ftp.sra.ebi.ac.uk/vol1/srr/SRR593/000/SRR5933810
# ftp.sra.ebi.ac.uk/vol1/fastq/SRR593/008/SRR5933808/SRR5933808_1.fastq.gz

注:构造ftp链接后使用wget下载数据的缺点:依赖网络情况,速度较慢,容易出错。

参考阅读:
生信技能树 - 解读SRA数据库规律一文就够
生信技能树 - SRA数据库的数据并不一定要在SRA数据库下载
百迈客医学 - SRA数据下载的几种常见方法
生信星球 - 也许是最方便的SRA数据下载方式
基因学苑如 - 何下载生物数据(四):SRA数据下载


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

相关文章

【MySQL】数据库介绍以及MySQL数据库

目录 数据库介绍 数据库概述 数据表 MySql数据库 MySql安装 登录MySQL数据库 ​​​​​​​SQLyog(MySQL图形化开发工具) 数据库介绍 数据库概述 什么是数据库(DB:DataBase) 数据库就是存储数据的仓库,其本质是一个文件系统&…

SQL——Mysql数据库介绍

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。 MySQL: 介绍: 什么是数据库?就是一个软件&#xff…

数据库简介

文章目录 数据库简介前言一、数据库的基本概念二、常用数据库三、关系型数据库1.关系型数据库介绍2.关系型数据库小结 四、非关系型数据库1.非关系型数据库诞生的背景2.非关系型数据库小结3.非关系型数据库种类① 键值(Key-Value)存储数据库② 列存储&am…

数据库简介(初步了解数据库)

数据库介绍 1.1 数据库概念 数据库,就是存放数据的仓库 数据库(DataBase,简称DB)是⻓期存储在计算机内部有结构的、大量的、共享的数 据集合。 ⻓期存储:持久存储 有结构: 类型:数据库不…

美妆app如何脱离流量变现难题?

虽然我们看到抹茶美妆、美妆心得和美妆相机所走的路线有所差异,但是他们同属一种美妆app,那就是走内容电商的模式。尽管彼此之间的内容有所倾斜,但他们的目的都是想通过专业的引导来勾起消费者的购买欲望。但这一类美妆app存在几个比较致命的…

APP运营如何实现流量变现,获取更高收益?

在进行APP开发时,许多从业人员有着“等用户量大了,还愁收益问题吗”的心理。然而,当用户数量达到一定规模时,许多APP开发者开始担心流量实现的问题。甚至一些知名的APP也可能因缺乏有力的方法而陷入流量变现效果不理想的困境。下面…

小游戏流量变现瓶颈,新增长点是超级App?

2018年微信在其6.6.1版本中宣布支持小游戏,之后的几年,但凡能掀起各大社交平台上病毒式传播的,几乎都是小游戏。 小游戏玩法简单,传播机制简单,套路简单,连赚钱的本质也简单。就拿近期火爆的《羊了个羊》小…

应对流量损耗:提升APP广告变现效果的关键策略!

​引言: 在APP广告变现的过程中,流量损耗是一个常见的问题,它不可避免地会发生。尽管开发者可以在合理的范围内承受这种损耗,但如果出现大范围的损耗,那就意味着在广告变现过程中出现了一些问题,限制了开发…

App用户运营如何持续流量变现?

在行业现状中,看到的文章要么是流量获取,要么就是跟风内圈裂变和拉新,用户都看疲乏了。 在企业长期未来发展来看,最主要的要做好用户留存,这是至关重要的。产品的增长,不光是要看流量,而是要看…

APP的类型及流量变现策略

目前市面上的App大致分为以下几大类,社交、资讯、工具、短视频、直播、电商和游戏等。 01、社交、资讯类和短视频类APP 这类APP可以统一归为信息流类型,在这些APP上,用户滑动查看一条一条动态、文章、图片、视频等,往往也是用户…

APP流量变现超实用功能之AB测试,驱动媒体收益增长

对流量变现有高收益期望的开发者来说,一定离不开A/B测试。A/B测试能够帮助产品运营选取最佳策略,是验证变现策略最直观、准确的方法之一,所以A/B测试是APP流量变现策略优化过程中超实用的必备功能。 市面上大多数A/B测试功能只支持简单的渠道…

APP变现正确使用流量分组,挖掘更大变现收益

随着移动广告变现不断的深入发展,流量精细化运营的进一步提升,我们会发现不同流量在广告交易过程中的价值和收益也不同,很多开发者都已经意识到这一点,也希望能给自身流量做切分售卖,从而获得更大的变现收益&#xff0…

解析app流量商业化变现,ADCDN助力开发者变现双倍增长

现如今在app获客成本日益增加前提下,以商业价值驱动APP的快速成长和长远发展成为开发者首要任务。而广告变现已是目前app流量商业化变现主趋势,头部媒体已然走在行业前列,无论玩法、行业讯息都有各大厂商KA护航,中小开发者如何更好实现app广告变现,以下几点希望能对中小开…

Android 个人开发者如何接入广告SDK,实现app流量变现

接入广告的APP连接 大家可以下载看看(无需积分) 链接: https://download.csdn.net/download/qq_38355313/88063389 开屏广告示意图: 1.个人开发者如何添加广告SDK? 像大厂的广告SDK,比如穿山甲SDK,点广…

深挖App流量变现价值,“LTV”这个你不得不了解的关键因素

一、​什么是LTV LTV(lifetime value),即用户生命周期价值,LTV代表了用户完整生命周期内给企业创造的价值总额。LTV越高,App流量变现的价值越高,常用于衡量App广告变现收益能力。所以,LTV值是流量变现过程中的一个重要…

流量即价值,存量时代APP流量商业化变现应如何“提效+增收”?

稳定的商业化能力是APP产品持续发展的基础,对于大多数工具类APP来说,获得大量的用户并不是开发者的最终目标——让用户产生稳定的广告收益价值,提升ROI闭环效率,才是盘活APP商业化的终极目标。 在移动互联网存量时代,…

app流量变现流量分发策略——waterfall技术

waterfall,中文翻译为“瀑布流”,字面意思理解就是“从上往下流”,但“从上到下”这四个字该如何理解? 在广告行业中,waterfall指的是“在无法实时评估每次流量的价值时,基于历史eCPM数据,从上…

APP流量变现之穿山甲广告平台接入

1. 首先百度搜索 “穿山甲广告投放”,第一个出现的链接就是开发者官网,截图如下: 2.进入之后点击注册,然后登陆(这一步穿山甲超级简单,如果不着急提现收益的话,可以不用输入详细的完整信息就可以…

变现干货 ∣ 十分钟快速解析,APP流量变现如何提升eCPM

​说到eCPM,做流量变现的开发者们想必都很清楚。eCPM直接关系变现收入高低和多少,是运营优化提升收益的重要指标。想要做好ecpm的优化提升,首先就要清楚ecpm的影响因素,从而有针对性的调优。 首先,让我们看看什么是eCP…