學生信的那些事兒之十二 - RNAseq 分析流程之用aspera工具下載SRA數據

在Linux系統下安裝了conda,配置了鏡像,創建了分析環境,并且在環境下下載了常用的分析軟件,那么接下來做什么呢?鍋碗瓢盆、油鹽醬醋都已準備妥當,準備開火煮飯卻發現沒有米!生信分析的米是啥,是數據,數據從哪里來?一種途徑是可以把樣本送到測序公司,然后測序公司交付數據,比如說你給我樣本(和錢),我交付數據,這是一手的“資料”。另一個途徑就是用別人的,而且不用花錢,真的就有這么好的事兒。

NCBI是每只科研(狗)都必然會接觸到,會用到的工具(絕對是良心之作)。上面說的另一個途徑就是從NCBI中的SRA數據庫下載其他課題組已經上傳且公開的數據,據說這是每個生信人的必備技能,開始實操前先普及一點基礎知識。

什么是SRA數據庫?

SRA(Sequence Read Archive)數據庫用于存儲二代高通量測序的原始數據,包括各種新老平臺產生的數據,是NCBI眾多數據庫中的一個。SRA是國際核酸序列數據庫合作組織(INSDC, International Nucleotide Sequence Database Collaboration)的一部分(該組織還包括EBI,DDBJ)。除原始數據外,還包括原始序列與參考基因組的比對信息。

SRA的數據的結構層次是這樣的:Studies > Experiments > Samples > Runs。

  • Studies -- 研究課題,或者說研究目的,要驗證某個猜想就可能會有N個experiments,數據庫中記錄時使用的前綴是SRP

  • Experiments -- 實驗設計,記錄用到的實驗材料、平臺等信息,數據庫中記錄時使用的前綴是SRX

  • Samples -- 樣品信息,數據庫中記錄時使用的前綴是SRS

  • Runs -- 測序結果集,測序產生的reads,也就是俗稱的data,數據庫中記錄時使用的前綴是SRR

更加詳細的可以參考:NCBI SRA數據庫使用詳解

綜上,我們想要下載某個具體的數據需要的是前綴為SRR的accession number(至于怎么找到這個號,參考上文即可)。

那么,到底怎么下載呢?需要SRA Toolkit這個工具,SRA toolkit是專門用于下載NCBI中的SRA格式數據,并把下載數據轉化為fastq格式的工具包https://trace.ncbi.nlm.nih.gov/Traces/sra/sra.cgi?view=toolkit_doc。具體怎樣下載安裝這個軟件此處略過,畢竟本節主要內容是講aspera。

SRA toolkit安裝好之后就可以下載數據了,比如說下載accession number為SRRXXXXXXX的數據,可以用如下命令:

# prefetch 是SRA toolkit中的工具之一,用于下載數據
prefetch SRRXXXXXXX
# 是的,命令就是這么簡單。該命令會在家目錄下自動創建名為ncbi的目錄,一直往下cd就找到了:~/ncbi/public/sra。當然了,也可以通過 -O 參數把數據放在指定目錄下

但是如果你真的試過這個方法,一定會抓狂,因為慢到下載2G的數據可能半天時間都不夠,妥妥的揮霍生命。當aspera出現后,這個世界安靜了。

aspera也是一個軟件,同樣2G的數據,它只需要不到三分鐘就能搞定。至于它為什么這么快,可以自行去百度,我粗淺的理解是他用的數據傳輸協議(The fasp Protocol)跟其他的工具不一樣。Anyway,并不十分重要,會用就行了啊!

# 既然是軟件,第一步當然也是下載,然后解壓,然后激活,命令如下:
wget -c https://download.asperasoft.com/download/sw/connect/3.6.2/aspera-connect-3.6.2.117442-linux-64.tar.gz
tar -zxvf aspera-connect-3.6.2.117442-linux-64.tar.gz
bash aspera-connect-3.6.2.117442-linux-64.sh

ok,至此apsera安裝好了,怎么用呢,說實話真的挺復雜(反正我覺得挺復雜)。

# 命令如下:
prefetch -t ascp -a "/home/hhzhu/.aspera/connect/bin/ascp|/home/hhzhu/.aspera/connect/etc/asperaweb_id_dsa.openssh" SRR1039512 -O /trainee/Jude/RNASeq/rawdata/

搞定aspera至少反反復復5次,過程是真的煎熬,但是能用了之后是真的很爽。其中困擾我很長時間的是命令中用到的參數和引號里面的一長串路徑,簡單解釋下:

-t : 這里有個小背景知識需要點一下,如前所述prefetch是SRA toolkit中的功能之一,主要用于下載.sra數據。下載的時候會有數據下載協議的選擇(first try fasp (ascp), use http if cannot download using fasp),如果沒有安裝aspera就只能用http協議了(巨慢)。所以-t參數的作用是指定下載方式,上面的命令指定ascp,也就是aspera。 建議看看 prefetch --help的內容。

-a:該參數后面需要接ascp所在的絕對路徑和previte KEY 的位置(也是絕對路徑),中間用‘|’隔開。一般來aspera軟件都會被放在家目錄下,所以需要改的也就是自己的用戶名(我這里的是hhzhu)。

SRR1039512:某個run對應數據的accession number

-O:大寫的O,后面接數據存放路徑

第一次安裝可能會失敗,第二次很可能還是失敗,也許在那樣的時刻你應該同時參考下面的文章:

  1. SRA 數據下載自救指南

  2. Aspera安裝和配置

  3. SRA Toolkit說明書

  4. SRA 綜述

  • 當然了,安裝使用aspera絕對不止這一種方法,多多探索吧~
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容