rsomics-read-nvc
Per-cycle nucleotide composition (NVC) from a BAM file — Rust port of RSeQC read_NVC.py.
For each read cycle position (0-based), counts A, C, G, T, N, and X (other) bases across all passing reads. Reverse-strand reads are reverse-complemented so that position 0 always corresponds to the first sequenced base.
Usage
rsomics-read-nvc -i input.bam -o prefix [--mapq 30] [-t threads]
Produces prefix.NVC.xls with columns Position, A, C, G, T, N, X.
Filters
- Skip unmapped reads (FLAG 0x0004).
- Skip QC-fail reads (FLAG 0x0200).
- Skip reads with MAPQ <
--mapq(default 30).
Origin
This crate is an independent Rust reimplementation of RSeQC read_NVC.py based on:
- The published method: Wang et al. 2012 https://doi.org/10.1093/bioinformatics/bts356
- The public SAM/BAM format specification
- Black-box behaviour testing against
RSeQC5.0.4
No source code from the GPL upstream was used as reference during implementation. Test fixtures are independently generated.
License: MIT OR Apache-2.0.
Upstream credit: RSeQC https://rseqc.sourceforge.net/ (GPL-v3).