前言
測序的生信數(shù)據(jù)往往體量龐大,動(dòng)輒幾十個(gè)G不在話下,常規(guī)的下載方式往往會(huì)遇到下載速度慢或者下載不成功的問題。但是呢,在復(fù)現(xiàn)論文或者學(xué)習(xí)生信流程的過程中,獲取數(shù)據(jù)又是第一步的工作,所以總結(jié)了一些簡單的數(shù)據(jù)下載的方式。這里的數(shù)據(jù)主要針對(duì)有SRA號(hào)的測序數(shù)據(jù),這些數(shù)據(jù)是已發(fā)表文獻(xiàn)中的高通量測序數(shù)據(jù),因?yàn)樽髡咭彩且幻渡判“?,所以記錄成分更多?/p>
目錄
- NCBI-SRA數(shù)據(jù)庫與EBI-ENA數(shù)據(jù)庫
- SRA數(shù)據(jù)庫的各種編號(hào)
- 使用 aria2 從 ENA 直接下載 fastq 文件
- 使用 fastq-dump 從 SRA 獲取 fastq 文件
- 使用 rsync 從 NCBI 快速獲取數(shù)據(jù)
NCBI-SRA數(shù)據(jù)庫與EBI-ENA數(shù)據(jù)庫
所有已發(fā)表文獻(xiàn)中的高通量測序數(shù)據(jù)大多會(huì)上傳到某個(gè)數(shù)據(jù)庫中方便其他人的下載學(xué)習(xí)與再研究,這其中受眾最廣的自然是出身NCBI的SRA數(shù)據(jù)庫。同時(shí)出身EBI的ENA數(shù)據(jù)庫對(duì)于下載數(shù)據(jù)有很多便利之處,所以在具體下載文件之前先了解一下這兩個(gè)數(shù)據(jù)庫的情況。
補(bǔ)充說明,NCBI與EBI同屬于INSDC:International Nucleotide Sequence Database Collaboration,提交給所屬三個(gè)數(shù)據(jù)庫的數(shù)據(jù)是可以互通的。該架構(gòu)內(nèi)容具體如下:
SRA數(shù)據(jù)庫
SRA數(shù)據(jù)庫: Sequence Read Archive是一個(gè)保存高通量測序數(shù)據(jù)以及比對(duì)信息和元數(shù)據(jù)(meta data)的數(shù)據(jù)庫,所有已經(jīng)發(fā)表的文獻(xiàn)中的高通量測序數(shù)據(jù)基本上都會(huì)上傳到該數(shù)據(jù)庫中,畢竟這個(gè)數(shù)據(jù)庫隸屬于NCBI。

ENA數(shù)據(jù)庫
ENA數(shù)據(jù)庫: European Nucleotide Archive隸屬于EBI,功能上應(yīng)該是與SRA類似的,但是其搜索界面更加親民,并且對(duì)于下載fastq文件以及檢查下載數(shù)據(jù)完整性更加友好,所以強(qiáng)烈推薦優(yōu)先使用。具體優(yōu)劣勢詳見后續(xù)說明。

