Timeline¶
Treatments, procedures, scans, sample collection, MRD and lab results on one timeline. The examples open your most recent snapshot; see Get started.
Draw it¶
osteosarc timeline --since 2024-05 --until 2024-08
from osteosarc import Dataset
data = Dataset.open()
print(data.timeline.render(since="2024-05", until="2024-08", width=90))
Each treatment gets a row, under its group, with rows for each MRD assay below:
2024
May Jun Jul Aug
Time points T1
Samples collected *
Imaging * ** * ** * *
Procedures
Biopsy * * *
Radiation
Proton therapy =======================
Targeted therapy
DeltaRex-G ============================================
...
Cancer vaccines
Peptide neoantigen vaccine (JLFv2) * * * *
MRD
Signatera o + o + o +
A star is an event or dose, = a treatment that continues, and > one still going. For MRD, + is detected, o not detected, and ~ below the limit of quantification. The whole timeline takes a month per column; a shorter window gets more.
Lab draws, DICOM studies, cytometry, flow draws, pathology slides and sequencing
runs happen too often to chart, so they're left out; the legend says how many.
Add --all (or everything=True) to include them.
What happened around a date¶
osteosarc timeline --around 2025-01-28 --days 5
print(data.timeline.around("2025-01-28", days=5).listing())
This lists every event within five days, one per line, with any corrections.
Filter events¶
mrd = data.timeline.select(category="MRD", since="2025")
print(mrd.render(width=90))
print(data.timeline.select(lane="Cancer vaccines").listing())
Dates can be a year, a month or a day, as in since="2025-01"; a date the site
gives as a month stays a month. On the command line, --lane MRD and
--contains filter the same way, and --list prints one line per event.
Measurements¶
signatera = data.measurements.select(source="mrd", measurement="Signatera")
print([(r["date"], r["kind"], r["value"]) for r in signatera.rows[-5:]])
Lab, cytometry and MRD values keep their published text and units, with a kind: numeric, not detected, below the limit of quantification (the value is then the lab's limit, not a measurement), text or missing.
Where the dates come from¶
The site's events and timeline sheet, sample registry, T0–T3 summary, MRD results, flow-cytometry list, imaging and pathology indexes, and lab and cytometry tables. The Samples collected row marks when each sample was collected.