2022 1/11 論文引用
基本的なシーケンス品質管理とサマリー統計の計算は、リードをパースするのがボトルネックになることにより少し時間がかかる場合がある。Nanoq は、needletail および rust-bio ライブラリを使用した fastx ファイルに対して、欠陥のあるサマリー統計情報とフィルタリングのためのシングルパス操作、または Filtlong と同様のフィルタリング手法を可能にするツーパス操作のいずれかで、これらの操作を実行する。
Nanoq is now published @JOSS_TheOJ 🥳
— Eike Steinig (@EikeSteinig) January 11, 2022
One of the best journal experiences in my short publishing career, with constructive reviews that massively improved the code base. Thanks so much for your time and patience @luizirber @pierre_marijon Roderick Bovee 🙏 https://t.co/qsBrFRDDPj
Nanoq release v0.2.0 is out, dev /w @lachlanjmc, fast qc and stats of @nanopore reads:
— Eike Steinig (@EikeSteinig) January 23, 2021
- rust-bio and needletail read parsers
--> fast{a/q} gz support
- #nanostat like summary
- #filtlong like keep filters
- benchmarks
- lots of testshttps://t.co/WA9HLIRrvD
インストール
#cargo
cargo install nanoq
#conda
conda install -c conda-forge -c esteinig nanoq=0.2.1
#docker
docker pull esteinig/nanoq:latest
#Singularity
singularity pull docker://esteinig/nanoq:latest
> nanoq -h
$ nanoq -h
nanoq 0.2.1
Fast quality control and summary statistics for nanopore reads
USAGE:
nanoq [FLAGS] [OPTIONS]
FLAGS:
-c, --crab Rust-Bio parser (fastq only) [false]
-d, --detail Print detailed read summary [false]
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
-b, --keep_bases <BASES> Keep reads with best quality bases [0]
-f, --fastx <FASTX> Fastx input file [-]
-m, --max_length <MAXLEN> Maximum sequence length [0]
-l, --min_length <MINLEN> Minimum sequence length [0]
-o, --output <OUTPUT> Fastx output file [-]
-p, --keep_percent <PERCENT> Keep best percent quality bases [0]
-q, --min_quality <QUALITY> Minimum average sequence quality [0]
-t, --top <TOP> Print <top> length + quality reads [5]
実行方法
fastqまたはfastaのシークエンシングリードを指定する(ワンパスなので高速)。
例えば1000-bp以上、平均クオリティが10以上のリードのみ出力。
cat input.fq | nanoq -l 1000 -q 10 > reads.fq
#gzipped fastq
cat input.fq.gz | nanoq -l 1000 -q 10 > reads.fq
- -l Minimum sequence length [0]
- -q Minimum average sequence quality [0]
品質でソートされたリード(--keep_percent)を使用してクオリティが悪い20%の塩基を除去するか、または約500Mbpが残るまでクオリティが悪い品質のリード(--keep_bases)を減らす(拡張2パスフィルタリングでワンパスより時間がかかる)。
nanoq -f test.fq -p 80 -b 500000000 > reads.fq
- -p Keep best percent quality bases [0]
- -b Keep reads with best quality bases [0]
- -f Fastx input file [-]
ほかにもいくつかの使用例がある。Githubを確認して下さい。
引用
GitHub - esteinig/nanoq: Minimal but speedy quality control for nanopore reads in Rust
Nanoq: ultra-fast quality control for nanopore reads
Eike Steinig, Lachlan Coin
Submitted 24 January 2021 • Published 08 January 2022
DOI: 10.21105/joss.02991