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. Find files, select variants and vaccine peptides, and fetch reads around a variant without downloading an entire BAM.

Documentation · Key concepts · Command line · Python API · Changelog

Features

  • Browse without downloading. Search nearly 400,000 files by sample, timepoint and assay: bulk and single-cell RNA, exome, genome, Oxford Nanopore and PacBio.
  • Variants and vaccine peptides. Catalogue variants with checked genomic alleles, read counts, pipeline detections, vaccine peptides and ELISPOT results.
  • Reads around a variant. Indexed queries copy only the reads you need from a remote BAM into a cached, indexed local BAM.
  • Corrected by default. 32 documented, evidence-backed fixes to the published data, such as the MAP2 vaccine target's allele. Every load checks them against the snapshot's sources, and you can turn them off.
  • Clinical timeline. Treatments, procedures, imaging, MRD and lab results as a text chart or in an interactive terminal explorer.
  • Reproducible. Metadata snapshots, saved by download date with SHA-256 receipts, reopen offline. The website changes; your results don't, until you sync again.
  • OpenVax integration. Adapters for Varcode, Isovar, Topiary and Vaxrank, versioned read-fixture recipes, and a catalogue of 637 structural-variant candidates.

Install

python -m pip install osteosarc

Requires Python 3.9+ on Linux or macOS. Fetching reads also needs SAMtools on PATH.

Quickstart

from osteosarc import Dataset

data = Dataset.sync()  # Save today's website metadata (about 57 MB)
print(data.describe_samples())

rna = data.assets_for_sample("T0_tumor", kind="alignment", assay="rna-seq")
targets = data.variants(gene="DYNC1H1", status="ready")

source = rna["rna-seq/reprocessed/BG003082/BG003082.Aligned.sortedByCoord.out.md.bam"]
reads = data.extract_reads(source, variants=targets, padding=100)
print(reads.path)  # Local indexed BAM

The BAM key is the file's path in the dataset's public S3 bucket. Only the reads near the variants are downloaded, into a small indexed BAM in your local cache.

Later, Dataset.open() reopens your most recent snapshot without a network connection. The website changes over time, so snapshots are saved by download date: osteosarc snapshots lists them, and Dataset.open(date="2026-09") or --snapshot 2026-09 picks the newest from that month. Get started explains each step.

The same workflow from the terminal:

osteosarc sync
osteosarc samples
osteosarc assets --sample T0_tumor --kind alignment --assay rna-seq
osteosarc variants --gene DYNC1H1 --status ready
osteosarc reads rna-seq/reprocessed/BG003082/BG003082.Aligned.sortedByCoord.out.md.bam --variant DYNC1H1-chr14-101980529 --variant DYNC1H1-chr14-102030200 --padding 100
osteosarc explore

osteosarc explore opens an interactive browser for specimens, files, variants and the timeline. Type help for commands and quit to leave.

Guides

I want to… Read
Understand sample IDs, variant status, coordinates and corrections Key concepts
Find RNA, DNA, single-cell or long-read files and read tables Find samples and files
Get alleles, read counts or vaccine peptides Select variants
Fetch, filter or pair reads by variant or region Extract reads
Browse treatments, specimens, MRD and labs Browse the timeline
Pass data to Varcode, Isovar, Topiary or Vaxrank Use other libraries
Build small, verifiable test BAMs Read fixtures
Explore candidate structural variants SV interest catalogue

Data, license and citation

Osteosarc applies source corrections by default. Use Dataset.open(corrections=False) or osteosarc --no-corrections to see the published values.

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.5.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.5.0
File Size Uploaded
osteosarc-0.5.0.tar.gz 882.9 kB Details

Built distribution (wheel)

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

Total release size: 1.5 MB

Release files / osteosarc-0.5.0.tar.gz

Download URL osteosarc-0.5.0.tar.gz
Size 882.9 kB
Tags Source
SHA-256 checksum
How to use checksums
a77894830ee4f379e6e3d913e32309ba66ec6855c77a860ff595e0e30962c3a0
BLAKE2b-256 checksum
How to use checksums
295391a219a8466ab26b52f4be9e7982db6faeb7d591eacba463dabe0bf2f62b
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.5.0-py3-none-any.whl

Download URL osteosarc-0.5.0-py3-none-any.whl
Size 567.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9a047e117c7ee2006acb03bc94b3aa433e7c26d551864cffa9c9777dcf9004c7
BLAKE2b-256 checksum
How to use checksums
ee131850b75ccb71bd009f86a9ba26ce345979f9348f63f0bd777a0a547ea921
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.6.0

2 release files

This release

0.5.0 This release

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