從NCBI-SRA和EBI-ENA數據庫下載數據

一、簡介

1.NCBI-SRA 數據庫

SRA: Sequence Read Archive: It belongs to NCBI (National Center for Biotechnology Information), is a database storing high throughput sequencing (HTS) raw data, alignment information and metadata. Almost all HTS data in published publications will be asked uploading to here, and stored as .sra compressed file format.

SRA數據庫: Sequence Read Archive:隸屬NCBI (National Center for Biotechnology Information),它是一個保存大規模平行測序原始數據以及比對信息和元數據 (metadata) 的數據庫,所有已發表的文獻中高通量測序數據基本都上傳至此,方便其他研究者下載及再研究。其中的數據則是通過壓縮后以.sra文件格式來保存的,SRA數據庫可以用于搜索和展示SRA項目數據,包括SRA主頁和 Entrez system,由 NCBI 負責維護。SRA數據庫中的數據分為Studies, Experiments, Samples和相應的Runs四個層次:

  • Study:accession number 以 DRP,SRP,ERP 開頭,表示的是一個特定目的的研究課題,可以包含多個研究機構和研究類型等。study 包含了項目的所有 metadata,并有一個 NCBI 和 EBI 共同承認的項目編號(universal project id),一個 study 可以包含多個實驗(experiment)。

  • Sample:accession number以 DRS,SRS,ERS 開頭,表示的是樣品信息。樣本信息可以包括物種信息、菌株(品系) 信息、家系信息、表型數據、臨床數據,組織類型等??梢酝ㄟ^ Trace 來查詢。

  • Experiment:accession number 以 DRX,SRX,ERX 開頭。表示一個實驗記載的實驗設計(Design),實驗平臺(Platform)和結果處理 (processing)三部分信息。實驗是 SRA 數據庫的最基本單元,一個實驗信息可以同時包含多個結果集(run)。

  • Run:accession number 以DRR,SRR,ERR 開頭。一個 Run 包括測序序列及質量數據。

Submission:一個 study 的數據,可以分多次遞交至 SRA 數據庫。比如在一個項目啟動前期,就可以把 study,experiment 的數據遞交上去,隨著項目的進展,逐批遞交 run 數據。study 等同于項目,submission 等同于批次的概念。

2.EBI-ENA 數據庫

ENA: European Nucleotide Archive: It belongs to EBI (European Bioinformatics Institute), although it has the same funtion with SRA, more annotations and friendlier website make it preferable. What’s more, you could download directly fastq.gz files from it.

ENA數據庫:European Nucleotide Archive:隸屬EBI (European Bioinformatics Institute),功能等同SRA,并且對保存的數據做了注釋,界面相對于SRA更友好,對于有數據需求的研究人員來說,ENA數據庫最誘人的點應該是可以直接下載fastq (.gz)文件,由 EBI 負責維護。

兩者在主要功能方面非常類似,同時數據互通。

二、數據下載

1. sra文件下載方式

下載.sra文件是為了獲取該sra相對應的fastq或者sam文件,通過文件格式轉換就可以和自己的pipeline對接上,用于直接分析,所以:

第一步,我們需要到SRA或者ENA上搜索我們選擇好的SRR號或者SRS號或者SRP號,先在ENA上搜索,如沒有再去SRA上搜索,因為ENA下載比SRA快。

第二步,下載數據,從 SRA 數據庫下載數據有多種方法。

  • ascp快速下載 sra 文件;
  • wget或curl等傳統命令從 FTP 服務器上下載 sra 文件(但是wget和curl下載的sra文件有時候會不完整);
  • NCBI的sratoolkit 工具集中的prefetch、fastq-dump和sam-dump也支持直接下載,
  • biostar handbook中有一個wonderdump腳本也方便下載數據;

1.1 Aspera

