Skip to main content

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 · Concepts · 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.

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 Concepts
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
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.

Release files for osteosarc 0.10.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for osteosarc 0.10.0
File Size Uploaded
osteosarc-0.10.0.tar.gz 892.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for osteosarc 0.10.0
File Interpreter ABI Platform
osteosarc-0.10.0-py3-none-any.whl Python 3 none any Details

Total release size: 1.5 MB

Release files / osteosarc-0.10.0.tar.gz

Download URL osteosarc-0.10.0.tar.gz
Size 892.8 kB
Tags Source
SHA-256 checksum
How to use checksums
bd0528c0b07db7c3b1ebfd9960a66a78687d61d3d9be7025578f9d64d162f792
BLAKE2b-256 checksum
How to use checksums
472c65abeae66b9dab269a809a392e1ca9d82fd111c297b380b0e1c452638cd8
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.10.0-py3-none-any.whl

Download URL osteosarc-0.10.0-py3-none-any.whl
Size 581.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8621c7796bd25d016b028042f03f1301cfda90f2e5f905d0dfbfdfb01ab271f6
BLAKE2b-256 checksum
How to use checksums
205f11a09aef2682e0b5acce1c8fe6903875f6075b631694cf996b84c5bdd78c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.6

Release history Release notifications | RSS feed

0.11.1

2 release files

0.11.0

2 release files

This release

0.10.0 This release

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page