KMC

KMC counts k-mers in large Next Generation Sequencing (NGS) datasets to produce k-mer occurrence histograms for downstream analyses such as de Bruijn graph assembly and repeat detection.


Key Features:

  • K-mer counting: Counts k-mers (consecutive k nucleotide symbols) and constructs histograms of k-length substring occurrences.
  • Disk-based processing: Employs a disk-based approach to handle large-scale sequencing datasets beyond main memory limits.
  • Signatures instead of minimizers: Uses signatures, a carefully selected subset of all possible minimizers, replacing traditional minimizers.
  • (k,x)-mers representation: Utilizes (k,x)-mers to reduce input/output operations.
  • Parallel architecture: Implements a highly parallel processing architecture to achieve high throughput.
  • Performance: Reported to run approximately twice as fast as Jellyfish 2 and KMC 1 while maintaining moderate memory usage (typically around 12 GB or less).
  • Benchmark example: Processed 28-mers of a human reads collection with 44-fold coverage (≈106 GB compressed) in about 20 minutes on a 6-core Intel i7 with a solid-state disk.
  • NGS data compatibility: Targets high-volume outputs produced by Next Generation Sequencing technologies.

Scientific Applications:

  • Histogram construction: Produces k-mer frequency histograms used for sequence analysis and quality assessment.
  • De Bruijn graph assembly: Provides k-mer counts foundational for constructing de Bruijn graph-based genome assemblers.
  • Multiple sequence alignment: Facilitates fast multiple sequence alignment workflows that rely on k-mer information.
  • Repeat detection: Enables detection and analysis of repetitive elements within genomic data.

Methodology:

Computational methods include a disk-based counting scheme, use of signatures (a subset of minimizers) in place of traditional minimizers, representation with (k,x)-mers to reduce I/O, and a highly parallel processing architecture.

Topics

Details

Tool Type:
command-line tool
Operating Systems:
Linux, Windows, Mac
Programming Languages:
C++
Added:
8/3/2017
Last Updated:
11/25/2024

Operations

Publications

Deorowicz S, Kokot M, Grabowski S, Debudaj-Grabysz A. KMC 2: fast and resource-frugal <i>k</i>-mer counting. Bioinformatics. 2015;31(10):1569-1576. doi:10.1093/bioinformatics/btv022. PMID:25609798.

Documentation

Links