SRA數(shù)據(jù)庫的各種編號(hào)
- 元數(shù)據(jù)(meta data)
是指與測序?qū)嶒?yàn)及其實(shí)驗(yàn)樣品相關(guān)的數(shù)據(jù), 如實(shí)驗(yàn)?zāi)康摹?實(shí)驗(yàn)設(shè)計(jì)、 測序平臺(tái)、 樣本數(shù)據(jù)(物種, 菌株,個(gè)體表型等),在SRA數(shù)據(jù)庫中,meta數(shù)據(jù)分如下層次來存儲(chǔ):- 研究課題(study)
在 SRA 數(shù)據(jù)庫中,研究課題的檢索號(hào)(accession number)以前綴 DRP,ERP 或 SRP 開頭。 - 樣本信息(sample)
樣本的檢索號(hào)以前綴 DRS,ERS 或 SRS 開頭。 樣本信息可以包括物種信息、 菌株(品系)信息、家系信息、表型數(shù)據(jù)、臨床數(shù)據(jù), 組織類型等。 - 實(shí)驗(yàn)信息(experiment)
實(shí)驗(yàn)的檢索號(hào)以前綴 DRX,ERX 或 SRX 開頭。 實(shí)驗(yàn)是 SRA 數(shù)據(jù)庫的最基本單元, 就像 PubMed 數(shù)據(jù)庫的每一篇文獻(xiàn)是 PubMed數(shù)據(jù)庫的基本單元一樣。 一個(gè)實(shí)驗(yàn)隸屬于某個(gè)研究課題,對(duì)一個(gè)或多個(gè)樣本進(jìn)行測序,產(chǎn)生的測序數(shù)據(jù)以 runs 的形式存儲(chǔ)于SRA數(shù)據(jù)庫。
- 研究課題(study)
- 序列數(shù)據(jù)
包括序列及其質(zhì)量信息等,在 SRA 數(shù)據(jù)庫中以 run 為單元存儲(chǔ)。run 的檢索號(hào)以前綴 DRR,ERR 或 SRR 開頭。
我們可以來看一個(gè)例子,這個(gè)例子來源于 該文獻(xiàn)。給大家展示以下其中有關(guān)野生型小鼠胚胎干細(xì)胞的相關(guān)SRA編號(hào)如下:

使用aria2從ENA直接下載fastq文件
在有關(guān)數(shù)據(jù)庫和SRA編號(hào)的鋪墊之后,我們來看看怎樣來下載獲得我們所需要的數(shù)據(jù),因?yàn)榇蟛糠值臄?shù)據(jù)分析流程都要從測序數(shù)據(jù)的質(zhì)控開始,而常用的質(zhì)控軟件所需要的輸入文件格式一般都是fastq, 所以我們的目標(biāo)便是從一個(gè)已有的SRA號(hào)來獲得fastq數(shù)據(jù)。
ENA數(shù)據(jù)庫使用
最直接的方式便是利用ENA數(shù)據(jù)庫,我們這里繼續(xù)使用上面提到的文獻(xiàn),目標(biāo)是從ENA數(shù)據(jù)庫中下載得到2個(gè)檢索號(hào)以SRR開頭的fastq數(shù)據(jù),檢索號(hào)分別為:SRR7368841、 SRR7368842 。
首先,在數(shù)據(jù)庫頁面右上角搜索欄輸入目標(biāo)SRA檢索號(hào),確認(rèn)后稍等片刻可得結(jié)果頁面

其次,點(diǎn)擊選取 Experiment 可以獲得該實(shí)驗(yàn)下所有的測序序列數(shù)據(jù)的信息

我們可以看到隸屬于該實(shí)驗(yàn)的兩個(gè)序列數(shù)據(jù)信息,并且可以在 FASRTQ files(FTP) 欄中獲得直接下載 fastq 文件的FTP 地址。
獲取直接下載 fastq 文件的FTP地址

aria2 從FTP地址下載 fastq 文件
獲得具體地址之后,我們可以通過命令行軟件進(jìn)行數(shù)據(jù)的下載,這里推薦速度飛快的aria2 軟件,linux下具體安裝方式可見該教程。
單個(gè)與多個(gè)數(shù)據(jù)下載代碼:
#single data file downloaded into dir data_download
aria2c -d $HOME/data_download/ ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR736/001/SRR7368841/SRR7368841.fastq.gz
#multiple data files downloaded into dir data_download
aria2c -Z -d $HOME/data_download/ ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR736/001/SRR7368841/SRR7368841.fastq.gz ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR736/002/SRR7368842/SRR7368842.fastq.gz
其中, -d 參數(shù)確定的是下載文件保存的地址,默認(rèn)值是當(dāng)前工作目錄。數(shù)據(jù)下載過程中會(huì)顯示下載進(jìn)度與下載速度,可以方便時(shí)時(shí)觀察。下載的數(shù)據(jù)將會(huì)是 fastq.gz 的壓縮形式, 可以直接進(jìn)行后續(xù)的分析。
ENA數(shù)據(jù)庫的另一個(gè)優(yōu)勢
除了可以直接獲取得到 fastq 文件外,使用ENA數(shù)據(jù)庫還有一個(gè)優(yōu)勢是可以確認(rèn)下載數(shù)據(jù)的完整性。生信數(shù)據(jù)的大體量性帶來的下載時(shí)間長(期間網(wǎng)絡(luò)萬一不正常就會(huì)波動(dòng))可能會(huì)造成下載數(shù)據(jù)的缺失等問題,這些問題一般很難在獲得數(shù)據(jù)的初期被發(fā)現(xiàn)。ENA數(shù)據(jù)庫提供了md5碼這種途徑來檢查數(shù)據(jù)的完整性。
簡單來說,依據(jù)特定算法可以從大數(shù)據(jù)文件的數(shù)據(jù)內(nèi)容計(jì)算出一個(gè)特定的md5碼,如果數(shù)據(jù)有缺失,計(jì)算所得的md5碼就會(huì)與原始的不同,所以我們可以通過計(jì)算我們下載所得數(shù)據(jù)的md5碼并與網(wǎng)站提供的原始md5碼進(jìn)行比較來判斷下載數(shù)據(jù)是否有問題,如果相同則證明數(shù)據(jù)沒問題。
在ENA數(shù)據(jù)庫結(jié)果頁面點(diǎn)擊信息表坐上角的 select column 后可以選擇將 Fastq md5 展示出來

