Python client for dose-response curve fitting via the Pepkio API
Project description
Pepkio Dose-Response Curve Fitter
Call the Pepkio dose-curve-fitter REST API from Python to batch-fit 4PL/5PL curves and return IC50, pIC50, and QC grades per compound.
What It Does
HTS and pharmacology pipelines need IC50, EC50, pIC50, and Hill slope for many compounds at once. Rebuilding logistic regression and per-compound QC in a notebook for each screen is slow and inconsistent.
This package submits concentration–response data (CSV text or structured compounds arrays) to the same Pepkio Tools engine as the hosted web calculator. It returns fitted model parameters, per-compound metrics, green/amber/red QC grades with plain-English messages, and shareable run permalinks.
Programmatic runs require a network connection and a Pepkio API key. Calculations are not bundled for offline use.
Features
- Models:
four_pl,five_pl, orauto(F-test selects best) - IC50 modes: relative (Top=100, Bottom=0) or absolute with optional
constraints - Weighting:
none,1/y, or1/y2 - Per-compound metrics: IC50, EC50, pIC50, EC10, EC90, Hill slope, R²
- QC grades with plain-English
qc_messages - CSV input via
csv_text(compound_id,concentration,response) - Manifest examples:
hts_batch_absolute,relative_ic50,flat_line_failure,few_points_blocking - CLI:
pepkio-dose-curve-fitter manifestandrun - Configuration via
PEPKIO_API_KEY,LOCAL_PEPKIO_API_KEY, andPEPKIO_API_BASE_URL
Installation
pip install pepkio-dose-curve-fitter
Set an API key with tools:run scope before calling run():
export PEPKIO_API_KEY="your-key"
Create a key in your Pepkio account API keys settings.
Quick Example
from pepkio_dose_curve_fitter import PepkioClient
with PepkioClient() as client:
inp = client.get_example_input("hts_batch_absolute")
result = client.run(inp)
for compound in result.result["compounds"]:
m = compound["metrics"]
print(compound["compound_id"], m["ic50_nM"], m["pIC50"], compound["qc_grade"])
CLI:
pepkio-dose-curve-fitter run --example hts_batch_absolute
Manifest inspection does not require an API key.
Typical Use Cases
- Batch IC50 fitting from a multi-compound HTS CSV
- Kinase inhibitor panel potency with pIC50 for SAR tables
- Comparing
autovs forced 4PL/5PL model selection - QC screening for flat responses or too few dose points before reporting
- Automated reanalysis of dose-response exports in notebooks or CI
Scientific Background
4PL and 5PL logistic models fit sigmoidal concentration–response data. IC50 is the inflection concentration; pIC50 is −log10(IC50). Relative mode fixes Top=100 and Bottom=0; absolute mode estimates plateaus from data. Zero concentration points are excluded. Fewer than four points per compound returns blocking errors.
Web Application
For researchers who prefer a graphical interface, an interactive Dose-Response Curve Fitter is available in the browser.
The web interface adds per-compound curve review, outlier exclusion, bootstrap CI for IC50, SVG/PDF figure export, methods PDF, shareable links, and reload of recent runs.
Documentation and Resources
Source code and issue tracking: github.com/pepkio/pepkio-dose-curve-fitter
Web application: https://www.pepkio.com/tools/dose-curve-fitter
About Pepkio
Pepkio develops software tools and provides bioinformatics analysis services for life science research. See https://www.pepkio.com for additional tools and services.
Keywords
dose-response fitter, IC50 API, EC50 calculator, pIC50, 4PL 5PL, HTS batch fitting, Hill slope, pharmacology Python, pepkio-dose-curve-fitter, REST API curve fit, kinase panel IC50, SAR potency, sigmoidal regression, relative absolute IC50, QC grade dose-response, CSV compound screen, how to fit IC50 from Python HTS data, batch pIC50 SAR table programmatically, auto select 4PL or 5PL via API, flag flat dose-response before reporting IC50, run dose-response fit in CI pipeline Pepkio, compare relative vs absolute IC50 script, EC10 EC90 from logistic fit Python client
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 pepkio_dose_curve_fitter-0.1.0.tar.gz.
File metadata
- Download URL: pepkio_dose_curve_fitter-0.1.0.tar.gz
- Upload date:
- Size: 34.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cce85187a2f8c3ab8e50ef8f16020c3e18da58e6bd3a22bb7bb24fd6dc7596ae
|
|
| MD5 |
3a5f7e536cdda718d742b8c08b5419ba
|
|
| BLAKE2b-256 |
f435b921aee0814111d735c8cfcea431bfed914ae550a304f360b0152db14c8f
|
File details
Details for the file pepkio_dose_curve_fitter-0.1.0-py3-none-any.whl.
File metadata
- Download URL: pepkio_dose_curve_fitter-0.1.0-py3-none-any.whl
- Upload date:
- Size: 8.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1f42a72665868d66fc079e015411ad058216a106e068235a65b735a16910cc7c
|
|
| MD5 |
b245116d896c139c41420d52554a26b8
|
|
| BLAKE2b-256 |
106c26548817ee09d2af4d0c263f3baf43b6b85b34bda655d13a9e82b4fe8eef
|