久しぶりにfastq-dumpを使ったら少し仕様が変わっていたのでメモ.だいぶ前に別の場所で書いた記事は,既に古くなってしまっている.何もせず記事を放置しておくのも申し訳ないし,どうやらfastq-dumpでググると上位にくるようなので,ここいらで更新しておかないと….

(deprecated) Wolf Ears » SRA Toolkitを使ってsraファイルからfastqファイルに変換する

SRA Toolkitのインストール

sraからfastqに変換するプログラムは,SRA Toolkitの中にあるfastq-dumpを使う.まずはNCBIのサイトからOS環境に合わせてコンパイルされたSRA Toolkitをダウンロードしてインストールする.

Software : Software : Sequence Read Archive : NCBI/NLM/NIH

コンパイルされたバイナリとしては,Linux系列のCentOSやUbuntu,MacOSやMS Windowsに合わせたものが用意されている.私の環境はRed Hat Enterpriseなので,とりあえず「CentOS Linux 64 bit architecture」を選択する.

1
2
$ wget http://ftp-trace.ncbi.nlm.nih.gov/sra/sdk/2.3.2-5/sratoolkit.2.3.2-5-centos_linux64.tar.gz
$ tar zxvf sratoolkit.2.3.2-5-centos_linux64.tar.gz 

今回使用するfastq-dumpは展開したディレクトリのbin以下に入っている.以下のように実行して動作するか確認する.

1
2
3
4
5
6
7
8
9
$ sratoolkit.2.3.2-5-centos_linux64/bin/fastq-dump

Usage:
  sratoolkit.2.3.2-5-centos_linux64/bin/fastq-dump [options] <path [path...]>
  sratoolkit.2.3.2-5-centos_linux64/bin/fastq-dump [options] [ -A ] <accession>

Use option --help for more information

sratoolkit.2.3.2-5-centos_linux64/bin/fastq-dump : 2.3.2

fastq-dumpの使い方

基本的な使い方としては,以下のようにfastq-dumpにsraファイルを指定すればよい…

1
$ fastq-dump ./DRR002191.sra

…のだが,ここでひとつ注意が必要になる.上のコマンドを指定すると,データがシングルエンドでもペアエンドでも同様に一つのファイルとして出力されてしまう.実際に変換されたfastqファイルの中身を見てみると,上のDRR002191.sraは本当は90bpのペアエンドなのだが,以下のように結合された配列として出力される.

1
2
3
4
5
$ head -n 4 DRR002191.fastq
@DRR002191.1 FCD0BMAACXX:5:1101:1133:1889# length=180
NCAATGGCAATAGCAATGCATTGAAATGAAAAGGCATTTACCAGGAGCAGGAAAGCCAGAAAGAGGAGCAGTGNNCNNGGAGTTGCNNNNTGCTTGGCTTCATCTTTTGCAATTCTGCATCTTTTGCATTTCCCTTCTCGCTCTGCTGCTCGCTCGCCTTTCTTNNNCGNCCTTTTCCCC
+DRR002191.1 FCD0BMAACXX:5:1101:1133:1889# length=180
#1=DDFFFHFFHHIIJJJIJJIJJIJBCHHIHGCC>FGIGIHDH?HJIEGEGI@FEHIJIIE@HI9=EH=CDD#################B@CFFDDDDFHHHGIJJIJJGGIGJIIHGHIGIJIHIJIEIIHIJJIGGHHEGI@DGCGEFHHIGIEFEFFBCB################

ということで,きちんとペアエンドを2つのfastqファイルに変換するには,–split-filesというオプションを使用する.

1
$ fastq-dump --split-files ./DRR002191.sra

これで,きちんと2つのfastqファイルが出力される.個別のfastqファイルを見ると,やはり先程の変換はペアエンドの配列を結合して出力されていることがわかる.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$ ls *.fastq
DRR002191_1.fastq  DRR002191_2.fastq

$ head -n 4 DRR002191_1.fastq DRR002191_2.fastq
==> DRR002191_1.fastq <==
@DRR002191.1 FCD0BMAACXX:5:1101:1133:1889# length=90
NCAATGGCAATAGCAATGCATTGAAATGAAAAGGCATTTACCAGGAGCAGGAAAGCCAGAAAGAGGAGCAGTGNNCNNGGAGTTGCNNNN
+DRR002191.1 FCD0BMAACXX:5:1101:1133:1889# length=90
#1=DDFFFHFFHHIIJJJIJJIJJIJBCHHIHGCC>FGIGIHDH?HJIEGEGI@FEHIJIIE@HI9=EH=CDD#################

==> DRR002191_2.fastq <==
@DRR002191.1 FCD0BMAACXX:5:1101:1133:1889# length=90
TGCTTGGCTTCATCTTTTGCAATTCTGCATCTTTTGCATTTCCCTTCTCGCTCTGCTGCTCGCTCGCCTTTCTTNNNCGNCCTTTTCCCC
+DRR002191.1 FCD0BMAACXX:5:1101:1133:1889# length=90
B@CFFDDDDFHHHGIJJIJJGGIGJIIHGHIGIJIHIJIEIIHIJJIGGHHEGI@DGCGEFHHIGIEFEFFBCB################

その他の注意点

fastq-dumpに指定するsraファイルは,きちんとパスを指定しないといけないようだ.以下のようなエラーが出る場合は,絶対パスを指定するか,カレントディレクトリにsraファイルがある場合にはファイル名の前に「./」を付け加える.

パスが解決できなくて実行できない例

1
2
3
$ fastq-dump DRR002191.sra
2013-06-20T02:11:42 fastq-dump.2.3.2 err: name not found while resolving tree within virtual file system module - failed to open 'DRR002191.sra'
Written 0 spots total

絶対パスを指定するか./を付け加える

1
2
$ fastq-dump /path/to/DRR002191.sra
$ fastq-dump ./DRR002191.sra

また,他のオプションなどの情報はfastq-dumpのhelpから見ることができる.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$ fastq-dump --help

Usage:
  /home/is/yuki-ok/biolocal/src/sratoolkit.2.3.2-5-centos_linux64/bin/fastq-dump [options] <path [path...]>
  /home/is/yuki-ok/biolocal/src/sratoolkit.2.3.2-5-centos_linux64/bin/fastq-dump [options] [ -A ] <accession>

INPUT
  -A|--accession <accession>       Replaces accession derived from <path> in
                                   filename(s) and deflines (only for single
                                   table dump)
  --table <table-name>             Table name within cSRA object, default is
                                   "SEQUENCE"

[...]

環境

  • NCBI SRA Toolkit : May 9 2013, version 2.3.2-5 release
  • fastq-dump : 2.3.2

参考