針對(duì)下載所得的數(shù)據(jù)文件,我們可以使用 md5sum 命令進(jìn)行計(jì)算其md5碼。
md5sum file_name.fastq.gz
使用fastq-dump從SRA獲取fastq文件
如果ENA上有我們所需要的數(shù)據(jù)的話,下載的過程自然是十分快捷舒服的,但是有可能數(shù)據(jù)的同步速度沒那么快,在NCBI上傳的數(shù)據(jù)還沒同步到ENA的網(wǎng)站上你就要使用了怎么辦呢?那還是老老實(shí)實(shí)回到NCBI去下載,NCBI為了方便管理下載者的流量,有其專門的下載軟件sratoolkit。
sratoolkit 下載與使用
sratoolkit的下載可以參照官方文檔,需要注意的是下載之后的配置路徑,參照官方文檔的說明應(yīng)該是沒有問題的。因?yàn)楸救耸褂玫氖菍?shí)驗(yàn)室服務(wù)器里已經(jīng)配置好的環(huán)境,所以很輕松地略過了這一步驟,哈哈哈。
主要使用的工具是prefetch和fastq-dump。其中,prefetch主要是用來從NCBI的數(shù)據(jù)庫中下載得到.sra文件,文件將會(huì)保存在如下地址:
~/ncbi/public/sra/
fastq-dump則可以將下載所得的.sra文件轉(zhuǎn)化為.fastq文件,可以配套prefetch獲得fastq文件,也可以單獨(dú)使用下載得到fastq文件(速度巨慢)。
NCBI 數(shù)據(jù)下載示例
無論是使用 prefetch 還是 fastq-dump, 我們都可以直接使用SRA檢索號(hào),而不需要使用具體地址。下載示例如下:
#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
使用rsync從NCBI快速獲取數(shù)據(jù)
這里應(yīng)該是要挖一個(gè)坑,其實(shí)在NCBI上也可以通過尋找FTP地址進(jìn)行下載。但是如果直接使用 wget 等方法直接去通過FTP地址下載的話,數(shù)據(jù)是會(huì)有丟失的。這里有另外一種方式(rsync)可以利用NCBI中的FTP地址去下載數(shù)據(jù),但是在NCBI上尋找SRA號(hào)對(duì)應(yīng)的FTP地址比較麻煩,同時(shí)在使用rsync時(shí)需要對(duì)FTP地址進(jìn)行一定規(guī)則的改寫,所以還是有點(diǎn)麻煩的。當(dāng)然,這種方法的下載速度自然是要比使用sratoolkit快上不少。
因?yàn)榉N種原因(嗯,不是純粹因?yàn)閼校?,所以先把這個(gè)坑挖下吧,之后有時(shí)間再來填坑。但或許要等到ENA下載不了又受不了fastq-dump龜速的時(shí)候了吧,哈哈哈。
嗯,這就是有關(guān)sra與fastq數(shù)據(jù)下載的個(gè)人經(jīng)驗(yàn)了,記錄在此也希望能發(fā)揮到它能發(fā)揮的作用吧。