VCFX is a set of small C/C++ command line tools for manipulating and analysing Variant Call Format (VCF) files. Each tool does one job well and they can be chained together using standard streams.
- 60+ Specialized Tools for filtering, transforming and analysing variants
- Pipeline Ready: tools read from stdin and write to stdout
- Fast: designed for large genomic datasets
- Cross Platform: Linux and macOS support
- WebAssembly Builds for browser or Node.js usage
- Easy Installation via PyPI, Bioconda or Docker
- Python Bindings for programmatic access
pip install vcfx
After installing the Python bindings you can run any tool directly:
import vcfx
vcfx.run_tool("alignment_checker", "--help")
conda install -c bioconda vcfx
docker pull ghcr.io/jorgemfs/vcfx:latest
docker run --rm ghcr.io/jorgemfs/vcfx:latest VCFX_tool_name --help
git clone https://github.com/ieeta-pt/VCFX.git
cd VCFX
mkdir build && cd build
cmake .. -DPYTHON_BINDINGS=ON
make
Optionally run make install
to place the tools in ~/.local/bin
.
cat input.vcf | \
VCFX_variant_classifier --append-info | \
grep 'VCF_CLASS=SNP' | \
VCFX_allele_freq_calc > snp_frequencies.tsv
Full documentation is available at ieeta-pt.github.io/VCFX. The docs
folder contains the sources and can be served locally with mkdocs serve
.
src/
– C++ source code for all toolspython/
– optional Python bindingsdocs/
– documentation sourcestests/
– shell and Python testsexamples/
– usage examples and workflows
Run tests with pytest
and ctest
from the build directory. Code style is enforced with clang-format
and pre-commit hooks:
pre-commit install
If you use VCFX in your research please cite:
@inproceedings{silva2025vcfx,
title={VCFX: A Minimalist, Modular Toolkit for Streamlined Variant Analysis},
author={Silva, Jorge Miguel and Oliveira, José Luis},
booktitle={12th International Work-Conference on Bioinformatics and Biomedical Engineering (IWBBIO 2025)},
year={2025},
organization={Springer}
}
VCFX is distributed under the MIT License.