Aspera Connect軟件,這是IBM旗下的商業高速文件傳輸軟件,隨著高通量數據的大量產生,從而對于大文件快速傳輸的需求,開始應用到生物領域,與NCBI和EBI有協作合同,我們可以免費使用它下載高通量測序文件,體驗飛一般的感覺,速度可飚至300-500M/s。下載完成后,本地用fastq-dump提取fastq文件,用sam-dump提取SAM文件。

傳統的FTP、HTTP等數據傳輸協議都是基于TCP的,TCP在遠距離數據傳輸中存在一些先天的不足,文件越大、距離越遠,其丟包、延時等問題對于傳輸速度和效率的影響就越大。

(1)Aspera的安裝

下載鏈接

#download aspera lastest version:
wget https://download.asperasoft.com/download/sw/connect/3.8.1/ibm-aspera-connect-3.8.1.161274-linux-g2.12-64.tar.gz

tar xzvf ibm-aspera-connect-3.8.1.161274-linux-g2.12-64.tar.gz

#install aspera in server:
sh ibm-aspera-connect-3.8.1.161274-linux-g2.12-64.sh

#查看是否有.aspera文件夾  

cd         # 去根目錄 
ls -a     # 如果看到.aspera文件夾,代表安裝成功

# 永久添加環境變量
echo 'export PATH=~/.aspera/connect/bin:$PATH' >> ~/.bashrc  && cp ~/.bashrc~/.bash_profile

source ~/.bashrc ~/.bash_profile

# 查看幫助文檔
ascp --help 

ascp的用法(在線文檔):

ascp [參數] 目標文件 目標地址

常用參數
-v verbose mode 嘮叨模式,能讓你實時知道程序在干啥,方便查錯。
-T 取消加密,否則有時候數據下載不了
-i 提供私鑰文件的地址,免密從SRA和ENA下載,不能少,地址一般是~/.aspera/connect/etc中的asperaweb_id_dsa.openssh文件
-l 設置最大傳輸速度,一般200m到500m,如果不設置,反而速度會比較低,可能有個較低的默認值
-k 斷點續傳,一般設置為值1
-Q 用于自適應流量控制,磁盤限制所需
-P 用于SSH身份驗證的TCP端口,一般是33001

(2)ascp 進行SRA數據庫下載

ps:記住,SRA數據庫的數據的存放地址是ftp-private.ncbi.nlm.nih.gov或者ftp.ncbi.nlm.nih.gov,SRA在Aspera的用戶名是anonftp,下載范例:

ascp -v -QT -l 400m -P33001 -k1 -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh anonftp@ftp.ncbi.nlm.nih.gov:/sra/sra-instant/reads/ByRun/sra/SRR/SRR297/SRR2976573/SRR2976573.sra ~/rawdata/ascp/
 
#或者
ascp -v -QT -l 400m -P33001 -k1 -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh anonftp@ftp-private.ncbi.nlm.nih.gov:/sra/sra-instant/reads/ByRun/sra/SRR/SRR297/SRR2976573/SRR2976573.sra ~/rawdata/ascp/

注意:anonftp@ftp-private.ncbi.nlm.nih.govanonftp@ftp.ncbi.nlm.nih.gov后面是“ : ”號,不是路徑/

熟悉的人應該知道,NCBI-SRA數據庫的sra文件前面的地址都是一樣的/sra/sra-instant/reads/ByRun/sra/SRR/...,可以根據需要下載的sra文件來編寫腳本進行批量下載sra文件!

/sra/sra-instant/reads/ByRun/sra/{SRR|ERR|DRR}/<first 6 characters of accession>/<accession>/<accession>.sra

因為sra文件前面的地址是一樣的,除了后兩個字段,所以也可以通過把sra文件的id寫到一個文檔,使用ascp批量下載文檔中所有的sra文件,舉例如下:

SRR_Download_List中包含如下:

