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 hashes)

Uploaded Source

Built Distribution

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

Uploaded Python 3

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