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.