Skip to main content

Model for fitting data with the Hill equation, and exporting the contents

Project description

PyPI version Actions Status License Downloads pre-commit.ci status Code style: black Imports: isort

Background

The Hill equation is defined as follows:

y = bottom + ((top - bottom) * xnH) / (EC50nH+ xnH)

where bottom is the minimum activity; top is maximum activity; EC50 is the half-maximum effective dose; and nH is the Hill coefficient. The variables x & y are the stimuli dose and the cellular or tissue response. The hillfit module applies this biological equation, and is available with the MIT License.

Usage

installation

The following command are executed in a command prompt/terminal environment:

pip install hillfit

__init__

The data environment, in a Python IDE, is defined:

import hillfit
hf = hillfit.HillFit(x_data, y_data, bottom_param=True)
  • x_data & y_data list or ndarray: specifies the x-values & y-values, respectively, of the raw data that will be fitted with the Hill equation.

  • bottom_param bool: specifies whether the accessory bottom parameter of the Hill equation will be employed in the regression.

fitting()

The parameterized data is fitted to the Hill equation, with the following arguments and their default values:

hf.fitting(x_label='x', y_label='y', title='Fitted Hill equation', sigfigs=6, log_x=False, print_r_sqr=True,
           generate_figure=True, view_figure=True, export_directory=None, export_name=None, figure=True, curve_fit_kws:Optional[dict]=None)
  • x_label & y_label str: specifies the x-axis & y-axis labels, respectively, that will be applied to the regression plot for the raw data points and the fitted Hill equation.

  • title str: specifies the title of the regression plot for the raw data points and the fitted Hill equation.

  • sigfigs int: specifies the number of significant figures that will be used in printed instances of the fitted Hill equation.

  • log_x bool: specifies whether the x-axis of the regression plot will be converted into a logarithmic scale.

  • generate_figure & view_figure bool: specifies whether the regression plot will be generated and printed in the Python environment, respectively.

  • print_r_sqr bool: specifies whether the coefficient of determination (R2) regression plot will be printed in the Python environment.

  • export_name & export_directory str: optionally specifies the folder and the directory to where the contents folder will be exported, where None design a unique folder name for the information in the current working directory.

  • figure bool: specifies whether a figure will be exported with the fitted content.

  • curve_fit_kws Optional[dict]: Keyword arguments to pass to scipy.optimize.curve_fit.

Accessible content

Many data sets and exported components of the fitted information are accessible through the hillfit model object.

  • top, bottom, ec50, & nH float: The fitted parameters of the Hill equation are accessible via hf.top, hf.bottom, hf.ec50, & hf.nH, respectively.

  • R2float: The coefficient of determination of the regression figure is available via hf.r_2.

  • fitted_xs & fitted_ys list: The x- and y-values of the fitted Hill equation are accessible via hf.x_fit & hf.y_fit, respectively.

  • fitted_equation str: The fitted Hill equation, in an amenable string format for the eval() built-in function of Python that allows the user to directly execute the string as a function for an “x” variable, is accessible via hf.equation.

  • figure & ax matplotlib.figure: The fig and ax objects of the regression figure are available via hf.figure & hf.ax, respectively. This allows users to edit the figures after the simulation is conducted.

  • x_data & y_data ndarray: The arrays of original data are available via hf.x_data & hf.y_data, respectively.

export()

The fitted Hill equation, with its data points and parameters, and the regression information are exported to a designated folder through the following syntax and arguments:

hf.export(export_directory=None, export_name=None, figure=True)
  • export_name & export_directory str: optionally specifies the folder and the directory to where the contents folder will be exported, where None design a unique folder name for the information in the current working directory.

  • figure bool: specifies whether a figure will be exported with the fitted content.

Execution

Hillfit is executed through the following example sequence of the aforementioned functions, which is exemplified in the example Notebook of our GitHub repository:

import hillfit
hf = hillfit.HillFit(x_data, y_data)
hf.fitting(x_label='test_x', y_label='test_y', title='Fitted Hill equation', generate_figure=False, export_name="example_contents")

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

hillfit-0.1.7.tar.gz (8.2 kB view details)

Uploaded Source

Built Distribution

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

hillfit-0.1.7-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

Details for the file hillfit-0.1.7.tar.gz.

File metadata

  • Download URL: hillfit-0.1.7.tar.gz
  • Upload date:
  • Size: 8.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.6

File hashes

Hashes for hillfit-0.1.7.tar.gz
Algorithm Hash digest
SHA256 876dd92806ed1edaa485d676ba989988d75654d3689c6dd91c5826e4875fae37
MD5 74cdcc0b3a337c5aa2ca6e6537502734
BLAKE2b-256 472549d76739b54eb2cdf0a29d52c2c3ea8bbb261c2ef17de92d0e139bb8fcc2

See more details on using hashes here.

File details

Details for the file hillfit-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: hillfit-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 8.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.6

File hashes

Hashes for hillfit-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 71f44b40c75c96124c572493f4ce0f0fd27643c095a6a55a1c830be691ab81ec
MD5 73dc79f029ebf675fd9dde4c653126a9
BLAKE2b-256 30aedc22be670ee0a268542bb198dee86873d04a78750ce9f46078fda16af827

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