Skip to main content

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, or auto (F-test selects best)
  • IC50 modes: relative (Top=100, Bottom=0) or absolute with optional constraints
  • Weighting: none, 1/y, or 1/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 manifest and run
  • Configuration via PEPKIO_API_KEY, LOCAL_PEPKIO_API_KEY, and PEPKIO_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 auto vs 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


Download files

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

Source Distribution

pepkio_dose_curve_fitter-0.1.0.tar.gz (34.1 kB view details)

Uploaded Source

Built Distribution

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

pepkio_dose_curve_fitter-0.1.0-py3-none-any.whl (8.8 kB view details)

Uploaded Python 3

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

Hashes for pepkio_dose_curve_fitter-0.1.0.tar.gz
Algorithm Hash digest
SHA256 cce85187a2f8c3ab8e50ef8f16020c3e18da58e6bd3a22bb7bb24fd6dc7596ae
MD5 3a5f7e536cdda718d742b8c08b5419ba
BLAKE2b-256 f435b921aee0814111d735c8cfcea431bfed914ae550a304f360b0152db14c8f

See more details on using hashes here.

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

Hashes for pepkio_dose_curve_fitter-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1f42a72665868d66fc079e015411ad058216a106e068235a65b735a16910cc7c
MD5 b245116d896c139c41420d52554a26b8
BLAKE2b-256 106c26548817ee09d2af4d0c263f3baf43b6b85b34bda655d13a9e82b4fe8eef

See more details on using hashes here.

Supported by

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