测序数据下载是生信技能树[生信爆款入门课程]转录组部分Day16的讲到的重要知识点。为加深理解,现在对sra与fastq简介及数据下载做下总结。
测序的生信数据往往体量庞大,动辄几十个G不在话下,常规的下载方式往往会遇到下载速度慢或者下载不成功的问题。但是呢,在复现论文或者学习生信流程的过程中,获取数据又是第一步的工作,所以总结了一些简单的数据下载的方式。
1.NCBI-SRA数据库与EBI-ENA数据库
所有已发表文献中的高通量测序数据大多会上传到某个数据库中方便其他人的下载学习与再研究,这其中受众最广的自然是出身NCBI的SRA数据库。同时出身EBI的ENA数据库对于下载数据有很多便利之处,所以在具体下载文件之前先了解一下这两个数据库的情况。
NCBI与EBI同属于INSDC:International Nucleotide Sequence Database Collaboration,提交给所属三个数据库的数据是可以互通的。该架构内容具体如下:
1.1SRA数据库
SRA数据库: Sequence Read Archive是一个保存高通量测序数据以及比对信息和元数据(meta data)的数据库,所有已经发表的文献中的高通量测序数据基本上都会上传到该数据库中,这个数据库隶属于NCBI。
1.2 ENA数据库
ENA数据库: European Nucleotide Archive隶属于EBI,功能上应该是与SRA类似的,但是其搜索界面更加亲民,并且对于下载fastq文件以及检查下载数据完整性更加友好,所以强烈推荐优先使用。具体优劣势详见后续说明。
1.3 SRA数据库的各种编号
- 元数据(meta data)
是指与测序实验及其实验样品相关的数据, 如实验目的、 实验设计、 测序平台、 样本数据(物种, 菌株,个体表型等),在SRA数据库中,meta数据分如下层次来存储:- 研究课题(study)
在 SRA 数据库中,研究课题的检索号(accession number)以前缀 DRP,ERP 或 SRP 开头。 - 样本信息(sample)
样本的检索号以前缀 DRS,ERS 或 SRS 开头。 样本信息可以包括物种信息、 菌株(品系)信息、家系信息、表型数据、临床数据, 组织类型等。 - 实验信息(experiment)
实验的检索号以前缀 DRX,ERX 或 SRX 开头。 实验是 SRA 数据库的最基本单元, 就像 PubMed 数据库的每一篇文献是 PubMed数据库的基本单元一样。 一个实验隶属于某个研究课题,对一个或多个样本进行测序,产生的测序数据以 runs 的形式存储于SRA数据库。
- 研究课题(study)
- 序列数据
包括序列及其质量信息等,在 SRA 数据库中以 run 为单元存储。run 的检索号以前缀 DRR,ERR 或 SRR 开头。
1.4 ENA数据库使用
首先,在数据库页面右上角搜索栏输入目标SRA检索号,确认后稍等片刻可得结果页面
其次,点击选取 Experiment 可以获得该实验下所有的测序序列数据的信息
我们可以看到隶属于该实验的两个序列数据信息,并且可以在 FASRTQ files(FTP) 栏中获得直接下载 fastq 文件的FTP 地址。
获取直接下载 fastq 文件的FTP地址
1.5 ENA数据库的另一个优势
除了可以直接获取得到 fastq 文件外,使用ENA数据库还有一个优势是可以确认下载数据的完整性。生信数据的大体量性带来的下载时间长(期间网络万一不正常就会波动)可能会造成下载数据的缺失等问题,这些问题一般很难在获得数据的初期被发现。ENA数据库提供了md5码这种途径来检查数据的完整性。
简单来说,依据特定算法可以从大数据文件的数据内容计算出一个特定的md5码,如果数据有缺失,计算所得的md5码就会与原始的不同,所以我们可以通过计算我们下载所得数据的md5码并与网站提供的原始md5码进行比较来判断下载数据是否有问题,如果相同则证明数据没问题。
在ENA数据库结果页面点击信息表坐上角的 select column 后可以选择将 Fastq md5 展示出来
针对下载所得的数据文件,我们可以使用 md5sum 命令进行计算其md5码。
md5sum file_name.fastq.gz
2. 使用fastq-dump从SRA获取fastq文件
如果ENA上有我们所需要的数据的话,下载的过程自然是十分快捷舒服的,但是有可能数据的同步速度没那么快,在NCBI上传的数据还没同步到ENA的网站上你就要使用了怎么办呢?那还是老老实实回到NCBI去下载,NCBI为了方便管理下载者的流量,有其专门的下载软件sratoolkit。
2.1 sratoolkit 下载与使用
sratoolkit的下载可以参照官方文档,需要注意的是下载之后的配置路径,参照官方文档的说明应该是没有问题的。因为本人使用的是实验室服务器里已经配置好的环境,所以很轻松地略过了这一步骤,哈哈哈。
主要使用的工具是prefetch和fastq-dump。其中,prefetch主要是用来从NCBI的数据库中下载得到.sra文件,文件将会保存在如下地址:
~/ncbi/public/sra/
fastq-dump则可以将下载所得的.sra文件转化为.fastq文件,可以配套prefetch获得fastq文件,也可以单独使用下载得到fastq文件(速度巨慢)。
2.2 NCBI 数据下载示例
无论是使用 prefetch 还是 fastq-dump, 我们都可以直接使用SRA检索号,而不需要使用具体地址。下载示例如下:
#use prefetch and fastq-dump to get fastq.gz file into dir data_download
prefetch SRR7368841
fastq-dump -o $HOME/data_download --gzip ~/ncbi/pubilic/sra/*.sra
#use fastq-dump to download fastq.gz file into dir data_download
fastq-dump -o $HOME/data_download --gzip SRR7368841