Skip to main content

Curve fitting algorithms for bio-assays with scikit-learn api

Project description

bio-curve-fit

A Python package for fitting common dose-response and standard curve models. Designed to follow the scikit-learn api.

Quickstart

Installation

pip install bio-curve-fit

We recommend using python virtual environments to manage your python packages in an isolated environment. Example:

python -m venv venvname
source venvname/bin/activate

Example usage:

from bio_curve_fit.logistic import FourParamLogistic

# Instantiate model
model = FourParamLogistic()

# create some example data
standard_concentrations = [1, 2, 3, 4, 5]
standard_responses = [0.5, 0.55, 0.9, 1.25, 1.55]


# fit the model
model.fit(
	standard_concentrations, 
	standard_responses, 
)

# interpolate the response for new concentrations
model.predict([1.5, 2.5])

# interpolate the concentration for new responses
model.predict_inverse([0.1, 1.0])

Calculate and plot the curve and limits of detection:

plot_standard_curve(standard_concentrations, standard_responses, model, show_plot=True)

standard curve

You can also customize the plot arbitrarily using matplotlib. For example, adding labels to the points:

from adjustText import adjust_text

fig, ax = plot_standard_curve_figure(standard_concentrations, standard_responses, model)
texts = []
for x, y in zip(standard_concentrations, standard_responses):
	texts.append(ax.text(x, y, f"x={x:.2f}, y={y:.2f})", fontsize=13, ha="right"))
# Adjust text labels to avoid overlap
adjust_text(texts, ax=ax)

standard curve with labels

Examples

See the example notebooks for more detailed usage.

Contributing

Contributions are welcome! We built this package to be useful for our own work, but we know there is more to add. Please see CONTRIBUTING.md for more information.

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

bio_curve_fit-1.1.2.tar.gz (797.3 kB view details)

Uploaded Source

Built Distribution

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

bio_curve_fit-1.1.2-py3-none-any.whl (14.3 kB view details)

Uploaded Python 3

File details

Details for the file bio_curve_fit-1.1.2.tar.gz.

File metadata

  • Download URL: bio_curve_fit-1.1.2.tar.gz
  • Upload date:
  • Size: 797.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for bio_curve_fit-1.1.2.tar.gz
Algorithm Hash digest
SHA256 88e0311c10a7d4389464e5413765d24a1ed9b03ffae3541c5f15801da606dd38
MD5 26d274ce0df3cab397f5bc7e19b97402
BLAKE2b-256 dca7c83a02b0ac3183042f21242e2a4a3a4e94b155c422fee74d510fa34e9da6

See more details on using hashes here.

File details

Details for the file bio_curve_fit-1.1.2-py3-none-any.whl.

File metadata

  • Download URL: bio_curve_fit-1.1.2-py3-none-any.whl
  • Upload date:
  • Size: 14.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for bio_curve_fit-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 901de258cfcdca40178b4732e16dc2750a069834a7f9136560766a71d95c5af1
MD5 9fc0f5d95feb452b68c293736be2db9e
BLAKE2b-256 600f4c680e9b47f59fd8e49a4d8c9017be84096bda79a20a6c5799b90d343b4b

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