BFCounter

BFCounter counts k-mers in DNA sequence data using a Bloom filter to provide memory-efficient k-mer frequency information for genome assembly, transcriptome analysis, error correction of reads, and metagenomic sequencing.


Key Features:

  • Efficient Memory Usage: Employs a probabilistic Bloom filter to store observed k-mers implicitly and to focus on k-mers occurring more than once, thereby filtering out singleton k-mers and reducing memory requirements.
  • Error Correction: Identifies and excludes singleton k-mers during the initial pass to improve error correction of sequence reads.
  • Two-pass Methodology: Performs an initial Bloom-filter pass to identify non-singleton k-mers and a subsequent pass that computes exact counts for those k-mers.
  • Performance Optimization: Achieves up to 50% savings in memory usage on example datasets compared with existing software with only modest reductions in computational speed.
  • Implementation: Implemented in C++.

Scientific Applications:

  • Genome and Transcriptome Assembly: Provides k-mer counts that support assembly workflows for genomes and transcriptomes from sequencing data.
  • Metagenomic Sequencing: Manages large, diverse sequencing datasets with reduced memory footprint to facilitate metagenomic analyses.
  • Error Correction of Sequence Reads: Enhances the accuracy of read error correction by focusing counting and subsequent analysis on non-singleton k-mers.

Methodology:

Uses a two-pass approach: an initial pass with a Bloom filter to identify k-mers occurring multiple times (filtering singletons) followed by a second pass that produces exact counts for the identified non-singleton k-mers.

Topics

Details

License:
GPL-3.0
Maturity:
Mature
Tool Type:
command-line tool
Operating Systems:
Linux
Programming Languages:
C++
Added:
1/13/2017
Last Updated:
11/25/2024

Operations

Publications

Melsted P, Pritchard JK. Efficient counting of k-mers in DNA sequences using a bloom filter. BMC Bioinformatics. 2011;12(1). doi:10.1186/1471-2105-12-333. PMID:21831268. PMCID:PMC3166945.

Documentation