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.0b0.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.0b0-py3-none-any.whl (75.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: vcfcache-0.4.0b0.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.0b0.tar.gz
Algorithm Hash digest
SHA256 d574a861ceb89caa108feb4a4ff72632fd7b53250087a8caec842fb517322574
MD5 6f7eea279eab579ef93a99b486f5fb87
BLAKE2b-256 b70a50f6652fa9a74df30f4ee26a70fe4c9c3e7da215ca489d222885c021a06c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: vcfcache-0.4.0b0-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.0b0-py3-none-any.whl
Algorithm Hash digest
SHA256 0dbc079f756d32764123ba6e0e71db1e58b4c1b3571054b2af55a858e9e0e46c
MD5 f4e9b657dd3c0dc8ebe6e3015225b329
BLAKE2b-256 02d10d16dbd99028168b331c97ef8ad81706ee8cce09af5faa4b66ca7912c715

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