Skip to content
/ VCFX Public
forked from ieeta-pt/VCFX

VCFX is a collection of specialized C/C++ command-line tools designed for efficient manipulation, analysis, and transformation of VCF files.

License

Notifications You must be signed in to change notification settings

jorgeMFS/VCFX

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VCFX: Comprehensive VCF Manipulation Toolkit

VCFX Logo

Documentation Bioconda License: MIT Docker PyPI version PyPI downloads PyPI - Python Version

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.

Features

  • 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

Installation

PyPI (Python Package)

pip install vcfx

After installing the Python bindings you can run any tool directly:

import vcfx
vcfx.run_tool("alignment_checker", "--help")

Bioconda

conda install -c bioconda vcfx

Docker

docker pull ghcr.io/jorgemfs/vcfx:latest
docker run --rm ghcr.io/jorgemfs/vcfx:latest VCFX_tool_name --help

Build from Source

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.

Quick Example

cat input.vcf | \
  VCFX_variant_classifier --append-info | \
  grep 'VCF_CLASS=SNP' | \
  VCFX_allele_freq_calc > snp_frequencies.tsv

Documentation

Full documentation is available at ieeta-pt.github.io/VCFX. The docs folder contains the sources and can be served locally with mkdocs serve.

Repository Layout

  • src/ – C++ source code for all tools
  • python/ – optional Python bindings
  • docs/ – documentation sources
  • tests/ – shell and Python tests
  • examples/ – usage examples and workflows

Development

Run tests with pytest and ctest from the build directory. Code style is enforced with clang-format and pre-commit hooks:

pre-commit install

Citation

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}
}

License

VCFX is distributed under the MIT License.

About

VCFX is a collection of specialized C/C++ command-line tools designed for efficient manipulation, analysis, and transformation of VCF files.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages

  • C++ 52.1%
  • Shell 39.5%
  • Python 6.7%
  • CMake 1.5%
  • Dockerfile 0.2%