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 FourPLLogistic

# Instantiate model
model = FourPLLogistic()

# 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-0.2.2.tar.gz (9.9 kB view details)

Uploaded Source

Built Distribution

bio_curve_fit-0.2.2-py3-none-any.whl (10.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: bio_curve_fit-0.2.2.tar.gz
  • Upload date:
  • Size: 9.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.5 Linux/6.5.0-1025-azure

File hashes

Hashes for bio_curve_fit-0.2.2.tar.gz
Algorithm Hash digest
SHA256 eb4baad6906c702aafb72a4418620d9ed400c27a2dec7e8e6436b1593a73fb22
MD5 ef80d258acd01623802d32070f9f1de0
BLAKE2b-256 9666a6a9ab172cc3e33204818afd7842474c61a8d4c7b24f6f8f5e3e15744b01

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bio_curve_fit-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 10.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.5 Linux/6.5.0-1025-azure

File hashes

Hashes for bio_curve_fit-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 628197bb1ceb075b1b1539d7a8aa94c2d8ea26c3d8e44e2df103ab673f8eeb3e
MD5 f24e4ba5d99fa2a1da1d6b658fba87a6
BLAKE2b-256 d91ccad75ccd61d81cd103037a57a354fcbda13684fc9707fb486c60b16669f1

See more details on using hashes here.

Supported by

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