/sra/sra-instant/reads/ByRun/sra/SRR/SRR297/SRR2976568/SRR2976568.sra
/sra/sra-instant/reads/ByRun/sra/SRR/SRR297/SRR2976569/SRR2976569.sra 
/sra/sra-instant/reads/ByRun/sra/SRR/SRR297/SRR2976570/SRR2976570.sra 
/sra/sra-instant/reads/ByRun/sra/SRR/SRR297/SRR2976571/SRR2976571.sra 
/sra/sra-instant/reads/ByRun/sra/SRR/SRR297/SRR2976572/SRR2976572.sra 
/sra/sra-instant/reads/ByRun/sra/SRR/SRR297/SRR2976573/SRR2976573.sra

使用 ascp批量下載該List下的sra文件:

ascp  -v -QT -l 400m -P33001 -k1 -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh  --mode recv --host ftp-private.ncbi.nlm.nih.gov --user anonftp --file-list SRR_Download_List  ~/rawdata/ascp/

#或者,host不同的情況下:
ascp  -v -QT -l 400m -P33001 -k1 -i  ~/.aspera/connect/etc/asperaweb_id_dsa.openssh  --mode recv --host ftp.ncbi.nlm.nih.gov --user anonftp --file-listSRR_Download_List   ~/rawdata/ascp/
(3)sratoolkit進行SRA數據庫下載

NCBI 開發了 sratoolkit 工具來幫助處理 SRA 數據,正確配置后可以很方便的下載 SRA 數據??梢灾苯訌?NCBI 上下載。最新的源碼可以在 Github 獲得。

另外,如果你安裝并設置了 Aspera Connect,那么 prefetch 會優先使用ascp方式來下載,如果沒有安裝或則ascp下載失敗,則切換成 HTTP 方式下載 sra 數據。另外 fastq-dump 命令(大概的命令)也能從遠端直接下載數據,加上-X 1參數,會預先下載最前的5個 reads,加上-Z參數,則會將這些 reads 打印到終端輸出。

/path of sratoolkit/prefetch -t ascp -a “~/.aspera/connect/etc/asperaweb_id_dsa.openssh” SRR2976573

/path of sratoolkit/fastq-dump -X 5 -Z SRR2976573

批量下載

cat sra.txt
SRR10951024
SRR10951025
SRR10951026
SRR10951027
SRR10951028
SRR10951029
SRR10951030
SRR10951031
SRR10951032
SRR10951033
SRR10951034
SRR10951035
SRR10951036
SRR10951037
SRR10951038


/path of sratoolkit/prefetch --option-file sra.txt

/path of sratoolkit/fastq-dump --fasta "default"  SRR10951038/SRR10951038.sra

(4)ascp進行ENA數據庫下載

從ENA數據庫進行下載,ENA數據庫的數據存放位置是fasp.sra.ebi.ac.uk,ENA在Aspera的用戶名是era-fasp,era-fasp@fasp.sra.ebi.ac.uk。如果要從ENA數據庫下載SRR2976573,我們先搜索:

image

從截圖中,我們可以發現我們可以自己設定顯示哪些title(如:FASTQ files (Aspera)、FASTQ files (FTP)、NCBI SRA file (FTP)、NCBI SRA file (Aspera))在表格中,再點擊下載TEXT,可以在本地保存需要的信息,以便后期的數據下載。

單個數據下載例子,可以是sra文件,也可以是fastq.gz文件:

sra文件下載:

ascp -v -QT -l 400m -P33001 -k1 -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh era-fasp@fasp.sra.ebi.ac.uk:/vol1/srr/SRR297/003/SRR2976573 ~/rawdata/ascp/

FASTQ文件下載;

ascp -v -QT -l 400m -P33001 -k1 -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh era-fasp@fasp.sra.ebi.ac.uk:/vol1/fastq/SRR297/003/SRR2976573/SRR2976573_1.fastq.gz ~/rawdata/ascp/

ascp -v -QT -l 400m -P33001 -k1 -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh era-fasp@fasp.sra.ebi.ac.uk:/vol1/fastq/SRR297/003/SRR2976573/SRR2976573_2.fastq.gz ~/rawdata/ascp/

