Skip to main content

Thunor

Thunor (pronounced THOO-nor) is a free software platform to manage, visualise, and analyse high throughput screen (HTS) data, which measures the dose-dependent response of cells to one or more drugs.

This repository, Thunor Core, is a Python package which can be used for standalone analysis or integration into computational pipelines. There is also a web interface, Thunor Web, built around this package with added database, multi-user capabilities, drag-and-drop upload of cell count data, automatic calculation of dose response curves, and an interactive multi-panelled plot system (demo).

Overview

Thunor makes extensive use of pandas and plotly to manage HTS data at scale.

The data model centres around the thunor.io.HtsPandas container, which internally keeps three aligned tables:

  • doses: per-well experiment annotations (drug identity, cell line, dose)
  • assays: time-series measurements indexed by assay name, well, and timepoint
  • controls: untreated wells stored separately, available for normalisation

A typical analysis looks like this:

from thunor.io import read_hdf
from thunor.dip import dip_rates
from thunor.curve_fit import fit_params
from thunor.plots import plot_drc

dataset = read_hdf('my_data.h5')
ctrl_dip_data, expt_dip_data = dip_rates(dataset)
fp = fit_params(ctrl_dip_data, expt_dip_data)
plot_drc(fp).show()
  1. Load a dataset with read_hdf() or read_vanderbilt_hts().
  2. Derive response metrics with dip_rates() or viability().
  3. Fit dose-response curves with fit_params().
  4. Visualise the result with one of the plotting helpers in thunor.plots.

Input formats

Thunor reads two formats:

  • HDF5 (.h5): the native round-trip format, written by write_hdf().
  • Vanderbilt HTS (.txt/.tsv/.csv): a tab-separated text format where each row is one well at one timepoint.

A minimal Vanderbilt HTS file (columns are tab-separated):

upid    well  cell.line  drug1          drug1.conc  drug1.units  time  cell.count
Plate1  A1    MCF7       Staurosporine  1e-9        M            0     1000
Plate1  A1    MCF7       Staurosporine  1e-9        M            24    1250
Plate1  B1    MCF7                      0           M            0     1010
Plate1  B1    MCF7                      0           M            24    2020

Rows where drug1.conc is 0 are treated as control wells. See the format reference for full column details.

Installation

Thunor Core requires Python 3.11 or later. Install using pip:

pip install thunor

Examples and documentation

View the Thunor Core documentation online, or you can build it locally for offline use. To do so, clone this git repository, then run:

pip install -e '.[docs]'
cd doc
make html

After the build completes, open _build/html/index.html in your web browser.

The docs include:

  • a worked notebook tutorial using hts007, a bundled breast cancer DIP rate screen
  • a Vanderbilt HTS format reference with column definitions and an example
  • an implementation guide covering the internal data model and analysis pipeline
  • API reference pages for I/O, DIP rates, viability, curve fitting, plotting, and format converters

Tutorial

The tutorial walks through a complete DIP rate analysis using hts007, a bundled dataset of 27 drugs tested on 8 breast cancer cell lines with cell count measurements taken over approximately 5 days.

To work through it locally, install the package and open the notebook directly:

pip install thunor
jupyter notebook doc/tutorial.ipynb

Citation

Lubbock A.L.R., Harris L.A., Quaranta V., Tyson D.R., Lopez C.F. Thunor: visualization and analysis of high-throughput dose–response datasets Nucleic Acids Research (2021), gkab424.

Further help and resources

See the Thunor website for further links, documentation and related projects.

Metadata

Release files for thunor 1.0.2

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

Source distribution (sdist)

Source distribution for thunor 1.0.2
File Size Uploaded
thunor-1.0.2.tar.gz 455.4 kB Details

Built distribution (wheel)

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

Total release size: 714.7 kB

Release files / thunor-1.0.2.tar.gz

Download URL thunor-1.0.2.tar.gz
Size 455.4 kB
Tags Source
SHA-256 checksum
How to use checksums
c616dd1d5df9cf277bd3396b177c5c5aaab86fc580502c335df354e17ae814cd
BLAKE2b-256 checksum
How to use checksums
0e83c94d5bd3569dbbd3e819edfdcf2cbd260e51ba34906baa919ddde688b22e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / thunor-1.0.2-py3-none-any.whl

Download URL thunor-1.0.2-py3-none-any.whl
Size 259.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b660b7641a708079a8b0196193ef03afbbb2460484068d51413281797953dfe8
BLAKE2b-256 checksum
How to use checksums
1035e1a7d38a9a39532dc7b5dc5627e3e442d62917c74bd776e746c503858186
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.2 This release

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2

2 release files

0.1.29

2 release files

0.1.28

2 release files

0.1.27

2 release files

0.1.24

1 release file

0.1.23

1 release file

0.1.22

1 release file

0.1.20

1 release file

0.1.19

1 release file

0.1.18

1 release file

0.1.17

1 release file

0.1.16

1 release file

0.1.15

1 release file

0.1.14

1 release file

0.1.13

1 release file

0.1.12

1 release file

0.1.11

1 release file

0.1.10

1 release file

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