SRA数据库
Sequence Read Archive (SRA)是NCBI旗下的数据库之一,其作用是存储包括Illumina、454、IonTorrent、Complete Genomic、PacBio和OxfordNanpores在内的二代测序技术所产生的原始序列数据(GEO数据库是经过一定处理的数据。)。这些数据可以提交给GeneBank(美国)、EMBL(欧洲)和DDBJ(日本)这三大核酸数据库之一,并会在三者间共享,这三大核算数据库组成的联合核苷酸数据库被称为INSDC(国际核苷序列联合数据库)。
SRA的官方网址为:https://trace.ncbi.nlm.nih.gov/Traces/sra/
因为其整合在NCBI中,所以搜索时需要通过NCBI的官网https://www.ncbi.nlm.nih.gov/的搜索框中的下拉菜单中选取SRA进行数据的搜索。
使用SRA的数据可以验证实验结果、增大样本量以及开辟新的研究手段。(官方自评)
SRA的数据类型
- Studies-- 研究课题(前缀为ERP或SRP,包含多个Experiment)
- Experiments-- 实验设计(前缀为SRS,包含Sample、DNA source、测序平台和测序数据等信息)
- Samples-- 样品信息(前缀为SRX,包含一个或多个Runs)
- Runs-- 测序结果集(SSR开头的记录,代表测序仪器所产生的reads)
SRA Toolkit的测试
SRA Toolkit是NCBI官方提供的用于下载GEO以及SRA等数据库中数据的下载工具,此外R中也有基于SRA Toolkit的包。
首先看看SRA Toolkit的用法:
SRA Toolkit官方下载地址为:https://trace.ncbi.nlm.nih.gov/Traces/sra/sra.cgi?view=software
根据系统的不同可以分为CentOS、Ubuntu、MacOS以及Windows,均只有为64位版本。
安装
- Windows
为7z格式的绿色软件的压缩包,下载完成后,将其解压至目标位置后,将该路径添加至系统环境中。
- Linux
wget "ftp://ftp-trace.ncbi.nlm.nih.gov/sra/sdk/current/sratoolkit.current-centos_linux64.tar.gz"
下载数据
需要下载文件时,打开cmd命令行,通过cd命令将路径定位至软件的解压缩目录下~ \sratoolkit\bin
,以SRR390728的这个数据进行测试:
Windows:
fastq-dump.exe -X 5 -Z SRR390728
Linux:
在\sratoolkit\bin目录下时:
./fastq-dump -X 5 -Z SRR390728
该条命令的解读如下:
fastq-dump命令通过整合的fastq-dump工具下载fastq格式的数据,或者将已经下载好的sra数据转换为fastq格式。
-X 5的意思是返回前5个记录的结果。
-Z的意思是输出在屏幕上,待下载结束后屏幕将会出现5个记录。
需要注意的是,虽然这个数据有184M,但通过这个命令仅会下载2M左右,下载的文件路径为:
C:\Users\[User's name]\ncbi\public\
此时屏幕上显示的前5个记录的内容为:
Read 5 spots for SRR390728
Written 5 spots for SRR390728
@SRR390728.1 1 length=72
CATTCTTCACGTAGTTCTCGAGCCTTGGTTTTCAGCGATGGAGAATGACTTTGACAAGCTGAGAGAAGNTNC
+SRR390728.1 1 length=72
;;;;;;;;;;;;;;;;;;;;;;;;;;;9;;665142;;;;;;;;;;;;;;;;;;;;;;;;;;;;;96&&&&(
@SRR390728.2 2 length=72
AAGTAGGTCTCGTCTGTGTTTTCTACGAGCTTGTGTTCCAGCTGACCCACTCCCTGGGTGGGGGGACTGGGT
+SRR390728.2 2 length=72
;;;;;;;;;;;;;;;;;4;;;;3;393.1+4&&5&&;;;;;;;;;;;;;;;;;;;;;<9;<;;;;;464262
@SRR390728.3 3 length=72
CCAGCCTGGCCAACAGAGTGTTACCCCGTTTTTACTTATTTATTATTATTATTTTGAGACAGAGCATTGGTC
+SRR390728.3 3 length=72
-;;;8;;;;;;;,*;;';-4,44;,:&,1,4'./&19;;;;;;669;;99;;;;;-;3;2;0;+;7442&2/
@SRR390728.4 4 length=72
ATAAAATCAGGGGTGTTGGAGATGGGATGCCTATTTCTGCACACCTTGGCCTCCCAAATTGCTGGGATTACA
+SRR390728.4 4 length=72
1;;;;;;,;;4;3;38;8%&,,;)*;1;;,)/%4+,;1;;);;;;;;;4;(;1;;;;24;;;;41-444//0
@SRR390728.5 5 length=72
TTAAGAAATTTTTGCTCAAACCATGCCCTAAAGGGTTCTGTAATAAATAGGGCTGGGAAAACTGGCAAGCCA
+SRR390728.5 5 length=72
当进行到这一步时,说明软件安装成功,并且可以正常下载数据了。
数据下载
关于SRA Toolkit的命令和参数将在后面详解,此时,可以先试试下载一个原始的压缩格式的sra数据:
Windows:
prefetch.exe SRR390728
Linux:
./prefetch SRR390728
此时的cmd命令行显示如下:
2019-06-16T09:19:44 prefetch.2.9.3: 1) Downloading 'SRR390728'...
2019-06-16T09:19:44 prefetch.2.9.3: Downloading via https...
如果结束后未报错,则说明下载成功。
等下载完成后,linux中可以通过下述命令进行md5校验
md5sum -b
当校验通过时,就可以愉快的折腾数据了。
sratoolkit
该工具整合了prefetch、fastq-dump以及sam-dump。这三个工具中,prefetch用于下载原始文件,fastq-dump可以下载fastq格式的文件,也可以将下载好的sra格式文件转换为fastq格式。分别介绍这3个工具的用法与参数。
- prefetch
- 用法
prefetch [options] <path/SRA file | path/kart file> [<path/file> ...]
prefetch [options] <SRA accession>
prefetch [options] --list <kart_file>
- 参数
参数 | 说明 |
---|---|
-h或--help | 帮助 |
-V或--version | 版本信息 |
-f或--force <value> | value: no、yes和all。no为默认值,当本地发现下载完成的文件时,将跳过该文件。yes代表即使本地先前已经下载完成,仍然下载该文件。all值代表忽略旧文件,并且忽略正在下载的文件。 |
--transport | value: ascp、http、bost(优先ascp),默认值为both |
-l或--list | li |
- 示例
该示例将Shell命令行cd至sra文件目录下,然后指明fastq-dump.exe路径,最终会将SRR390728.sra转换为fastq文件,转换后的文件处于sra文件目录下,为fastq格式的同名文件。
- fastq-dump
- 用法
#single-end 单端测序
.../fastq-dump DRR000003.sra # 结果生成DRR000003.fastq
.../fastq-dump --fasta DRR000003.sra # 结果生成DRR000003.fastq
#pair-end 双端测序
.../fastq-dump --split-3 DRR002018.sra # 结果生成 DRR002018_1.fastq,DRR002018_2.fastq
- 示例
Windows:
H:\sratoolkit\bin\fastq-dump.exe SRR390728.sra
这个命令是在SRR390728.sra所在的目录下,通过fastq-dump.exe的绝对路径运行的。
Linux:
/home/soft/sratoolkit/bin/fastq-dump SRR390728.sra
注意,这个命令是在SRR390728.sra的目录下,输入fastq-dump的绝对路径进行的。
等了数个小时后
Read 7178576 spots for SRR390728.sra
Written 7178576 spots for SRR390728.sra