BioinformaticsBioinformaticsPeer-reviewed journal article
vcfpp: a C++ API for rapid processing of the Variant Call Format
Abstract
Given the widespread use of the variant call format (VCF/BCF) coupled with continuous surge in big data, there remains a perpetual demand for fast and flexible methods to manipulate these comprehensive formats across various programming languages. Many bioinformatic tools were developed in C++ to ensure high performance and modern C++ standards offer an ever expanding libraries to ease program development. This work presents vcfpp, a C++ API of HTSlib in a single file, providing an intuitive interface to manipulate VCF/BCF files rapidly and safely, in addition to being portable. Moreover, this work introduces the vcfppR package to demonstrate the development of a high performance R package with vcfpp, allowing for rapid and straightforward variants analyses. In the benchmarking, with the compressed VCF of 3202 samples and one million variants as input, the dynamic script using vcfppR is only 1.3x slower than its compiled C++ counterpart vcfpp, whereas the Python API cyvcf2 is 1.9x slower when streaming a variant analysis with little memory. Lastly, in a two-step setting where the whole VCF content is loaded first, vcfppR demonstrates a 101x speed improvement over vcfR and even more folds than data.table in processing genotypes.
- assay: whole-genome sequencing
- research focus: variant calling
- research focus: benchmarking
- research focus: software / tool
- approach: experimental assay
- Citations
- 6
- FWCI
- 0.68
- Field percentile
- top 39%
Reproducibility ledger
Nobody has reported trying to reproduce this paper yet. Did you replicate an experiment or run the code? Your report saves the next lab a week.
Sign in to file a reproducibility report.
Related papers
- Vcfexpress: flexible, rapid user-expressions to filter and format VCFs
Brent S. Pedersen, Aaron R. Quinlan·BioinformaticsPeer-reviewed·Mar 3, 2024
- Vcflib and tools for processing the VCF variant call format
Erik P. Garrison, Zev N. Kronenberg, … Pjotr Prins·bioRxiv·May 21, 2021
- vcfilt: A Zero-Allocation Streaming Filter for High-Throughput VCF Processing
Muhammed Murshid KP·bioRxiv·Apr 16, 2026
- vardictcpp: A C++ reimplementation of VarDict variant caller
Joachim Wolff·GigabytePeer-reviewed·Oct 20, 2026
- VcfR: an R package to manipulate and visualize VCF format data
Brian J. Knaus, Niklaus J. Grünwald·bioRxiv·Feb 26, 2016
- pbcftools: parallel execution of bcftools for large variant call sets
Ge Zhang·bioRxiv·Aug 9, 2026