ntCard
ntCard estimates k-mer frequencies and constructs k-mer frequency histograms from sequencing datasets to support genome size estimation, sequencing error assessment, and optimization of downstream k-mer–based analyses.
Key Features:
- Streaming Algorithm: ntCard uses a streaming algorithm to process large sequencing datasets without loading the entire dataset into memory.
- Hashing Technique: It uses the ntHash algorithm to compute hash values for k-mers to enable rapid k-mer frequency estimation.
- Sampling and Statistical Modeling: ntCard samples hash values to build a reduced-representation multiplicity table of sampled k-mers and applies a statistical model to reconstruct the population k-mer frequency distribution.
Scientific Applications:
- K-mer frequency estimation: ntCard provides rapid estimation of k-mer coverage frequencies for genome size prediction, sequencing error rate assessment, and tuning of parameters for k-mer–based tools.
- Benchmarking on large datasets: ntCard has been benchmarked on datasets ranging from 480 GB to 2.4 TB, including whole-genome shotgun sequencing of human and white spruce, achieving more than 15× faster k-mer frequency estimates than other algorithms with similar memory usage and higher accuracy.
Methodology:
ntCard computes ntHash hash values for streamed sequences, samples those hash values to construct a multiplicity table representing the sample distribution of k-mers, and applies a statistical model to infer the population k-mer frequency distribution.
Topics
Details
- License:
- GPL-3.0
- Tool Type:
- command-line tool
- Operating Systems:
- Linux, Mac
- Programming Languages:
- C++
- Added:
- 6/4/2018
- Last Updated:
- 11/25/2024
Operations
Publications
Mohamadi H, Khan H, Birol I. ntCard: a streaming algorithm for cardinality estimation in genomics data. Bioinformatics. 2017;33(9):1324-1330. doi:10.1093/bioinformatics/btw832. PMID:28453674. PMCID:PMC5408799.