2022/02/02 追記
Githubより
Nanoqは超高速リードフィルターとサマリーレポートを実装している。品質スコアは、技術文書や別の記事で説明しているように、ナノポア・シーケンス・データからのベースコールに対して計算される。
I recently pushed an update for nanoq - our ultra fast @nanopore read filter and summary stats tool in @rustlang /w @lachlanjmc
— Eike Steinig (@EikeSteinig) November 8, 2021
Benchmarks show speeds up to ~1.25 million reads / second (fast mode, no quality scores) https://t.co/WA9HLIRrvD
Quick thread 🧵
インストール
macosにも対応しているが、ubuntu18でテストした。
cargo install nanoq
#conda
mamba install -c bioconda nanoq=0.8.2
> nanoq -h
nanoq 0.8.2
Read filters and summary reports for nanopore data
USAGE:
nanoq [FLAGS] [OPTIONS]
FLAGS:
-f, --fast Ignore quality values if present
-h, --help Prints help information
-s, --stats Statistics only, reads to /dev/null
-V, --version Prints version information
-v, --verbose Pretty print output statistics
OPTIONS:
-c, --compress-level <1-9> Compression level to use if compressing output [default: 6]
-i, --input <input> Fast{a,q}.{gz,xz,bz}, stdin if not present
-m, --max-len <INT> Maximum read length filter (bp) [default: 0]
-l, --min-len <INT> Minimum read length filter (bp) [default: 0]
-q, --min-qual <FLOAT> Minimum average read quality filter (Q) [default: 0]
-o, --output <output> Output filepath, stdout if not present
-O, --output-type <u|b|g|l> u: uncompressed; b: Bzip2; g: Gzip; l: Lzma
-t, --top <INT> Number of top reads in verbose summary [default: 5]
実行方法
ONTのリード(gzip圧縮にも対応)を指定する。リードの要約統計を出力。
nanoq -i reads.fq.gz -s
出力されるのは以下の内容。
- number of reads
- number of base pairs
- N50 read length
- longest read
- shorted reads
- mean read length
- median read length
- mean read quality
- median read quality
”-f”オプションを付けると、クオリティ値をフィルターや統計から除外して高速化することもできる。
拡張要約統計を出力。
nanoq -i reads.fq.gz -s -vv
最小リード長(1000)、最大リード長(10000)、平均リード品質(10)でリードをフィルタリング。gzip圧縮出力する。
nanoq -i reads.fq.gz -l 1000 -q 10 -m 10000 -O g > reads.fq.gz
-
-c Compression level to use if compressing output <1-9> [default: 6]
-
-i Fast{a,q}.{gz,xz,bz}, stdin if not present
-
-m Maximum read length filter (bp) [default: 0]
-
-l Minimum read length filter (bp) [default: 0]
-
-q Minimum average read quality filter (Q) [default: 0]
-
-o Output filepath, stdout if not present
-
-O u: uncompressed; b: Bzip2; g: Gzip; l: Lzma
-
-t Number of top reads in verbose summary
他にも色々な使い方が提案されています。レポジトリを確認して下さい。
引用
GitHub - esteinig/nanoq: Minimal but speedy quality control for nanopore reads in Rust