bioRxivBioinformaticsPreprint
vcfilt: A Zero-Allocation Streaming Filter for High-Throughput VCF Processing
Abstract
Variant Call Format (VCF) files are the dominant interchange format for genomic variant data, but their size - routinely exceeding tens of gigabytes for population-scale studies - creates a significant computational bottleneck at the quality-filtering stage. Existing tools such as bcftools and vcftools provide broad functionality through general-purpose expression engines, but incur substantial per-record overhead from dynamic field lookup, type resolution, and heap allocation. We present vcfilt, a streaming, batch-parallel VCF filter implemented in Go that restricts its scope to three high-frequency filter criteria (INFO/DP, INFO/AF, and QUAL) and applies them via a zero-allocation byte-scan parser. Benchmarked on real 1000 Genomes Project data (chromosome 20, 1,811,146 variants), vcfilt achieves 147,000 variants/second on an 18 GB plain-text VCF file using a single thread - a 12.2x speedup over bcftools 1.18 under identical conditions. On gzip-compressed input, the speedup is 7.9x. Output is byte-for-byte identical to bcftools across all tested filter combinations. vcfilt is distributed as a self-contained static binary, a Docker image, and a Singularity-compatible container. The source code and all benchmark scripts are openly available under the MIT licence.
- Citations
- 0
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
- VariantFlow: a selective-execution engine for efficient population genomic computation on large variant datasets
Ehsan Estaji, Jian‐Feng Mao·bioRxiv·Sep 4, 2026
- Vcfexpress: flexible, rapid user-expressions to filter and format VCFs
Brent S. Pedersen, Aaron R. Quinlan·BioinformaticsPeer-reviewed·Mar 3, 2024
- pbcftools: parallel execution of bcftools for large variant call sets
Ge Zhang·bioRxiv·Aug 9, 2026
- vcfpp: a C++ API for rapid processing of the Variant Call Format
Zilong Li·BioinformaticsPeer-reviewed·Jan 23, 2024
- Insane in the vembrane: filtering and transforming VCF/BCF files
Till Hartmann, Christopher Schröder, … Johannes Köster·BioinformaticsPeer-reviewed·Dec 14, 2022
- Vcflib and tools for processing the VCF variant call format
Erik P. Garrison, Zev N. Kronenberg, … Pjotr Prins·bioRxiv·May 21, 2021