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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

thunor-1.0.1.tar.gz (455.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

thunor-1.0.1-py3-none-any.whl (259.1 kB view details)

Uploaded Python 3

File details

Details for the file thunor-1.0.1.tar.gz.

File metadata

  • Download URL: thunor-1.0.1.tar.gz
  • Upload date:
  • Size: 455.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for thunor-1.0.1.tar.gz
Algorithm Hash digest
SHA256 f52449969811ff1a0acd642bc98605778508a0edaf384fdaca65a16d66c42ac2
MD5 feb0044014004ad61a6a7bd0de36f7da
BLAKE2b-256 59533298055a7fa737b184e6cc9ca1b44600e0fe10ac562af6f972a0c7b0a40a

See more details on using hashes here.

Provenance

The following attestation bundles were made for thunor-1.0.1.tar.gz:

Publisher: python-publish.yml on alubbock/thunor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file thunor-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: thunor-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 259.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for thunor-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c22e7ac6eac748dbd740d9e8b4071fe7950cc49501c69aaf6e10d8406c91deee
MD5 a8fa8ac11db18c34aec99c29afbd264b
BLAKE2b-256 90f189ba89f26a577a43ec7d26470abde05f2d3f0dc0e34e87ae59a01f2d4121

See more details on using hashes here.

Provenance

The following attestation bundles were made for thunor-1.0.1-py3-none-any.whl:

Publisher: python-publish.yml on alubbock/thunor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

1.0.2

2 files

This release

1.0.1 This release

2 files

1.0.0

2 files

0.3.4

2 files

0.3.3

2 files

0.3.2

2 files

0.3.1

2 files

0.3.0

2 files

0.2.2

2 files

0.2.1

2 files

0.2

2 files

0.1.31.post1

2 files

0.1.30

2 files

0.1.29

2 files

0.1.28

2 files

0.1.27

2 files

0.1.24

1 file

0.1.23

1 file

0.1.22

1 file

0.1.20

1 file

0.1.19

1 file

0.1.18

1 file

0.1.17

1 file

0.1.16

1 file

0.1.15

1 file

0.1.14

1 file

0.1.13

1 file

0.1.12

1 file

0.1.11

1 file

0.1.10

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page