Download sample genome
download_sample_genomeDownload public sample WGS VCFs from Zenodo to test polygenic risk scores without your own data. Optionally auto-normalize to a compute-ready Parquet for immediate use.
Instructions
Download a public sample WGS VCF from Zenodo to try PRS without your own data.
Two whole-genome sequencing (WGS) datasets open-sourced by the just-dna-lite project are pre-configured — download both when you want a multi-person comparison:
sample="anton"— Anton Kulaga's genome (~482 MB, CC0 public domain, Zenodo record 18370498, file: antonkulaga.vcf).sample="livia"— Livia Zaharia's genome (~349 MB, CC-BY-4.0, Zenodo record 19487816, file: SIMHIFQTILQ.hard-filtered.vcf.gz).
Pass record_url (e.g. 'https://zenodo.org/records/18370498') to fetch
any other Zenodo record, and filename to pick a specific file when a
record has several.
The downloaded VCF lands under <cache_dir>/samples/ (or output_dir)
and is a drop-in path for normalize_vcf / compute_prs /
compute_prs_by_trait (including samples=["Anton=<path>", ...]).
auto_normalize defaults to True: the download is normalized to a
reusable Parquet in the same call, so data carries both path (the
raw VCF) and normalized_path — a one-call, compute-ready genotype
source with no separate normalize_vcf round-trip. (Normalization is
idempotent, so a re-download of an already-staged sample is cheap.) Pass
auto_normalize=False to fetch the raw VCF only.
Use list_genomes to see which genomes have already been downloaded
and/or normalized.
Idempotent: if the target VCF already exists with the size Zenodo
reports, the ~hundreds-of-MB download is skipped and the cached file is
reused; likewise a present Parquet skips re-normalization. data echoes
reused_cache (download skipped) and downloaded_bytes (bytes
actually transferred, 0 on a cache hit) so the caller can tell a cache
hit from a fresh fetch. Pass force=True to re-download/re-normalize
regardless.
Returns a PRSJob immediately. When done, result is an OpResult
whose data carries the local path. Poll prs_job_status if
status is still running — the download is hundreds of MB.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| force | No | ||
| sample | No | anton | |
| filename | No | ||
| output_dir | No | ||
| record_url | No | ||
| auto_normalize | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tool | Yes | Tool that created the job. | |
| error | No | Failure message when status is failed. | |
| job_id | Yes | Pass this to prs_job_status until status is done or failed. | |
| result | No | When status is done: the original tool payload (TraitPRSReports, NormalizeResult, OpResult, or a list of PRSResult). Read html_link / result_paths from this object. | |
| status | Yes | queued/running: call prs_job_status. done: read result and html_link. failed: read error. Do not start a second identical compute while queued/running. | |
| message | Yes | Latest progress line. | |
| progress | No | Completed work units, when known. | |
| html_link | No | PRIMARY REPORT DELIVERY TARGET. When set, put this exact value in the user reply as a markdown link and explicitly tell the user to open the interactive report. It is an HTTP URL when available and a file:// URI for local stdio. Never omit, fetch, or paste the HTML. | |
| poll_with | No | Poll this tool with job_id. Optional wait_seconds keeps one poll under typical client timeouts (try 25). | prs_job_status |
| created_at | Yes | UTC timestamp when the job was created. | |
| html_error | No | Optional HTML-generation error. Scores remain valid when this is set. | |
| progress_total | No | Total work units, when known. |