kmcEx
kmcEx encodes counted k-mers and their frequencies in a memory-efficient, retrieval-optimized representation to enable large-scale k-mer-based genomic analyses such as error correction, repeat detection, multiple sequence alignment, and genome assembly.
Key Features:
- Memory-efficient encoding: Achieves an average memory-saving ratio of approximately 13.81× compared to raw input data when applied to datasets containing 31-mers.
- Coupled-bit array data structure: Implements a Bloom filter-like structure composed of coupled-bit arrays, with one array representing the k-mer and another encoding frequency information.
- Hashing scheme: Employs seven hash functions to populate the coupled-bit arrays and control collisions.
- Constant-time retrieval: Maintains a controlled retrieval time complexity that remains effectively constant.
- Reduced false-positive rate: Lowers the Bloom filter false-positive rate by approximately two orders of magnitude.
- Experimental validation: Performance and robustness were evaluated on five real datasets.
Scientific Applications:
- Error correction: Provides memory-efficient access to k-mer counts for sequencing error correction workflows.
- Repeat detection: Enables scalable detection of repeats using counted k-mer frequencies.
- Multiple sequence alignment: Supports k-mer-based inputs and frequency queries for alignment preprocessing and heuristics.
- Genome assembly: Supplies compact k-mer and frequency encodings suitable for assembly algorithms that rely on k-mer statistics.
Methodology:
Uses a Bloom filter-like data structure of coupled-bit arrays (one for k-mer representation and one for frequency encoding) with seven hash functions to encode k-mers and frequencies, yielding effectively constant retrieval time and a substantially reduced false-positive rate.
Topics
Details
- License:
- Unlicense
- Maturity:
- Mature
- Cost:
- Free of charge
- Tool Type:
- command-line tool
- Operating Systems:
- Linux, Windows, Mac
- Programming Languages:
- C++
- Added:
- 8/9/2019
- Last Updated:
- 6/16/2020
Operations
Publications
Jiang P, Luo J, Wang Y, Deng P, Schmidt B, Tang X, Chen N, Wong L, Zhao L. kmcEx: memory-frugal and retrieval-efficient encoding of counted <i>k</i>-mers. Bioinformatics. 2019;35(23):4871-4878. doi:10.1093/bioinformatics/btz299. PMID:31038666.