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.1.tar.gz (796.9 kB view details)

Uploaded Source

Built Distribution

bio_curve_fit-1.1.1-py3-none-any.whl (14.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: bio_curve_fit-1.1.1.tar.gz
  • Upload date:
  • Size: 796.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.19

File hashes

Hashes for bio_curve_fit-1.1.1.tar.gz
Algorithm Hash digest
SHA256 5a4b088cc2c8708d992d916dca904ef5b8539c4d8e13abcd6464981c4ee30192
MD5 3df1b721e28db3be11dc941f3da079fe
BLAKE2b-256 7f5f0d26466ae13af8976dee8bd9a49e4eb739e07a72a01a4c37b31b8a4bca0f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bio_curve_fit-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 401f603155b3bf13f681d30531eb2be47e50c25a758be2ad9d1deaf6599e632d
MD5 d060529b5dd9540205d35e1763f798d2
BLAKE2b-256 65a7cc850370bd5291e366d0cb47d1a109a8fec11f2fe90beb660e58e74e7471

See more details on using hashes here.

Supported by

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