Dose response curve and drug induced proliferation (DIP) rate fits and visualisation
Project description
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 timepointcontrols: 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()
- Load a dataset with
read_hdf()orread_vanderbilt_hts(). - Derive response metrics with
dip_rates()orviability(). - Fit dose-response curves with
fit_params(). - 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 bywrite_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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file thunor-1.0.0.tar.gz.
File metadata
- Download URL: thunor-1.0.0.tar.gz
- Upload date:
- Size: 421.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
96287a54a07fe7812a7a5532ca5ea3e8174ae2399202b5d601914e57549144dd
|
|
| MD5 |
c063e5e48153663fdfdcacce87e80877
|
|
| BLAKE2b-256 |
6a865328be2d57484a749ebe55a8ddc8d275d3bf1d46c9dee44e35046b1a8fe4
|
Provenance
The following attestation bundles were made for thunor-1.0.0.tar.gz:
Publisher:
python-publish.yml on alubbock/thunor
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
thunor-1.0.0.tar.gz -
Subject digest:
96287a54a07fe7812a7a5532ca5ea3e8174ae2399202b5d601914e57549144dd - Sigstore transparency entry: 1294999380
- Sigstore integration time:
-
Permalink:
alubbock/thunor@6804c22e8fc966fef3c01ef6b40b5dad1aabbf89 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/alubbock
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@6804c22e8fc966fef3c01ef6b40b5dad1aabbf89 -
Trigger Event:
push
-
Statement type:
File details
Details for the file thunor-1.0.0-py3-none-any.whl.
File metadata
- Download URL: thunor-1.0.0-py3-none-any.whl
- Upload date:
- Size: 259.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
072a6b21ad1af073f3bc88b1cd8d6bc6dc3d26ef765db2133893b116f2397eb3
|
|
| MD5 |
4a77846380038c0d62742cf92fd21d6f
|
|
| BLAKE2b-256 |
9c3bf0967a9fe58d1fe1e96bb788db0c273e5e252cc6a70f40aeac430269074b
|
Provenance
The following attestation bundles were made for thunor-1.0.0-py3-none-any.whl:
Publisher:
python-publish.yml on alubbock/thunor
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
thunor-1.0.0-py3-none-any.whl -
Subject digest:
072a6b21ad1af073f3bc88b1cd8d6bc6dc3d26ef765db2133893b116f2397eb3 - Sigstore transparency entry: 1294999452
- Sigstore integration time:
-
Permalink:
alubbock/thunor@6804c22e8fc966fef3c01ef6b40b5dad1aabbf89 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/alubbock
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@6804c22e8fc966fef3c01ef6b40b5dad1aabbf89 -
Trigger Event:
push
-
Statement type: