This release has been yanked by its maintainers, and will be ignored by installers, except when explicitly specified.
Consider using release 3.2.0 instead.
Reason given by maintainers: github workflows publish pointed at wrong commit
VCF-RDFizer is a Docker-first CLI wrapper for:
- VCF -> RDF (N-Triples) with RMLStreamer
- Optional RDF compression/decompression
The VCF-RDFizer vocabulary is available at https://w3id.org/vcf-rdfizer/vocab#.
Requirements
- Python 3.10+
- Docker (installed and running)
Install options:
pip install vcf-rdfizer
or
pipx install vcf-rdfizer
or
conda install -c conda-forge vcf-rdfizer
or pull the prebuilt Docker image directly:
docker pull ecrum19/vcf-rdfizer:latest
Important CLI Rule
--out is required for all modes.
This is the run output root directory. VCF-RDFizer places:
- final RDF/compression outputs
- run metrics/logs
- hidden intermediates
inside this directory.
Modes
full: VCF -> TSV -> RDF -> compressiontsv: VCF -> TSV only (benchmarking)compress: compress an existing.ntdecompress: decompress.nt.gz,.nt.br, or.hdt
In full mode with multiple VCF inputs, failures are isolated per input:
- the run continues with remaining files
- failed inputs are summarized in
run_metrics/<RUN_ID>/failed_inputs.csv
Main Flags (Most Used)
-m, --mode {full,compress,decompress,tsv}-o, --outrequired output root directory-c, --compressionmethods:gzip,brotli,hdt,hdt_gzip,hdt_brotli,none-I, --imageDocker image repo (defaultecrum19/vcf-rdfizer)-v, --image-versionDocker tag/version-b, --buildforce Docker build-B, --no-buildfail if image not found-h, --helpshow full usage
Full Mode Flags
-i, --inputrequired VCF file or directory-r, --rulesmapping rules file (.ttl)- default:
rules/default_rules.ttl
- default:
-l, --rdf-layout {aggregate,batch}required in full mode-P, --spark-partitionsoptional Spark partition hint (positive integer)- low-cost way to reduce output part count by setting
spark.default.parallelismandspark.sql.shuffle.partitions
- low-cost way to reduce output part count by setting
-k, --keep-tsvkeep hidden TSV intermediates-R, --keep-rdfkeep raw.ntafter compression-e, --estimate-sizepreflight size estimate
TSV Mode Flags
-i, --inputrequired VCF file or directory- Outputs per-run benchmark summary in
run_metrics/<RUN_ID>/tsv_metrics.csv - Raw TSV timing + artifact JSON per input in
run_metrics/<RUN_ID>/raw_metrics/tsv_*
Compression Mode Flags
-q, --rdf, --ntrequired input.ntfile
Decompression Mode Flags
-C, --compressed-inputrequired.nt.gz,.nt.br, or.hdt-d, --decompress-outoptional explicit output.ntpath (must be inside--out)
Quick Start
Show help:
vcf-rdfizer --help
Full pipeline (aggregate RDF):
vcf-rdfizer \
--mode full \
--input ./vcf_files \
--rdf-layout aggregate \
--out ./results
Full pipeline (batch RDF parts):
vcf-rdfizer \
--mode full \
--input ./vcf_files \
--rdf-layout batch \
--compression hdt \
--out ./results
Full pipeline with low-cost partition cap (helps avoid too many tiny batch files):
vcf-rdfizer \
--mode full \
--input ./vcf_files \
--rdf-layout batch \
--spark-partitions 8 \
--compression hdt \
--out ./results
Full pipeline with custom rules + keep RDF:
vcf-rdfizer \
--mode full \
--input ./vcf_files \
--rules ./rules/my_rules.ttl \
--rdf-layout aggregate \
--compression hdt,brotli \
--keep-rdf \
--out ./results
TSV-only benchmark:
vcf-rdfizer \
--mode tsv \
--input ./vcf_files \
--out ./results
Compression-only:
vcf-rdfizer \
--mode compress \
--rdf ./results/sample/sample.nt \
--compression hdt_gzip \
--out ./results
Decompression-only:
vcf-rdfizer \
--mode decompress \
--compressed-input ./results/sample/sample.hdt \
--out ./results
Output Layout
Given --out ./results:
- final outputs:
./results/<sample>/...
- per-run metrics/logs:
./results/run_metrics/<RUN_ID>/...
- hidden intermediates:
./results/.intermediate/tsv/
Intermediates are hidden by default.
Raw .nt files are removed after compression unless --keep-rdf is provided.
Metrics
For each run, VCF-RDFizer writes:
run_metrics/<RUN_ID>/metrics.csvrun_metrics/<RUN_ID>/wrapper_execution_times.csvrun_metrics/<RUN_ID>/progress.log
Compression metrics now include per-method:
wall_seconds_*user_seconds_*sys_seconds_*max_rss_kb_*
Rules
- default rules file:
rules/default_rules.ttl - rules guide:
rules/README.md
Troubleshooting
If Docker permission issues occur, rerun with a Docker-allowed user (or configure Docker group/sudo access on your system).
If HDT compression fails on very large .nt files, use batch layout and/or non-HDT compression methods.
Safe termination:
- Press
Ctrl+Cto interrupt a run. - The wrapper exits with code
130, writes progress torun_metrics/<RUN_ID>/progress.log, and performs best-effort cleanup of tracked intermediates. - Raw RDF cleanup on interrupt follows
--keep-rdf:- with
--keep-rdf, raw.ntfiles are preserved - without
--keep-rdf, tracked raw.ntfiles are removed during interrupt cleanup
- with
Citation
If you use VCF-RDFizer in a publication, please cite:
VCF-RDFizer maintainers. (2026). VCF-RDFizer (Version 3.0.1) [Computer software]. GitHub. https://github.com/ecrum19/VCF-RDFizer
BibTeX:
@software{vcf_rdfizer_2026,
author = {{VCF-RDFizer maintainers}},
title = {VCF-RDFizer},
year = {2026},
version = {3.0.1},
url = {https://github.com/ecrum19/VCF-RDFizer},
note = {Computer software}
}
You can also use the machine-readable citation file: CITATION.cff.
Contributing
Contributions are welcome. If you want to improve VCF-RDFizer:
- Open an issue first for bug reports, feature requests, or design changes.
- Fork the repo and create a feature branch from
main. - Keep changes focused and include/update tests for behavior changes.
- Run the unit tests locally before opening a PR:
python3 -m unittest discover -s test -p "test_*_unit.py" -q
- In your PR, include what changed, why it changed, and how you validated it.
- Use clear commit messages (for Docker publish control, include
[publish-docker]only when intended).
Licensing
- Project license:
LICENSE(MIT) - Third-party runtime notices:
THIRD_PARTY_NOTICES.md
Release files for vcf-rdfizer 3.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| vcf_rdfizer-3.0.1.tar.gz | 56.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| vcf_rdfizer-3.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 91.9 kB
Release files / vcf_rdfizer-3.0.1.tar.gz
| Download URL | vcf_rdfizer-3.0.1.tar.gz |
|---|---|
| Size | 56.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1ce577b6d5fc6e2cbc869128d581eae7d668f3d66ce2d716f2de85c19c3bb202
|
|
BLAKE2b-256 checksum How to use checksums |
d5717b7c997c9c51289477d4faa8b50e2d7f2ef4933480c54e6956192ca1f419
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 12, 2026.
Transparency logRelease files / vcf_rdfizer-3.0.1-py3-none-any.whl
| Download URL | vcf_rdfizer-3.0.1-py3-none-any.whl |
|---|---|
| Size | 35.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8544e45b47754171ed9749099e01be75f58013cfb56bfb73b0df44a50eed2792
|
|
BLAKE2b-256 checksum How to use checksums |
aa709a730481e8c488472e9522221d08f5f0b3c4149172f4193c29ea5652ce0f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 12, 2026.
Transparency log