vcfpp: a C++ API for rapid processing of the Variant Call Format

preprint OA: closed CC-BY-NC-ND-4.0
📄 Open PDF View at publisher

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.3 × slower than its compiled C++ counterpart vcfpp, whereas the Python API cyvcf2 is 1.9 × 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 101 × speed improvement over vcfR and even more folds than data.table in processing genotypes.

My notes (saved in your browser only)

Citation neighborhood (no data yet)

We don't have any in-corpus citations linked to this paper yet. The paper's references may be in our DB but unresolved to ``paper_id`` (resolution happens at ingest when the cited DOI matches a row we already have). Run the cross-source citation reconcile pass to retry.

Source provenance

europepmc
last seen: 2026-05-19T01:45:01.086888+00:00
unpaywall
last seen: 2026-05-22T02:00:06.705733+00:00
License: CC-BY-NC-ND-4.0