次世代シーケンサー(NGS)のデータ解析を始めるために、まずFASTQファイルを用意する必要があります。
しかしながら、NCBIのデータベースは登録されたシーケンスデータのFASTQファイルを直接ブラウザからダウンロードすることができないため、SRA Toolkitというツールを使ってコマンドライン上から取得する必要があります。
本記事ではSRA Toolkitを使って、公共のレポジトリからFASTQファイルを取得する方法を解説します。
fasterq-dumpとは
SRA Toolkitに含まれる「fasterq-dump」コマンドはSRA(Sequence Read Archive)アクセッションからFASTQ形式のデータを抽出します。fastq-dumpの後継であり、マルチスレッドを利用することにより、高速に動作します。
事前準備
本記事では、sra-toolsのdockerイメージを使ってコマンドを実行します。 dockerが使える準備ができていればそのままお進みください。dockerがまだ使える状態でない方は下記の記事からdockerをインストールしてから先に進みましょう!
バイオインフォマティクスを始めるときに、初心者が最初にぶつかる壁が環境構築です。解析を行うためには非常にたくさんのソフトウェアをインストールして使わないといけないケースが多くあります。 この記事では、簡単にバイオイ[…]
fasterq-dump : version 3.0.1
fasterq-dumpの基本形
使い方は以下のように、fasterq-dumpの後にオプションとSRRアクセッション番号を指定するだけです。
fasterq-dump [オプション] [SRR_ID]
fasterq-dumpのオプション
fasterq-dumpの詳細なオプションは以下をご確認ください。
- fasterq-dumpの詳細オプション
-
Usage:
fasterq-dump <path> [options]
fasterq-dump <accession> [options]
Options:
-o|–outfile output-file
-O|–outdir output-dir
-b|–bufsize size of file-buffer dflt=1MB
-c|–curcache size of cursor-cache dflt=10MB
-m|–mem memory limit for sorting dflt=100MB
-t|–temp where to put temp. files dflt=curr dir
-e|–threads how many thread dflt=6
-p|–progress show progress
-x|–details print details
-s|–split-spot split spots into reads
-S|–split-files write reads into different files
-3|–split-3 writes single reads in special file
–concatenate-reads writes whole spots into one file
-Z|–stdout print output to stdout
-f|–force force to overwrite existing file(s)
–skip-technical skip technical reads
–include-technical include technical reads
-M|–min-read-len filter by sequence-len
–table which seq-table to use in case of pacbio
-B|–bases filter by bases
-A|–append append to output-file
–fasta produce FASTA output
–fasta-unsorted produce FASTA output, unsorted
–seq-defline custom defline for sequence: $ac=accession,
$sn=spot-name, $sg=spot-group, $si=spot-id,
$ri=read-id, $rl=read-length
–qual-defline custom defline for qualities: same as seq-defline
-U|–only-unaligned process only unaligned reads
-a|–only-aligned process only aligned reads
-l|–row-limit limit rowcount per thread
–disk-limit explicitly set disk-limit
–disk-limit-tmp explicitly set disk-limit for temp. files
–size-check switch to control: on=perform size-check
(default), off=do not perform size-check,
only=perform size-check only
–ngc <PATH> PATH to ngc file
-h|–help Output brief explanation for the program.
-V|–version Display the version of the program then quit.
-L|–log-level <level> Logging level as number or enum string. One
of (fatal|sys|int|err|warn|info|debug) or
(0-6) Current/default is warn
-v|–verbose Increase the verbosity of the program
status messages. Use multiple times for more
verbosity. Negates quiet.
-q|–quiet Turn off all status messages for the
program. Negated by verbose.
–option-file <file> Read more options and parameters from the file.
for more information visit:
https://github.com/ncbi/sra-tools/wiki/HowTo:-fasterq-dump
https://github.com/ncbi/sra-tools/wiki/08.-prefetch-and-fasterq-dump
fasterq-dump : 3.0.1
オプションはたくさんありますが、よく使うであろうものを2種類ピックアップしてご紹介します。スレッド数を増やすことで、より高速に処理することができます。dockerを利用しているので、dockerに割り当てているリソースを確認して、スレッド数を指定してください。
-p, –progress : 進捗を表示する
ペアエンドのFASTQファイル
docker container run --rm -v $PWD:/output -w /output ncbi/sra-tools:3.0.1 fasterq-dump -e 4 -p SRR000001
うまくいけば、現在のフォルダにSRR000001.fastq, SRR000001_1.fastq, SRR0000001_2.fastqができているはずです。SRR000001はペアエンドでシーケンスされたデータであるため、SRR000001_1.fastq, SRR0000001_2.fastqの2つに分割されたデータができます。fasterq-dumpではペアエンドのデータを自動で認識してファイルを分割してくれます。
dockerコマンドのオプションについては、以下で補足しておきます。
-v $PWD:/output : ホストPCの現在のディレクトリ($PWD)をコンテナ内の/outputにマウントする(紐付ける)
-w /output : コンテナ内の作業ディレクトリを、/outputに指定する
シングルエンドのFASTQファイル
SRRのアクセッション番号を変えるだけで、他のFASTQファイルもダウンロードすることができます。
SRR24464805のデータで試してみましょう。こちらはシングルエンドのデータです。ターミナルで以下のコマンドを実行します。
docker container run --rm -v $PWD:/output -w /output ncbi/sra-tools:3.0.1 fasterq-dump -e 4 -p SRR24464805
実行が完了したら、シングルエンドのデータなので現在のフォルダにSRR24464805.fastqの1つのFASTQファイルがダウンロードできています。
さいごに
SRA Toolkitのfasterq-dumpを使って、自分の解析したいFASTQファイルをダウンロードしてみてください。 また、オプションも色々試してみると理解が深まると思います。