Skip to main content

Cache-based VCF annotation accelerator

Project description

VCFcache – Cache once, annotate fast

Cache common variants once, reuse them for every sample. VCFcache builds a normalized blueprint, annotates it once, and reuses those results so only rare/novel variants are annotated at runtime.


Quick Start - pip install

Requires: Python >= 3.11, bcftools >= 1.20

pip install vcfcache
vcfcache demo --smoke-test  # Run comprehensive demo
vcfcache --help

Install bcftools separately:

  • Ubuntu/Debian: sudo apt-get install bcftools
  • macOS: brew install bcftools
  • Conda: conda install -c bioconda bcftools

Quick Start - Docker

Docker includes bcftools - no separate installation needed.

docker pull ghcr.io/julius-muller/vcfcache:latest

# Use a public cache from Zenodo
docker run --rm -v $(pwd):/work ghcr.io/julius-muller/vcfcache:latest \
  annotate \
    -a cache-hg38-gnomad-4.1joint-AF0100-vep-115.2-basic \
    --vcf /work/sample.vcf.gz \
    --output /work/out \
    --force

# List available public caches
docker run --rm ghcr.io/julius-muller/vcfcache:latest list caches

Quick Start - from source

git clone https://github.com/julius-muller/vcfcache.git
cd vcfcache
uv venv .venv && source .venv/bin/activate
uv pip install -e ".[dev]"
vcfcache --help

Build Your Own Cache

  1. Create blueprint (normalize/deduplicate variants):
vcfcache blueprint-init --vcf gnomad.bcf --output ./cache -y params.yaml
  1. Annotate blueprint (create cache):
vcfcache cache-build --name vep_cache --db ./cache -a annotation.yaml -y params.yaml
  1. Use cache on samples:
vcfcache annotate -a ./cache/cache/vep_cache --vcf sample.vcf.gz --output ./results

Configuration

Override system bcftools (if needed):

export VCFCACHE_BCFTOOLS=/path/to/bcftools-1.22

Change where downloaded caches/blueprints are stored (default: ~/.cache/vcfcache):

export VCFCACHE_DIR=/path/to/vcfcache_cache_dir

Or in params.yaml:

bcftools_cmd: "/path/to/bcftools"

See WIKI.md for detailed configuration, cache distribution via Zenodo, and troubleshooting.


Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vcfcache-0.4.0b1.tar.gz (103.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vcfcache-0.4.0b1-py3-none-any.whl (75.7 kB view details)

Uploaded Python 3

File details

Details for the file vcfcache-0.4.0b1.tar.gz.

File metadata

  • Download URL: vcfcache-0.4.0b1.tar.gz
  • Upload date:
  • Size: 103.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for vcfcache-0.4.0b1.tar.gz
Algorithm Hash digest
SHA256 76a038fb7c59a93a33ee652957daddf546182a038a56be97fae44ff6236be82d
MD5 d4dbe504f30e1c8d3ba782a6d7f3f1a5
BLAKE2b-256 2793c489cbd09b1acfc6005b2753d56f52197cc7dbd3cc01339586a239c71f9b

See more details on using hashes here.

File details

Details for the file vcfcache-0.4.0b1-py3-none-any.whl.

File metadata

  • Download URL: vcfcache-0.4.0b1-py3-none-any.whl
  • Upload date:
  • Size: 75.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for vcfcache-0.4.0b1-py3-none-any.whl
Algorithm Hash digest
SHA256 2d79cf35fe2dc86cc246ffc27d986c2a0e69203bb0197cd335e747e37aef2f3d
MD5 f9a995b4abd090c2587e345b5f9d3837
BLAKE2b-256 c9b09c5c6d961e86e992241c46e517746b9fbefc7971a7e1888aa76694d31e4d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page