次世代シーケンサー(NGS)データを学術論文で公表する場合、シーケンサーから出力された配列データやアノテーションに関するデータを公共データベースに登録することが必要です。
このデータ群が登録される先が、International Nucleotide Sequence Database Collaboration (INSDC) が運用しているGenBankデータベースです。
現在、GenBankは以下の3つにより構成されています。
これらのデータベース間では、相互に塩基配列データが交換されており、指数関数的に増加し続けています。
登録されるデータは次世代シーケンサー (NGS) から出力される配列データ、及びそのアライメント、アノテーションデータ等多岐に及びます。
SRA-toolkitは、その中でも SRA (Sequence Read Archives) 、即ち配列に関するデータを扱うためのツール群です。
今回は、fastq-dump
及び prefetch
コマンドを使用してfastqファイルやそのもととなるSRAファイルをダウンロードする方法をご紹介します。
インストール
こちら から、お使いのOSに合ったバイナリファイルをダウンロードして下さい。
よしなに解凍し、パスを通してください。
Ubuntuの場合
$ wget http://ftp-trace.ncbi.nlm.nih.gov/sra/sdk/current/sratoolkit.current-ubuntu64.tar.gz $ tar xvzf sratoolkit.current-ubuntu64.tar.gz $ sudo mv sratoolkit.2.10.8-ubuntu64 /usr/local/src/ $ sudo ln -s /usr/local/src/sratoolkit.2.10.8-ubuntu64/bin/* /usr/local/bin/
使用方法
fastq-dump
fastq-dump
コマンドを使用すると、
- SRAファイルを
~/ncbi/public/sra
以下にダウンロードした後、 - ダウンロードしたSRAファイルがfastq形式に変換されます。
引数を指定することで出力形式を変えることが可能です。
ペアエンドの場合
以下のように --split-files
を付けてあげます。
Foward、Reverseのファイルはそれぞれ {ファイル名}_1.fastq
、 {ファイル名}_2.fastq
というファイル名で保存されます。
例:SRR390728のサンプルをペアエンドとしてダウンロード
$ fastq-dump --split-files SRR390728
gz圧縮形式で取得
大抵のバイオインフォツールはgz圧縮形式の入力に対応しています。
ファイルをダウンロードする際は、基本的にgz圧縮形式で取得するのが良いでしょう。
--gzip
引数を指定します。
例:SRR390728のサンプルをgz圧縮形式のペアエンドとしてダウンロード
$ fastq-dump --gzip --split-files SRR390728
fastaを取得
fasta形式でダウンロードするには --fasta {fasta1行辺りの文字数}
引数を指定します。
fastaファイルは1行当たりの文字数が任意なので文字数を指定するようにします。
例:SRR390728のサンプルを1行60文字のfasta形式でペアエンドとしてダウンロード
$ fastq-dump --split-files --fasta 60 SRR390728
QC済みのデータを取得
例:SRR390728のサンプルのうち、Phred クオリティスコアが64を上回るリードのみをペアエンドとしてダウンロード
$ fastq-dump --split-files --aligned -Q 64 SRR390728
ダウンロード済みのSRAファイルを指定してfastqファイルを作成
以下で説明するprefetch
コマンドによりSRAファイルのみをダウンロードしている場合、
ローカルのSRAファイルを指定することによってfastqファイルの作成を行うことも可能です。
例:ローカルに存在するSRR390728.sraからペアエンドのfastqファイルを作成
$ fastq-dump ~/ncbi/public/sra/SRR390728.sra --split-files
prefetch
prefetchコマンドを使うと、fastq-dump
の1段階目、
SRAファイルのダウンロードのみを行うことができます。
例:SRR390728.sraをダウンロード
$ prefetch SRR390728
複数データ一気にダウンロード
例えばSRX5982330のデータをすべてダウンロードしたいとします。 SRA Run Selectorのページから、プロジェクト内で使用されたサンプルのAccession Listをダウンロードすることができます。
ここでダウンロードした SRR_Acc_List.txt
の中身は、以下のようにダウンロードするSRA番号が改行区切りで記載されています。
SRR9211436 SRR9211437 SRR9211438 SRR9211439 SRR9211440 SRR9211441 SRR9211442 SRR9211443 SRR9211444 SRR9211445 SRR9211446 SRR9211447
このAccession Listを使用することで、以下のように複数のSRAファイルを一気にダウンロードすることができます。
例:SRR_Acc_List.txt
に記載したSRAファイルをダウンロード
$ prefetch --option-file SRR_Acc_List.txt
このコマンドによりダウンロードしたファイルはfastq-dump
の1段階目 ~/ncbi/public/sra/
以下に保存されます。
おまけ
DBCLSの大田さんが公開しているpfastq-dumpを使用すればダウンロードを並列化させることが可能なようです。
簡単なシェルスクリプトで並列化されていて勉強にもよきですね。