osteosarc
Python library and command-line tool for the public osteosarc.com dataset: one patient's osteosarcoma sequencing, variant calls, cancer vaccines and clinical history.
- Explore it: every sample and what was sequenced, every file in the bucket, the variant catalogue with its vaccines, and the clinical timeline.
- Make test data from it: pull the reads around a few variants out of a remote BAM into a small local one, without downloading the BAM.
Documentation · Command line · Python API · Changelog
Install
python -m pip install osteosarc
Needs Python 3.9+ on Linux or macOS, and SAMtools on your PATH to fetch reads.
Explore
osteosarc sync # once: about 57 MB of the website's metadata
osteosarc # the snapshot in use, and every command
osteosarc samples # samples and what was sequenced
osteosarc samples T1_tumor # one sample's files, and commands to get them
osteosarc files # what's in the bucket, by kind and folder
osteosarc variants --gene MAP2
osteosarc timeline # treatments, procedures, scans and MRD
Every command prints text for people, or JSON with --json. In Python or a
notebook, everything shows a readable preview; osteosarc repl opens Python with
the data loaded:
from osteosarc import Dataset
data = Dataset.sync() # later: Dataset.open(), offline
data # what's here, and how to get it
data.samples["T1_tumor"]
Make test data
The reads around a variant in each of a sample's RNA-seq BAMs, saved in a folder:
osteosarc reads T0_tumor --assay rna-seq --variant DYNC1H1-chr14-101980529 --padding 100 --to tests/data
Or in Python, for one BAM:
source = data.file("rna-seq/reprocessed/BG003082/BG003082.Aligned.sortedByCoord.out.md.bam")
dync1h1 = data.variants(gene="DYNC1H1", status="ready")
reads = data.extract_reads(source, variants=dync1h1, padding=100, to="tests/data")
print(reads.path)
Only the reads near the variants are fetched, into a small indexed BAM; asking again
reuses it, even offline. For a bundle anyone can rebuild, with a balanced set of reads
at each variant and every record pinned, use osteosarc test-data make; a test then
reads a member with osteosarc.bundle_file(bundle, member). The OpenVax libraries share
one such bundle, openvax-v2.
The website changes over time, so its metadata is saved as dated snapshots:
osteosarc snapshots lists them, and --snapshot 2026-09 picks the newest from that
month. Osteosarc also fixes known errors
in the website's data; osteosarc --no-corrections shows the published values.
Guides
| To | Read |
|---|---|
| Understand samples, variants, coordinates and corrections | Overview |
| Find a sample's files, and download them | Samples and files |
| Get alleles, read counts and vaccine peptides | Variants and vaccines |
| Fetch reads by variant or region | Reads |
| Make a bundle of test reads, or use the shared openvax-v2 | Test data |
| Chart treatments, scans and MRD | Timeline |
| Pass data to Varcode, Isovar, Topiary or Vaxrank | OpenVax libraries |
| Look through 637 candidate structural variants | SV candidates |
Data, license and citation
Code is Apache-2.0. The dataset is listed as CC0-1.0 in the AWS Open Data Registry. Cite the dataset and your access date when using it.
Development
python -m pip install -e '.[test]'
ruff check osteosarc tests scripts
python -m pytest -q
See testing for documentation builds and live-example checks.
Metadata
Release files for osteosarc 0.15.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| osteosarc-0.15.6.tar.gz | 5.4 MB | Without provenance | Details for osteosarc-0.15.6.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| osteosarc-0.15.6-py3-none-any.whl | Python 3 | none | any | Details for osteosarc-0.15.6-py3-none-any.whl |
Total release size: 6.0 MB
Release files / osteosarc-0.15.6.tar.gz
| Download URL | osteosarc-0.15.6.tar.gz |
|---|---|
| Size | 5.4 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a247cc16f618ebaf121536804ae419fed04dd40fae80b1abbe8df5b36e881a5e
|
|
BLAKE2b-256 checksum How to use checksums |
4abb12bf12c8695f7dcdcbbd0eb9519e6ec259602bbb6f9908ba7ca06ed4d645
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.6
|
Release files / osteosarc-0.15.6-py3-none-any.whl
| Download URL | osteosarc-0.15.6-py3-none-any.whl |
|---|---|
| Size | 627.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
575b0b5cf7075c6ddc12f42612547e8229786ea28b403ee46379926d635a01a6
|
|
BLAKE2b-256 checksum How to use checksums |
78b904e9ea4b6a716ef4c9ee2488a4150f206db27b644749705a39c6fbfb875f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.6
|
Security for osteosarc 0.15.6
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.