NCBI上下載的原始資料為SRA資料,而適用於大部分生物軟體的是fastq格式,所以我們需要將sra格式的原始資料轉為fastq格式。NCBI提供了資料轉換的軟體fastq-dump。
1、下載軟體
wget https://ftp-trace.ncbi.nlm.nih.gov/sra/sdk/2.9.2/sratoolkit.2.9.2-centos_linux64.tar.gz
tar zxf sratoolkit.2.9.2-centos_linux64.tar.gz
解壓後軟體就在./sratoolkit.2.9.2-centos_linux64/bin/fastq-dump
2、轉換格式
使用基本命令列
./sratoolkit.2.9.2-centos_linux64/bin/fastq-dump /path/to/xxx.sra
但是這個預設使用方法得到結果往往很糟, 比如說他預設會把雙端測序結果儲存到一個檔案裡, 但是如果你加上--split-3之後, 他會把原來雙端拆分成兩個檔案,但是原來單端並不會儲存成兩個檔案. 還有你用--gzip就能輸出gz格式, 能夠節省空間的同時也不會給後續比對軟體造成壓力, 比對軟體都支援,就是時間要多一點。
3、遇到過的問題
如何下載sra的資訊,如insert size、read長度、測序平臺等?
-- 輸入srp/srx/srr編號查詢到對應資訊後,點選右上角的"Send to",選擇"File"->"RunInfo"->"Create File",下載下來的.csv檔案裡有很詳細的樣品、文庫和測序資訊。- 如果不知道文庫是single end還是paired end,如何轉換成fastq?
方法一:一個簡單方法是在SRA Run Browser上輸入SRR編號查詢: (http://trace.ncbi.nlm.nih.gov/Traces/sra/),"Browse" -> "Run Browser" -> then input your ID,LAYOUT會標明是SINGLE還是PAIRED,也可以在Reads結果頁面檢視,如果展示1條read就是single end,2條reads就是paired end。
方法二:可以先用sra-stat對sra檔案進行統計,從統計結果裡可以知道是單末端還是雙末端。
方法三:直接跑fastq-dump,用引數--split-files就自可以自動分辨出來,結果是一個檔案就是single end,兩個檔案就是paired end。
方法四:fastq-dump的--split-spot可以用來分辨
srr="SRR3184279"
numLines=$(fastq-dump -X 1 -Z --split-spot $srr | wc -l)
if [ $numLines -eq 4 ]
then
echo "$srr is single-end"
else
echo "$srr is paired-end"
fi
參考
1、 如何使用fastq-dump轉換SRA格式