macでインフォマティクス

macでインフォマティクス

HTS (NGS) 関連のインフォマティクス情報についてまとめています。

fastq-dumpを並列化した pfastq-dump

2018 11/25 誤字修正

2019 12/18 インストール手順修正、コマンド実行手順追加

 

pfastq-dumpは、Ohtaさんが公開されているfastq-dumpを並列処理するpythonスクリプトparallel-fastq-dumpのbash実装バージョン。Sequence Read Archive(wiki)からダウンロードされたシーケンスデータ(SRAフォーマット )をfastq-dumpの並列処理で素早くfastqに変換することができる。

 

インストール

依存

  • SRA toolkit 
#science系ツールレポジトリをtapしとく(してない人だけ)。
brew tap brewsci/science

#インストール
brew install sratoolkit

fastq-dumpとsra-statコマンドを実行し、パスが通っているか確認する。

 

本体 Github

git clone https://github.com/inutano/pfastq-dump
cd pfastq-dump/bin/
chmod a+x pfastq-dump
#パスの通ったディレクトリに移動かシンボリックリンクを張る
mv pfastq-dump /usr/local/bin

$ ./pfastq-dump 

Using sra-stat : 2.8.2

Using fastq-dump : 2.8.2

tmpdir: ~/pfastq-dump/bin

outdir: ~/pfastq-dump/bin

Usage:

pfastq-dump --threads <number of threads> [options] <path> [<path>...]

 

pfastq-dump option:

-t|--threads         number of threads

-s|--sra-id          SRA id

-O|--outdir          output directory

--tmpdir             temporary directory

 

Extra arguments will be passed through

 

Other:

-v|--version         show version info

-h|--help            program usage

本体はbashスクリプト。パスの通ったディレクトリに移動する。

 

ラン

prefetchでsraファイルをダウンロード(*1)してから、8スレッド使ってSRR000001.sraをペアエンドfastqに変換。

#ダウンロード
prefetch SRR000001.sra

#fastqに変換。ダウンロードしたSRR000001.sraのパスを指定する。
pfastq-dump --threads 8 --split-files --outdir output_dir <path>/<to>/SRR000001.sra

#ダウンロードも含め一括実行
pfastq-dump --threads 8 --split-files --outdir output_dir -s SRR000001.sra

 fastq-dumpはダウンロードとfastq変換を一括で行うことも可能ですが(下の参考を参照)、本ツールはsraをダウンロードしてから利用することが強く推奨されています。

 

 

参考

fastq-dumpでsraをダウンロードし、fastqをgz圧縮出力する。

fastq-dump SRR000001 --gzip  #ペアエンドは"--split-files"をつける。

#sraファイルが入らなければ消す。
rm -i ~/ncbi/publc/sra/SRR000001.sra

  

追記

引用

GitHub - inutano/pfastq-dump: parallel-fastq-dump implementation in bash script

参考ページ

https://bonohu.wordpress.com

fastq-dump

http://yagays.github.io/blog/2013/06/20/fastq-dump-sratoolkit/

 SRAからfastqを取得する

SRAからfastqを取得する - Palmsonntagmorgen

 

*1

fastq-dumpでもダウンロードできるが、非常に遅くなるので、prefetchでダウンロードし、fastq-dumpは解凍だけに使う方が早くなる。