ROCK (Reducing Over-Covering K-mers) は、デジタル正規化法 (Brown et al. 2012, Wedemeyer et al. 2017, Durai and Schulz 2019 など) の代替実装を実行するC++で書かれたコマンドライン・プログラムである。ROCKの主な目的は、1つまたは複数のFASTQファイルが与えられたときに、カバレッジデプスが2つの指定された下限と上限の間で構成されるように、高スループットシーケンス(HTS)リードのサブセットを正確に構築することにある。
したがって、ROCKは、正確なde novoゲノムアセンブリを迅速に推定するために必要とされることが多いHTSリードの大規模セット内の全体のカバレッジデプスを低減および/または均一化するために使用できる(例: Desai et al.2013、 Chen et al.)
また、ROCKは、低カバレッジのHTSリードは、しばしば人工的であったり、誤りの多い、あるいは汚染された配列であるため、それらを廃棄するためにも使用することができる。詳しくは関連文献をご覧ください。Legrandら(2022a, 2022b)をご参照ください。
インストール
ソースコードからビルドした。コンパイル時の性能アップのオプションも提案されています。レポジトリを確認してください。
git clone https://gitlab.pasteur.fr/vlegrand/ROCK.git
cd ROCK/
autoconf
aclocal
automake
./configure
make check
make #実行ファイルはsrc/にできる
sudo make install
> rock
You must provide filename via -i or arguments to indicate ROCK what to filter.
ROCK 2.0 Copyright (C) 2016-2022 Institut Pasteur
Reducing Over-Covering K-mers within FASTQ file(s)
USAGE: rock [options] [files]
OPTIONS:
-i <file> file containing the name(s) of the input FASTQ file(s) to
process; single-end: one file name per line; paired-end:
two file names per line separated by a comma; up to 15
FASTQ file names can be specified; of note, input file
name(s) can also be specified as program argument(s)
-o <file> file containing the name(s) of the output FASTQ file(s);
FASTQ file name(s) should be structured in the same way as
the file specified in option -i.
-k <int> k-mer length (default 25)
-c <int> lower-bound k-mer coverage depth threshold (default: 0)
-C <int> upper-bound k-mer coverage depth threshold (default: 70)
-l <int> number of hashing function(s) (default: 4)
-n <int> expected total number of distinct k-mers within the input
read sequences; not compatible with option -l.
-f <float> maximum expected false positive probability when computing
the optimal number of hashing functions from the number of
distinct k-mers specified with option -n (default: 0.05).
-p process PE reads separately. This allows the selection of
more reads which in some cases gives better assembly results.
-q <int> sets as valid only k-mers made up of nucleotides with
Phred score (+33 offset) above this cutoff (default: 0)
-m <int> minimum number of valid k-mer(s) to consider a read;
-v verbose mode
-h prints this message and exit
実行方法
使用するfastqは解凍しておく必要がある。
#single-end、minCov=2、maxCov=70
rock -c 2 -C 70 -k 25 single.fastq
=> single.rock.fastqが出力される
#paired-end、minCov=2、maxCov=70, K=25
rock -c 2 -C 70 -k 25 R1.fastq,R2.fastq
=> R1.rock.fastqとR2.rock.fastqが出力される
#fastqはテキストでも指定できる
rock -i infiles.txt -o outfiles.txt
- -i file containing the name(s) of the input FASTQ file(s) to process; single-end: one file name per line; paired-end: two file names per line separated by a comma; up to 15 FASTQ file names can be specified; of note, input file name(s) can also be specified as program argument(s)
- -o file containing the name(s) of the output FASTQ file(s); FASTQ file name(s) should be structured in the same way as the file specified in option -i.
- -k <int> k-mer length (default 25)
- -c <int> lower-bound k-mer coverage depth threshold (default: 0)
- -C <int> upper-bound k-mer coverage depth threshold (default: 70)
- -l <int> number of hashing function(s) (default: 4)
- -n <int> expected total number of distinct k-mers within the input read sequences; not compatible with option -l.
レポジトリでは例としてSARS-CoV-2 の Ion Torrentのシークエンシングデータをデジタル正規化する流れが説明されています。興味がある方は確認してみてください。
引用
ROCK: digital normalization of whole genome sequencing data
Véronique Legrand, Thomas Kergrohen, Nicolas Joly, Alexis Criscuolo
JOSS, Submitted 01 September 2021 • Published 07 May 2022
https://joss.theoj.org/papers/10.21105/joss.03790
関連