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.

PMID: 31038666
Funding: - Natural Science Foundation of China: 31501070, 61762008, 81671831, 81702482 - Natural Science Foundation of Hubei: 2016GXNSFCA380006, 2017CFB137, 2018GXNSFAA281275 - Scientific Research Found of Guangxi University: XGZ150316 - and Taihe Hospital: 2016JZ11

Documentation

Links