批量從ENA下載數據,比如我們在ENA搜索SRP067062,我們得到如下截圖:

image

結果設置顯示項目,再下載TEXT,我們可以得到:

image

分為SRA文件的txt和FASTQ文件的TXT:

ENA-Aspera-FASTQ.txt:

/vol1/fastq/SRR297/002/SRR2976562/SRR2976562_1.fastq.gz

/vol1/fastq/SRR297/002/SRR2976562/SRR2976562_2.fastq.gz

/vol1/fastq/SRR297/003/SRR2976563/SRR2976563_1.fastq.gz

/vol1/fastq/SRR297/003/SRR2976563/SRR2976563_2.fastq.gz

/vol1/fastq/SRR297/008/SRR2976568/SRR2976568_1.fastq.gz

/vol1/fastq/SRR297/008/SRR2976568/SRR2976568_2.fastq.gz

/vol1/fastq/SRR297/009/SRR2976569/SRR2976569_1.fastq.gz

/vol1/fastq/SRR297/009/SRR2976569/SRR2976569_2.fastq.gz

/vol1/fastq/SRR297/002/SRR2976572/SRR2976572_1.fastq.gz

/vol1/fastq/SRR297/002/SRR2976572/SRR2976572_2.fastq.gz

/vol1/fastq/SRR297/003/SRR2976573/SRR2976573_1.fastq.gz

/vol1/fastq/SRR297/003/SRR2976573/SRR2976573_2.fastq.gz

ENA-Aspera-SRA.txt:

/vol1/srr/SRR297/002/SRR2976562

/vol1/srr/SRR297/003/SRR2976563

/vol1/srr/SRR297/008/SRR2976568

/vol1/srr/SRR297/009/SRR2976569

/vol1/srr/SRR297/002/SRR2976572

/vol1/srr/SRR297/003/SRR2976573


批量下載代碼:

ascp -v -QT -l 400m -P33001 -k1 -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh--mode recv --host fasp.sra.ebi.ac.uk --user era-fasp --file-list ENA-Aspera-FASTQ.txt ~/rawdata/ascp/

上面代碼下載FASTQ.gz文件,下面代碼下載的是SRA文件;

ascp -v -QT -l 400m -P33001 -k1 -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh --mode recv --host fasp.sra.ebi.ac.uk --user era-fasp --file-list ENA-Aspera-SRA.txt ~/rawdata/ascp/


遇到的問題

ascp下載ENA數據的時候有可能會出現Session Stop,解決方案:

第一、把ascp 的-l 不要設置的太大了,一般設置為500m就可以了;

第二、在root權限下設置udp端口,使用iptable設置如下:

iptables -I INPUT -p udp --dport 33001 -j ACCEPT

iptables -I OUTPUT -p udp --dport 33001 -j ACCEPT

總結

Aspera Connect的下載速度是最快的,相對于sratoolkit的套件下載和wget或者curl下載;并且Aspera的下載可以下載fastq文件和SRA文件,免去了SRA轉至FASTQ的過程,該過程很耗時,特別耗時!

參考資料

https://blog.csdn.net/herokoking/article/details/78890567

https://ngs-data-for-pathogen-analysis.readthedocs.io/zh_CN/latest/chapter_01/01_get_data.html

https://anjingwd.github.io/AnJingwd.github.io/2017/08/06/SRA%E6%A0%BC%E5%BC%8F%E6%95%B0%E6%8D%AE%E5%8A%A0%E9%80%9F%E4%B8%8B%E8%BD%BD%E6%89%93%E5%8C%85%E8%A7%A3%E5%86%B3/

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,505評論 6 533
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,556評論 3 418
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,463評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,009評論 1 312
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,778評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,218評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,281評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,436評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,969評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,795評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,993評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,537評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,229評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,659評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,917評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,687評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,990評論 2 374