sra 資料轉成 fastq並改名

醉月伐桂戲嫦娥發表於2020-03-07

把sra資料移動到我們工作目錄後,我們開始sra轉faq。
正式執行程式碼之前,必須先拿一個樣品測試下程式碼能否執行成功,這點很關鍵,因為這步就算成功執行也特別慢,要是程式碼再出錯了就更浪費時間了。

拿第一個樣品做測試

ls SRR5315196.sra |fastq-dump -gzip --split-3 -O ./ SRR5315196.sra

sra-tools 裡的 fastq-dump工具可以將SRR檔案轉換為FASTQ格式,–split-3參數列示如果是雙端測序就自動拆分,如果是單端不受影響。也就是說,–split-3引數可以將PE的sra檔案解壓後的fastq檔案拆分成_1.fastq和_2.fastq,如果示例資料集是SE測序,不會進行拆分。–gzip轉換fastq為壓縮檔案,節省空間。
單個測試成功,那我們就寫迴圈進行批量轉換格式。

cat >sra.sh #寫指令碼 ls SRR* |while read id; do (fastq-dump -gzip
–split-3 -O ./ i d ) 1 > . / {id}) 1>./ id)1>./{id}.sra.log 2>&1;done #多個迴圈 nohup bash sra.sh & #掛後臺執行

這步一定一定記得掛後臺執行(nohup cmd &)因為特別慢,不掛後臺你一掉線就功虧一簣了。
我們解讀下這個寫入指令碼里面的迴圈命令:
ls SRR* 是為了能夠把當前資料夾下所有從NCBI上下載的SRR資料列出來
所有的SRR資料fastq-dump -gzip --split-3 -O ./ ${id} 這條命令是告訴系統,我要轉換成fastq格式並且要壓縮的;而且表示如果是雙端測序就自動拆分,如果是單端不受影響;-O ./ i d 表 示 輸 出 ( o u t p u t ) 到 當 前 文 件 夾 下 , 文 件 名 前 綴 不 變 ( 這 樣 的 話 輸 出 張 這 樣 S R R 5315196. f a s t q . g z ) 1 > . / {id} 表示輸出(output)到當前資料夾下,檔名字首不變(這樣的話輸出張這樣SRR5315196.fastq.gz) 1>./ idoutputSRR5315196.fastq.gz1>./{id}.sra.log 2>&1 (0.標準輸入;1.標準輸出;2.標準錯誤)這個命令是說,重定向標準輸出到當前檔案下SRR5315197.sra.sra.log檔案,且標準輸出、標準錯誤到一個檔案中(2>&1)
如圖所示,SRA轉fastq成功製作config檔案
製作config檔案的作用: 從NCBI上下載SRA資料,之後再轉成 fastq.gz格式,在此過程中把原本的檔名(SRR號)改成在跑流程時可以區分各樣本的檔名,生信分析中 檔案命名很重要,生成fastq檔案時,如果不進行更改操作就會直接生成 SRR****.fastq.gz ,我們不能這樣,只有這些SRR號我們根本不知道這些樣品是些什麼,生信分析很重要的一點就是從檔名上我們就要知道這是個什麼資料。
首先還去NCBI下載SRA資料的那個介面下載個 txt 檔案
在這裡插入圖片描述下載到自己的電腦上後,匯入到伺服器上
匯入成功後,使用命令:
$ head -1 SraRunTable.txt | tr ‘\t’ ‘\n’|cat -n
在這裡插入圖片描述檢視該檔案的第一行(表頭)把它轉化成列,並加上行號。

相關文章