macでインフォマティクス

macでインフォマティクス

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

SRA Toolkitのfastq-dumpを並列実行して高速化する parallel-fastq-dump

 

 NCBIのfastq-dumpはリソース(ネットワーク、IO、CPU)が速くても、時には非常に遅くなることがある(Githubprotipを参照)。 fastq-dumpにはsraファイルの特定の範囲を照会するオプション(-Nと-X)があるため、このツールparallel-fastq-dumpは作業を要求されたスレッド数に分割し、複数のfastq-dumpを並列実行して高速化する。結果は内部で連結され、fastq-dumpを実行したのと同じ結果が得られる。

  

 

インストール

mac os10.14でテストした。

依存

  • SRA Toolkit (link)

本体 Github

#Anaconda環境ならcondaで導入可能(依存関係にあるsra toolkitも導入される)
mamba install -c bioconda -y parallel-fastq-dump

> parallel-fastq-dump -h

$ parallel-fastq-dump -h

usage: parallel-fastq-dump [-h] [-s SRA_ID] [-t THREADS] [-O OUTDIR]

                           [--tmpdir TMPDIR] [-V]

 

parallel fastq-dump wrapper, extra args will be passed through

 

optional arguments:

  -h, --help            show this help message and exit

  -s SRA_ID, --sra-id SRA_ID

                        SRA id

  -t THREADS, --threads THREADS

                        number of threads

  -O OUTDIR, --outdir OUTDIR

                        output directory

  --tmpdir TMPDIR       temporary directory

  -V, --version         shows version

 

実行方法

例えば"SRR8240026"をダウンロードし、out_dir/にペアエンドfastq.gz出力する。

parallel-fastq-dump --threads 8 --split-files --gzip \
--outdir out_dir --sra-id SRR8240026

#追記 複数
parallel-fastq-dump --threads 8 --split-files --gzip \
--outdir out_dir --sra-id SRR1767325 SRR1767326 SRR1767327

out_dir

f:id:kazumaxneo:20181126120453j:plain

 

 

感想

回線帯域が十分な条件でテストする限り、fastq-dumpだけでダウンロード、fastq変換するより7~8倍早く終わりますね("--threads 8"でテスト)。

引用

GitHub - rvalieris/parallel-fastq-dump: parallel fastq-dump wrapper

 

関連